From c5700ce65566bb1c99c72da695cd0bc54746051c Mon Sep 17 00:00:00 2001 From: "PC-20230316NUNE\\Administrator" <2858626794@qq.com> Date: Sun, 29 Sep 2024 20:18:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + JNFrame2/AimingRig.csproj | 1111 ++- JNFrame2/Assembly-CSharp-Editor.csproj | 938 +- JNFrame2/Assembly-CSharp-firstpass.csproj | 1192 +-- JNFrame2/Assembly-CSharp.csproj | 2587 +++--- .../Assets/AssetBundleCollectorSetting.asset | 52 + .../AssetBundleCollectorSetting.asset.meta | 8 + .../Shaders.meta => HotAssets.meta} | 2 +- .../Resource.meta} | 2 +- .../Script.meta} | 2 +- .../Fonts.meta => HotUpdate.meta} | 2 +- JNFrame2/Assets/HotUpdate/HotUpdate.asmdef | 3 + .../HotUpdate.asmdef.meta} | 4 +- .../JNGame/Map/2DPathFinding/Editor.meta | 3 - JNFrame2/Assets/NuGet.config.meta | 11 + JNFrame2/Assets/{ => Resources}/Scenes.meta | 0 .../{ => Resources}/Scenes/JNFrame.meta | 0 .../{ => Resources}/Scenes/JNFrame.unity | 0 .../{ => Resources}/Scenes/JNFrame.unity.meta | 0 .../Scenes/JNFrame/NavMesh-Map.asset | Bin .../Scenes/JNFrame/NavMesh-Map.asset.meta | 0 .../{ => Resources}/Scenes/JNState.unity | 0 .../{ => Resources}/Scenes/JNState.unity.meta | 0 .../Assets/{ => Resources}/Scenes/Main.unity | 0 .../{ => Resources}/Scenes/Main.unity.meta | 0 .../Scenes/MapSampleScene.asset | Bin .../Scenes/MapSampleScene.asset.meta | 0 .../{ => Resources}/Scenes/SampleScene.meta | 0 .../{ => Resources}/Scenes/SampleScene.unity | 0 .../Scenes/SampleScene.unity.meta | 0 .../Assets/Resources/YooAssetSettings.asset | 16 + .../Resources/YooAssetSettings.asset.meta | 8 + .../Assets/Scripts/Service/JNGResService.cs | 1 - .../TextMesh Pro User Guide 2016.pdf | Bin 694398 -> 0 bytes .../Fonts/LiberationSans - OFL.txt | 46 - .../Fonts/LiberationSans - OFL.txt.meta | 8 - .../TextMesh Pro/Fonts/LiberationSans.ttf | Bin 350200 -> 0 bytes .../Fonts/LiberationSans.ttf.meta | 19 - .../Resources/Fonts & Materials.meta | 9 - .../LiberationSans SDF - Drop Shadow.mat | 106 - .../LiberationSans SDF - Drop Shadow.mat.meta | 8 - .../LiberationSans SDF - Fallback.asset | 343 - .../LiberationSans SDF - Fallback.asset.meta | 8 - .../LiberationSans SDF - Outline.mat | 104 - .../LiberationSans SDF - Outline.mat.meta | 8 - .../LiberationSans SDF.asset | 7821 ----------------- .../LiberationSans SDF.asset.meta | 8 - .../LineBreaking Following Characters.txt | 1 - ...LineBreaking Following Characters.txt.meta | 8 - .../LineBreaking Leading Characters.txt | 1 - .../LineBreaking Leading Characters.txt.meta | 8 - .../TextMesh Pro/Resources/Sprite Assets.meta | 9 - .../Resources/Sprite Assets/EmojiOne.asset | 659 -- .../Sprite Assets/EmojiOne.asset.meta | 8 - .../TextMesh Pro/Resources/Style Sheets.meta | 9 - .../Style Sheets/Default Style Sheet.asset | 68 - .../Default Style Sheet.asset.meta | 8 - .../TextMesh Pro/Resources/TMP Settings.asset | 46 - .../Resources/TMP Settings.asset.meta | 8 - .../Shaders/TMP_Bitmap-Custom-Atlas.shader | 143 - .../TMP_Bitmap-Custom-Atlas.shader.meta | 9 - .../Shaders/TMP_Bitmap-Mobile.shader | 145 - .../Shaders/TMP_Bitmap-Mobile.shader.meta | 9 - .../TextMesh Pro/Shaders/TMP_Bitmap.shader | 143 - .../Shaders/TMP_Bitmap.shader.meta | 9 - .../Shaders/TMP_SDF Overlay.shader | 317 - .../Shaders/TMP_SDF Overlay.shader.meta | 9 - .../TextMesh Pro/Shaders/TMP_SDF SSD.shader | 310 - .../Shaders/TMP_SDF SSD.shader.meta | 9 - .../Shaders/TMP_SDF-Mobile Masking.shader | 247 - .../TMP_SDF-Mobile Masking.shader.meta | 9 - .../Shaders/TMP_SDF-Mobile Overlay.shader | 240 - .../TMP_SDF-Mobile Overlay.shader.meta | 9 - .../Shaders/TMP_SDF-Mobile SSD.shader | 106 - .../Shaders/TMP_SDF-Mobile SSD.shader.meta | 9 - .../Shaders/TMP_SDF-Mobile.shader | 240 - .../Shaders/TMP_SDF-Mobile.shader.meta | 9 - .../Shaders/TMP_SDF-Surface-Mobile.shader | 138 - .../TMP_SDF-Surface-Mobile.shader.meta | 9 - .../Shaders/TMP_SDF-Surface.shader | 158 - .../Shaders/TMP_SDF-Surface.shader.meta | 9 - .../TextMesh Pro/Shaders/TMP_SDF.shader | 317 - .../TextMesh Pro/Shaders/TMP_SDF.shader.meta | 9 - .../TextMesh Pro/Shaders/TMP_Sprite.shader | 116 - .../Shaders/TMP_Sprite.shader.meta | 9 - .../Assets/TextMesh Pro/Shaders/TMPro.cginc | 84 - .../TextMesh Pro/Shaders/TMPro.cginc.meta | 9 - .../TextMesh Pro/Shaders/TMPro_Mobile.cginc | 157 - .../Shaders/TMPro_Mobile.cginc.meta | 9 - .../Shaders/TMPro_Properties.cginc | 85 - .../Shaders/TMPro_Properties.cginc.meta | 9 - .../TextMesh Pro/Shaders/TMPro_Surface.cginc | 101 - .../Shaders/TMPro_Surface.cginc.meta | 9 - JNFrame2/Assets/TextMesh Pro/Sprites.meta | 8 - .../Sprites/EmojiOne Attribution.txt | 3 - .../Assets/TextMesh Pro/Sprites/EmojiOne.json | 156 - .../TextMesh Pro/Sprites/EmojiOne.json.meta | 8 - .../Assets/TextMesh Pro/Sprites/EmojiOne.png | Bin 112319 -> 0 bytes .../TextMesh Pro/Sprites/EmojiOne.png.meta | 431 - JNFrame2/Assets/UsePlugins.meta | 8 + JNFrame2/Assets/{ => UsePlugins}/JNGame.meta | 0 JNFrame2/Assets/UsePlugins/JNGame/Editor.meta | 3 + .../JNGame/Editor/2DPathFinding.meta | 3 + .../2DPathFinding}/MapConfigExporter.cs | 0 .../2DPathFinding}/MapConfigExporter.cs.meta | 0 .../2DPathFinding}/NavMeshStaticObstacle.cs | 0 .../NavMeshStaticObstacle.cs.meta | 0 .../JNGame/Editor/DotRecast.meta} | 0 .../Editor/DotRecast}/DotRecastEditor.cs | 0 .../Editor/DotRecast}/DotRecastEditor.cs.meta | 0 .../{ => UsePlugins}/JNGame/Plugins.meta | 2 +- .../JNGame/Plugins/DesperateDevs.meta | 0 .../DesperateDevs/DesperateDevs.Caching.dll | Bin .../DesperateDevs.Caching.dll.meta | 0 .../DesperateDevs.Extensions.dll | Bin .../DesperateDevs.Extensions.dll.meta | 0 .../DesperateDevs.Reflection.dll | Bin .../DesperateDevs.Reflection.dll.meta | 0 .../DesperateDevs.Serialization.dll | Bin .../DesperateDevs.Serialization.dll.meta | 0 .../DesperateDevs/DesperateDevs.Threading.dll | Bin .../DesperateDevs.Threading.dll.meta | 0 .../DesperateDevs/DesperateDevs.Unity.dll | Bin .../DesperateDevs.Unity.dll.meta | 0 .../JNGame/Plugins/DesperateDevs/Editor.meta | 0 .../Editor/DesperateDevs.Unity.Editor.dll | Bin .../DesperateDevs.Unity.Editor.dll.meta | 0 .../JNGame/Plugins/Entitas.meta | 0 .../JNGame/Plugins/Entitas/Editor.meta | 0 .../Entitas/Editor/Entitas.Unity.Editor.meta | 0 .../Editor/Entitas.Unity.Editor/src.meta | 0 .../src/EntitasPreferencesDrawer.cs | 0 .../src/EntitasPreferencesDrawer.cs.meta | 0 .../src/EntitasPreferencesWindow.cs | 0 .../src/EntitasPreferencesWindow.cs.meta | 0 .../Entitas.Unity.Editor/src/Images.meta | 0 .../src/Images/EntitasHeader.png | 0 .../src/Images/EntitasHeader.png.meta | 0 .../Editor/Entitas.Unity.Editor/src/Menu.meta | 0 .../src/Menu/CheckForUpdates.cs | 0 .../src/Menu/CheckForUpdates.cs.meta | 0 .../src/Menu/EntitasMenuItems.cs | 0 .../src/Menu/EntitasMenuItems.cs.meta | 0 .../Entitas.VisualDebugging.Unity.Editor.meta | 0 .../src.meta | 0 .../src/ContextObserver.meta | 0 .../ContextObserverInspector.cs | 0 .../ContextObserverInspector.cs.meta | 0 .../src/DebugSystems.meta | 0 .../src/DebugSystems/DebugSystemsInspector.cs | 0 .../DebugSystemsInspector.cs.meta | 0 .../src/EntitasHierarchyIcon.cs | 0 .../src/EntitasHierarchyIcon.cs.meta | 0 .../src/EntitasStats.cs | 0 .../src/EntitasStats.cs.meta | 0 .../src/Entity.meta | 0 .../src/Entity/DefaultInstanceCreator.meta | 0 .../DefaultArrayCreator.cs | 0 .../DefaultArrayCreator.cs.meta | 0 .../DefaultStringCreator.cs | 0 .../DefaultStringCreator.cs.meta | 0 .../IDefaultInstanceCreator.cs | 0 .../IDefaultInstanceCreator.cs.meta | 0 .../src/Entity/Entity.meta | 0 .../src/Entity/Entity/EntityDrawer.cs | 0 .../src/Entity/Entity/EntityDrawer.cs.meta | 0 .../src/Entity/Entity/EntityDrawerState.cs | 0 .../Entity/Entity/EntityDrawerState.cs.meta | 0 .../src/Entity/Entity/EntityInspector.cs | 0 .../src/Entity/Entity/EntityInspector.cs.meta | 0 .../src/Entity/IComponentDrawer.cs | 0 .../src/Entity/IComponentDrawer.cs.meta | 0 .../src/Entity/TypeDrawer.meta | 0 .../TypeDrawer/AnimationCurveTypeDrawer.cs | 0 .../AnimationCurveTypeDrawer.cs.meta | 0 .../src/Entity/TypeDrawer/ArrayTypeDrawer.cs | 0 .../Entity/TypeDrawer/ArrayTypeDrawer.cs.meta | 0 .../src/Entity/TypeDrawer/BoolTypeDrawer.cs | 0 .../Entity/TypeDrawer/BoolTypeDrawer.cs.meta | 0 .../src/Entity/TypeDrawer/BoundsTypeDrawer.cs | 0 .../TypeDrawer/BoundsTypeDrawer.cs.meta | 0 .../src/Entity/TypeDrawer/CharTypeDrawer.cs | 0 .../Entity/TypeDrawer/CharTypeDrawer.cs.meta | 0 .../src/Entity/TypeDrawer/ColorTypeDrawer.cs | 0 .../Entity/TypeDrawer/ColorTypeDrawer.cs.meta | 0 .../Entity/TypeDrawer/DateTimeTypeDrawer.cs | 0 .../TypeDrawer/DateTimeTypeDrawer.cs.meta | 0 .../Entity/TypeDrawer/DictionaryTypeDrawer.cs | 0 .../TypeDrawer/DictionaryTypeDrawer.cs.meta | 0 .../src/Entity/TypeDrawer/DoubleTypeDrawer.cs | 0 .../TypeDrawer/DoubleTypeDrawer.cs.meta | 0 .../src/Entity/TypeDrawer/EnumTypeDrawer.cs | 0 .../Entity/TypeDrawer/EnumTypeDrawer.cs.meta | 0 .../src/Entity/TypeDrawer/FloatTypeDrawer.cs | 0 .../Entity/TypeDrawer/FloatTypeDrawer.cs.meta | 0 .../Entity/TypeDrawer/HashSetTypeDrawer.cs | 0 .../TypeDrawer/HashSetTypeDrawer.cs.meta | 0 .../src/Entity/TypeDrawer/ITypeDrawer.cs | 0 .../src/Entity/TypeDrawer/ITypeDrawer.cs.meta | 0 .../src/Entity/TypeDrawer/IntTypeDrawer.cs | 0 .../Entity/TypeDrawer/IntTypeDrawer.cs.meta | 0 .../src/Entity/TypeDrawer/ListTypeDrawer.cs | 0 .../Entity/TypeDrawer/ListTypeDrawer.cs.meta | 0 .../src/Entity/TypeDrawer/RectTypeDrawer.cs | 0 .../Entity/TypeDrawer/RectTypeDrawer.cs.meta | 0 .../src/Entity/TypeDrawer/StringTypeDrawer.cs | 0 .../TypeDrawer/StringTypeDrawer.cs.meta | 0 .../TypeDrawer/UnityObjectTypeDrawer.cs | 0 .../TypeDrawer/UnityObjectTypeDrawer.cs.meta | 0 .../Entity/TypeDrawer/Vector2TypeDrawer.cs | 0 .../TypeDrawer/Vector2TypeDrawer.cs.meta | 0 .../Entity/TypeDrawer/Vector3TypeDrawer.cs | 0 .../TypeDrawer/Vector3TypeDrawer.cs.meta | 0 .../Entity/TypeDrawer/Vector4TypeDrawer.cs | 0 .../TypeDrawer/Vector4TypeDrawer.cs.meta | 0 .../src/EntityLinkInspector.cs | 0 .../src/EntityLinkInspector.cs.meta | 0 .../src/Images.meta | 0 .../EntitasContextErrorHierarchyIcon.png | 0 .../EntitasContextErrorHierarchyIcon.png.meta | 0 .../Images/EntitasContextHierarchyIcon.png | 0 .../EntitasContextHierarchyIcon.png.meta | 0 .../EntitasEntityErrorHierarchyIcon.png | 0 .../EntitasEntityErrorHierarchyIcon.png.meta | 0 .../src/Images/EntitasEntityHierarchyIcon.png | 0 .../EntitasEntityHierarchyIcon.png.meta | 0 .../Images/EntitasEntityLinkHierarchyIcon.png | 0 .../EntitasEntityLinkHierarchyIcon.png.meta | 0 .../EntitasEntityLinkWarnHierarchyIcon.png | 0 ...ntitasEntityLinkWarnHierarchyIcon.png.meta | 0 .../Images/EntitasSystemsHierarchyIcon.png | 0 .../EntitasSystemsHierarchyIcon.png.meta | 0 .../EntitasSystemsWarnHierarchyIcon.png | 0 .../EntitasSystemsWarnHierarchyIcon.png.meta | 0 .../src/VisualDebuggingConfig.cs | 0 .../src/VisualDebuggingConfig.cs.meta | 0 .../src/VisualDebuggingEntitasExtension.cs | 0 .../VisualDebuggingEntitasExtension.cs.meta | 0 .../src/VisualDebuggingPreferencesDrawer.cs | 0 .../VisualDebuggingPreferencesDrawer.cs.meta | 0 .../Entitas.CodeGeneration.Attributes.meta | 0 .../src.meta | 0 .../src/CleanupAttribute.cs | 0 .../src/CleanupAttribute.cs.meta | 0 .../src/ComponentNameAttribute.cs | 0 .../src/ComponentNameAttribute.cs.meta | 0 .../src/ContextAttribute.cs | 0 .../src/ContextAttribute.cs.meta | 0 .../src/CustomEntityIndexAttribute.cs | 0 .../src/CustomEntityIndexAttribute.cs.meta | 0 .../src/DontGenerateAttribute.cs | 0 .../src/DontGenerateAttribute.cs.meta | 0 .../Entitas.CodeGeneration.Attributes.csproj | 0 ...itas.CodeGeneration.Attributes.csproj.meta | 0 .../src/EntityIndex.meta | 0 .../AbstractEntityIndexAttribute.cs | 0 .../AbstractEntityIndexAttribute.cs.meta | 0 .../src/EntityIndex/EntityIndexAttribute.cs | 0 .../EntityIndex/EntityIndexAttribute.cs.meta | 0 .../EntityIndexGetMethodAttribute.cs | 0 .../EntityIndexGetMethodAttribute.cs.meta | 0 .../src/EntityIndex/EntityIndexType.cs | 0 .../src/EntityIndex/EntityIndexType.cs.meta | 0 .../PrimaryEntityIndexAttribute.cs | 0 .../PrimaryEntityIndexAttribute.cs.meta | 0 .../src/EventAttribute.cs | 0 .../src/EventAttribute.cs.meta | 0 .../src/FlagPrefixAttribute.cs | 0 .../src/FlagPrefixAttribute.cs.meta | 0 .../src/PostConstructorAttribute.cs | 0 .../src/PostConstructorAttribute.cs.meta | 0 .../src/UniqueAttribute.cs | 0 .../src/UniqueAttribute.cs.meta | 0 .../JNGame/Plugins/Entitas/Entitas.Unity.meta | 0 .../Plugins/Entitas/Entitas.Unity/src.meta | 0 .../Entitas/Entitas.Unity/src/EntityLink.cs | 0 .../Entitas.Unity/src/EntityLink.cs.meta | 0 .../Entitas.VisualDebugging.Unity.meta | 0 .../Entitas.VisualDebugging.Unity/src.meta | 0 .../src/ContextObserver.meta | 0 .../src/ContextObserver/ContextObserver.cs | 0 .../ContextObserver/ContextObserver.cs.meta | 0 .../ContextObserverBehaviour.cs | 0 .../ContextObserverBehaviour.cs.meta | 0 .../ContextObserverExtension.cs | 0 .../ContextObserverExtension.cs.meta | 0 .../src/DebugSystems.meta | 0 .../src/DebugSystems/DebugSystems.cs | 0 .../src/DebugSystems/DebugSystems.cs.meta | 0 .../src/DebugSystems/DebugSystemsBehaviour.cs | 0 .../DebugSystemsBehaviour.cs.meta | 0 .../src/DebugSystems/SystemInfo.cs | 0 .../src/DebugSystems/SystemInfo.cs.meta | 0 .../src/Entity.meta | 0 .../src/Entity/DontDrawComponentAttribute.cs | 0 .../Entity/DontDrawComponentAttribute.cs.meta | 0 .../src/Entity/EntityBehaviour.cs | 0 .../src/Entity/EntityBehaviour.cs.meta | 0 .../src/GameObjectDestroyExtension.cs | 0 .../src/GameObjectDestroyExtension.cs.meta | 0 .../JNGame/Plugins/Entitas/Entitas.meta | 0 .../JNGame/Plugins/Entitas/Entitas/src.meta | 0 .../Entitas/Entitas/src/Collector.meta | 0 .../Entitas/src/Collector/Collector.cs | 0 .../Entitas/src/Collector/Collector.cs.meta | 0 .../Collector/CollectorContextExtension.cs | 0 .../CollectorContextExtension.cs.meta | 0 .../src/Collector/CollectorException.cs | 0 .../src/Collector/CollectorException.cs.meta | 0 .../Entitas/src/Collector/ICollector.cs | 0 .../Entitas/src/Collector/ICollector.cs.meta | 0 .../Entitas/src/Collector/TriggerOnEvent.cs | 0 .../src/Collector/TriggerOnEvent.cs.meta | 0 .../TriggerOnEventMatcherExtension.cs | 0 .../TriggerOnEventMatcherExtension.cs.meta | 0 .../Plugins/Entitas/Entitas/src/Context.meta | 0 .../Entitas/Entitas/src/Context/Context.cs | 0 .../Entitas/src/Context/Context.cs.meta | 0 .../Entitas/src/Context/ContextExtension.cs | 0 .../src/Context/ContextExtension.cs.meta | 0 .../Entitas/src/Context/Exceptions.meta | 0 .../ContextDoesNotContainEntityException.cs | 0 ...ntextDoesNotContainEntityException.cs.meta | 0 ...extEntityIndexDoesAlreadyExistException.cs | 0 ...tityIndexDoesAlreadyExistException.cs.meta | 0 ...ContextEntityIndexDoesNotExistException.cs | 0 ...xtEntityIndexDoesNotExistException.cs.meta | 0 .../Exceptions/ContextInfoException.cs | 0 .../Exceptions/ContextInfoException.cs.meta | 0 ...ontextStillHasRetainedEntitiesException.cs | 0 ...tStillHasRetainedEntitiesException.cs.meta | 0 .../EntityIsNotDestroyedException.cs | 0 .../EntityIsNotDestroyedException.cs.meta | 0 .../Entitas/Entitas/src/Context/IContext.cs | 0 .../Entitas/src/Context/IContext.cs.meta | 0 .../Entitas/Entitas/src/Context/IContexts.cs | 0 .../Entitas/src/Context/IContexts.cs.meta | 0 .../Entitas/Entitas/src/ContextInfo.cs | 0 .../Entitas/Entitas/src/ContextInfo.cs.meta | 0 .../Entitas/Entitas/src/EntitasException.cs | 0 .../Entitas/src/EntitasException.cs.meta | 0 .../Entitas/Entitas/src/EntitasResources.cs | 0 .../Entitas/src/EntitasResources.cs.meta | 0 .../Plugins/Entitas/Entitas/src/Entity.meta | 0 .../Entitas/Entitas/src/Entity/Entity.cs | 0 .../Entitas/Entitas/src/Entity/Entity.cs.meta | 0 .../src/Entity/EntityEqualityComparer.cs | 0 .../src/Entity/EntityEqualityComparer.cs.meta | 0 .../Entitas/src/Entity/Exceptions.meta | 0 .../EntityAlreadyHasComponentException.cs | 0 ...EntityAlreadyHasComponentException.cs.meta | 0 .../EntityDoesNotHaveComponentException.cs | 0 ...ntityDoesNotHaveComponentException.cs.meta | 0 ...EntityIsAlreadyRetainedByOwnerException.cs | 0 ...yIsAlreadyRetainedByOwnerException.cs.meta | 0 .../Exceptions/EntityIsNotEnabledException.cs | 0 .../EntityIsNotEnabledException.cs.meta | 0 .../EntityIsNotRetainedByOwnerException.cs | 0 ...ntityIsNotRetainedByOwnerException.cs.meta | 0 .../Entitas/Entitas/src/Entity/IAERC.cs | 0 .../Entitas/Entitas/src/Entity/IAERC.cs.meta | 0 .../Entitas/Entitas/src/Entity/IEntity.cs | 0 .../Entitas/src/Entity/IEntity.cs.meta | 0 .../Entitas/Entitas/src/Entity/SafeAERC.cs | 0 .../Entitas/src/Entity/SafeAERC.cs.meta | 0 .../Entitas/Entitas/src/Entity/UnsafeAERC.cs | 0 .../Entitas/src/Entity/UnsafeAERC.cs.meta | 0 .../Entitas/Entitas/src/EntityIndex.meta | 0 .../src/EntityIndex/AbstractEntityIndex.cs | 0 .../EntityIndex/AbstractEntityIndex.cs.meta | 0 .../Entitas/src/EntityIndex/EntityIndex.cs | 0 .../src/EntityIndex/EntityIndex.cs.meta | 0 .../src/EntityIndex/EntityIndexException.cs | 0 .../EntityIndex/EntityIndexException.cs.meta | 0 .../Entitas/src/EntityIndex/IEntityIndex.cs | 0 .../src/EntityIndex/IEntityIndex.cs.meta | 0 .../src/EntityIndex/PrimaryEntityIndex.cs | 0 .../EntityIndex/PrimaryEntityIndex.cs.meta | 0 .../Entitas/Entitas/src/Extensions.meta | 0 .../src/Extensions/CollectionExtension.cs | 0 .../Extensions/CollectionExtension.cs.meta | 0 .../src/Extensions/EntitasStringExtension.cs | 0 .../Extensions/EntitasStringExtension.cs.meta | 0 .../PublicMemberInfoEntityExtension.cs | 0 .../PublicMemberInfoEntityExtension.cs.meta | 0 .../Plugins/Entitas/Entitas/src/Group.meta | 0 .../Entitas/Entitas/src/Group/Group.cs | 0 .../Entitas/Entitas/src/Group/Group.cs.meta | 0 .../Entitas/Entitas/src/Group/GroupEvent.cs | 0 .../Entitas/src/Group/GroupEvent.cs.meta | 0 .../Entitas/src/Group/GroupExtension.cs | 0 .../Entitas/src/Group/GroupExtension.cs.meta | 0 .../src/Group/GroupSingleEntityException.cs | 0 .../Group/GroupSingleEntityException.cs.meta | 0 .../Entitas/Entitas/src/Group/IGroup.cs | 0 .../Entitas/Entitas/src/Group/IGroup.cs.meta | 0 .../Plugins/Entitas/Entitas/src/IComponent.cs | 0 .../Entitas/Entitas/src/IComponent.cs.meta | 0 .../Plugins/Entitas/Entitas/src/Matcher.meta | 0 .../Entitas/src/Matcher/Interfaces.meta | 0 .../src/Matcher/Interfaces/IAllOfMatcher.cs | 0 .../Matcher/Interfaces/IAllOfMatcher.cs.meta | 0 .../src/Matcher/Interfaces/IAnyOfMatcher.cs | 0 .../Matcher/Interfaces/IAnyOfMatcher.cs.meta | 0 .../Matcher/Interfaces/ICompoundMatcher.cs | 0 .../Interfaces/ICompoundMatcher.cs.meta | 0 .../src/Matcher/Interfaces/IMatcher.cs | 0 .../src/Matcher/Interfaces/IMatcher.cs.meta | 0 .../src/Matcher/Interfaces/INoneOfMatcher.cs | 0 .../Matcher/Interfaces/INoneOfMatcher.cs.meta | 0 .../Entitas/Entitas/src/Matcher/Matcher.cs | 0 .../Entitas/src/Matcher/Matcher.cs.meta | 0 .../Entitas/src/Matcher/MatcherEquals.cs | 0 .../Entitas/src/Matcher/MatcherEquals.cs.meta | 0 .../Entitas/src/Matcher/MatcherException.cs | 0 .../src/Matcher/MatcherException.cs.meta | 0 .../Entitas/src/Matcher/MatcherStatic.cs | 0 .../Entitas/src/Matcher/MatcherStatic.cs.meta | 0 .../Entitas/src/Matcher/MatcherToString.cs | 0 .../src/Matcher/MatcherToString.cs.meta | 0 .../Plugins/Entitas/Entitas/src/Systems.meta | 0 .../Entitas/src/Systems/Interfaces.meta | 0 .../src/Systems/Interfaces/ICleanupSystem.cs | 0 .../Systems/Interfaces/ICleanupSystem.cs.meta | 0 .../src/Systems/Interfaces/IExecuteSystem.cs | 0 .../Systems/Interfaces/IExecuteSystem.cs.meta | 0 .../Systems/Interfaces/IInitializeSystem.cs | 0 .../Interfaces/IInitializeSystem.cs.meta | 0 .../src/Systems/Interfaces/IReactiveSystem.cs | 0 .../Interfaces/IReactiveSystem.cs.meta | 0 .../Entitas/src/Systems/Interfaces/ISystem.cs | 0 .../src/Systems/Interfaces/ISystem.cs.meta | 0 .../src/Systems/Interfaces/ITearDownSystem.cs | 0 .../Interfaces/ITearDownSystem.cs.meta | 0 .../Entitas/Entitas/src/Systems/JobSystem.cs | 0 .../Entitas/src/Systems/JobSystem.cs.meta | 0 .../src/Systems/MultiReactiveSystem.cs | 0 .../src/Systems/MultiReactiveSystem.cs.meta | 0 .../Entitas/src/Systems/ReactiveSystem.cs | 0 .../src/Systems/ReactiveSystem.cs.meta | 0 .../Entitas/Entitas/src/Systems/Systems.cs | 0 .../Entitas/src/Systems/Systems.cs.meta | 0 .../Plugins/Entitas/Entitas/src/version.txt | 0 .../Entitas/Entitas/src/version.txt.meta | 0 .../JNGame/Plugins/Entitas}/Generated.meta | 0 .../Plugins/Entitas}/Generated/Feature.cs | 0 .../Entitas}/Generated/Feature.cs.meta | 0 .../JNGame/Plugins/Jenny.meta | 0 .../JNGame/Plugins/Jenny/Editor.meta | 0 .../JNGame/Plugins/Jenny/Editor/Images.meta | 0 .../Jenny/Editor/Images/Jenny-Header.png | Bin .../Jenny/Editor/Images/Jenny-Header.png.meta | 0 .../Editor/Jenny.Generator.Unity.Editor.dll | Bin .../Jenny.Generator.Unity.Editor.dll.meta | 0 .../Plugins/Jenny/Editor/Jenny.Generator.dll | Bin .../Jenny/Editor/Jenny.Generator.dll.meta | 0 .../JNGame/Plugins/Jenny/Editor/Jenny.dll | Bin .../Plugins/Jenny/Editor/Jenny.dll.meta | 0 .../JNGame/Plugins/Jenny/Editor/Jenny.meta | 0 .../Editor/Jenny/Jenny.Plugins.Unity.dll | Bin .../Editor/Jenny/Jenny.Plugins.Unity.dll.meta | 0 .../Jenny/Editor/Jenny/Jenny.Plugins.dll | Bin .../Jenny/Editor/Jenny/Jenny.Plugins.dll.meta | 0 .../JNGame/Plugins/Sherlog.meta | 0 .../Plugins/Sherlog/Sherlog.Appenders.dll | Bin .../Sherlog/Sherlog.Appenders.dll.meta | 0 .../Plugins/Sherlog/Sherlog.Formatters.dll | Bin .../Sherlog/Sherlog.Formatters.dll.meta | 0 .../JNGame/Plugins/Sherlog/Sherlog.dll | Bin .../JNGame/Plugins/Sherlog/Sherlog.dll.meta | 0 .../JNGame/Plugins/TCPeasy.meta | 0 .../JNGame/Plugins/TCPeasy/TCPeasy.dll | Bin .../JNGame/Plugins/TCPeasy/TCPeasy.dll.meta | 0 .../Assets/UsePlugins/JNGame/Runtime.meta | 3 + .../JNGame/Runtime/Entitas.meta} | 0 .../JNGame/Runtime/Entitas}/JNLookup.cs | 4 +- .../JNGame/Runtime/Entitas}/JNLookup.cs.meta | 0 .../JNGame/Runtime/Entitas}/JNSystemLoad.cs | 2 +- .../Runtime/Entitas}/JNSystemLoad.cs.meta | 0 .../JNGame/Runtime}/JNetGame.cs | 0 .../JNGame/Runtime}/JNetGame.cs.meta | 0 .../JNGame/Runtime}/Map.meta | 0 .../JNGame/Runtime}/Map/2DPathFinding.meta | 0 .../Runtime}/Map/2DPathFinding/BSP.meta | 0 .../Map/2DPathFinding/BSP/BspTree.UnityExt.cs | 0 .../BSP/BspTree.UnityExt.cs.meta | 0 .../Runtime}/Map/2DPathFinding/BSP/BspTree.cs | 0 .../Map/2DPathFinding/BSP/BspTree.cs.meta | 0 .../Map/2DPathFinding/BSP/BspTreeNode.cs | 0 .../Map/2DPathFinding/BSP/BspTreeNode.cs.meta | 0 .../Map/2DPathFinding/BSP/ESplitType.cs | 0 .../Map/2DPathFinding/BSP/ESplitType.cs.meta | 0 .../Map/2DPathFinding/BSP/SplitLine.cs | 0 .../Map/2DPathFinding/BSP/SplitLine.cs.meta | 0 .../Map/2DPathFinding/BSP/TriangleRef.cs | 0 .../Map/2DPathFinding/BSP/TriangleRef.cs.meta | 0 .../Map/2DPathFinding/GenMapConfigHelper.cs | 0 .../2DPathFinding/GenMapConfigHelper.cs.meta | 0 .../Runtime}/Map/2DPathFinding/NavMesh.meta | 0 .../Map/2DPathFinding/NavMesh/Geometry.meta | 0 .../NavMesh/Geometry/GeometryUtil.cs | 0 .../NavMesh/Geometry/GeometryUtil.cs.meta | 0 .../2DPathFinding/NavMesh/Geometry/Plane.cs | 0 .../NavMesh/Geometry/Plane.cs.meta | 0 .../Map/2DPathFinding/NavMesh/Geometry/Ray.cs | 0 .../NavMesh/Geometry/Ray.cs.meta | 0 .../Map/2DPathFinding/NavMesh/NavMesh.meta | 0 .../NavMesh/NavMesh/IConnection.cs | 0 .../NavMesh/NavMesh/IConnection.cs.meta | 0 .../2DPathFinding/NavMesh/NavMesh/IGraph.cs | 0 .../NavMesh/NavMesh/IGraph.cs.meta | 0 .../NavMesh/NavMesh/IndexedGraph.cs | 0 .../NavMesh/NavMesh/IndexedGraph.cs.meta | 0 .../NavMesh/NavMesh/NavMeshData.cs | 0 .../NavMesh/NavMesh/NavMeshData.cs.meta | 0 .../NavMesh/NavMesh/NavTriangle.Extension.cs | 0 .../NavMesh/NavTriangle.Extension.cs.meta | 0 .../NavMesh/NavMesh/NavTriangle.cs | 0 .../NavMesh/NavMesh/NavTriangle.cs.meta | 0 .../NavMesh/NavMesh/TriangleEdge.cs | 0 .../NavMesh/NavMesh/TriangleEdge.cs.meta | 0 .../NavMesh/NavMesh/TriangleGraph.cs | 0 .../NavMesh/NavMesh/TriangleGraph.cs.meta | 0 .../NavMesh/TriangleNavMesh.UnityExt.cs | 0 .../NavMesh/TriangleNavMesh.UnityExt.cs.meta | 0 .../NavMesh/NavMesh/TriangleNavMesh.cs | 0 .../NavMesh/NavMesh/TriangleNavMesh.cs.meta | 0 .../Map/2DPathFinding/NavMesh/PathFinder.meta | 0 .../NavMesh/PathFinder/DefaultGraphPath.cs | 0 .../PathFinder/DefaultGraphPath.cs.meta | 0 .../NavMesh/PathFinder/EdgePoint.cs | 0 .../NavMesh/PathFinder/EdgePoint.cs.meta | 0 .../NavMesh/PathFinder/Funnel.cs | 0 .../NavMesh/PathFinder/Funnel.cs.meta | 0 .../NavMesh/PathFinder/IGraphPath.cs | 0 .../NavMesh/PathFinder/IGraphPath.cs.meta | 0 .../NavMesh/PathFinder/IHeuristic.cs | 0 .../NavMesh/PathFinder/IHeuristic.cs.meta | 0 .../NavMesh/PathFinder/IPathFinder.cs | 0 .../NavMesh/PathFinder/IPathFinder.cs.meta | 0 .../PathFinder/IndexedAStarPathFinder.cs | 0 .../PathFinder/IndexedAStarPathFinder.cs.meta | 0 .../NavMesh/PathFinder/NodeBinaryHeap.cs | 0 .../NavMesh/PathFinder/NodeBinaryHeap.cs.meta | 0 .../PathFinder/TriangleEdgeGraphPath.cs | 0 .../PathFinder/TriangleEdgeGraphPath.cs.meta | 0 .../NavMesh/PathFinder/TriangleHeuristic.cs | 0 .../PathFinder/TriangleHeuristic.cs.meta | 0 .../NavMesh/PathFinder/TrianglePointPath.cs | 0 .../PathFinder/TrianglePointPath.cs.meta | 0 .../JNGame/Runtime}/Map/DotRecast.meta | 0 .../Map/DotRecast/DotRecastController.cs | 0 .../Map/DotRecast/DotRecastController.cs.meta | 0 .../Runtime}/Map/DotRecast/DotRecastRoot.cs | 0 .../Map/DotRecast/DotRecastRoot.cs.meta | 0 .../JNGame/Runtime}/Map/DotRecast/Src.meta | 0 .../Map/DotRecast/Src/DotRecast.Core.meta | 0 .../DotRecast/Src/DotRecast.Core/Buffers.meta | 0 .../DotRecast.Core/Buffers/RcCyclicBuffer.cs | 0 .../Buffers/RcCyclicBuffer.cs.meta | 0 .../DotRecast.Core/Buffers/RcCyclicBuffers.cs | 0 .../Buffers/RcCyclicBuffers.cs.meta | 0 .../DotRecast.Core/Buffers/RcRentedArray.cs | 0 .../Buffers/RcRentedArray.cs.meta | 0 .../Src/DotRecast.Core/Collections.meta | 0 .../Collections/CollectionExtensions.cs | 0 .../Collections/CollectionExtensions.cs.meta | 0 .../RcImmutableArray.Enumerable.cs | 0 .../RcImmutableArray.Enumerable.cs.meta | 0 .../Collections/RcImmutableArray.Listable.cs | 0 .../RcImmutableArray.Listable.cs.meta | 0 .../Collections/RcImmutableArray.Minimal.cs | 0 .../RcImmutableArray.Minimal.cs.meta | 0 .../Collections/RcImmutableArray.cs | 0 .../Collections/RcImmutableArray.cs.meta | 0 .../Collections/RcSortedQueue.cs | 0 .../Collections/RcSortedQueue.cs.meta | 0 .../Collections/RcStackArray128.cs | 0 .../Collections/RcStackArray128.cs.meta | 0 .../Collections/RcStackArray16.cs | 0 .../Collections/RcStackArray16.cs.meta | 0 .../Collections/RcStackArray2.cs | 0 .../Collections/RcStackArray2.cs.meta | 0 .../Collections/RcStackArray256.cs | 0 .../Collections/RcStackArray256.cs.meta | 0 .../Collections/RcStackArray32.cs | 0 .../Collections/RcStackArray32.cs.meta | 0 .../Collections/RcStackArray4.cs | 0 .../Collections/RcStackArray4.cs.meta | 0 .../Collections/RcStackArray512.cs | 0 .../Collections/RcStackArray512.cs.meta | 0 .../Collections/RcStackArray64.cs | 0 .../Collections/RcStackArray64.cs.meta | 0 .../Collections/RcStackArray8.cs | 0 .../Collections/RcStackArray8.cs.meta | 0 .../Src/DotRecast.Core/Compression.meta | 0 .../Src/DotRecast.Core/Compression/FastLZ.cs | 0 .../DotRecast.Core/Compression/FastLZ.cs.meta | 0 .../Src/DotRecast.Core/DotRecast.Core.csproj | 0 .../DotRecast.Core/DotRecast.Core.csproj.meta | 0 .../Src/DotRecast.Core/IRcCompressor.cs | 0 .../Src/DotRecast.Core/IRcCompressor.cs.meta | 0 .../DotRecast/Src/DotRecast.Core/IRcRand.cs | 0 .../Src/DotRecast.Core/IRcRand.cs.meta | 0 .../Src/DotRecast.Core/Numerics.meta | 0 .../DotRecast.Core/Numerics/RcMatrix4x4f.cs | 0 .../Numerics/RcMatrix4x4f.cs.meta | 0 .../Src/DotRecast.Core/Numerics/RcVec2f.cs | 0 .../DotRecast.Core/Numerics/RcVec2f.cs.meta | 0 .../Src/DotRecast.Core/Numerics/RcVec3f.cs | 0 .../DotRecast.Core/Numerics/RcVec3f.cs.meta | 0 .../Src/DotRecast.Core/Numerics/RcVecUtils.cs | 0 .../Numerics/RcVecUtils.cs.meta | 0 .../DotRecast/Src/DotRecast.Core/RcArrays.cs | 0 .../Src/DotRecast.Core/RcArrays.cs.meta | 0 .../Src/DotRecast.Core/RcAtomicBoolean.cs | 0 .../DotRecast.Core/RcAtomicBoolean.cs.meta | 0 .../Src/DotRecast.Core/RcAtomicFloat.cs | 0 .../Src/DotRecast.Core/RcAtomicFloat.cs.meta | 0 .../Src/DotRecast.Core/RcAtomicInteger.cs | 0 .../DotRecast.Core/RcAtomicInteger.cs.meta | 0 .../Src/DotRecast.Core/RcAtomicLong.cs | 0 .../Src/DotRecast.Core/RcAtomicLong.cs.meta | 0 .../Src/DotRecast.Core/RcByteBuffer.cs | 0 .../Src/DotRecast.Core/RcByteBuffer.cs.meta | 0 .../Src/DotRecast.Core/RcByteOrder.cs | 0 .../Src/DotRecast.Core/RcByteOrder.cs.meta | 0 .../Src/DotRecast.Core/RcByteUtils.cs | 0 .../Src/DotRecast.Core/RcByteUtils.cs.meta | 0 .../DotRecast/Src/DotRecast.Core/RcContext.cs | 0 .../Src/DotRecast.Core/RcContext.cs.meta | 0 .../Src/DotRecast.Core/RcConvexUtils.cs | 0 .../Src/DotRecast.Core/RcConvexUtils.cs.meta | 0 .../Src/DotRecast.Core/RcDirectory.cs | 0 .../Src/DotRecast.Core/RcDirectory.cs.meta | 0 .../DotRecast/Src/DotRecast.Core/RcEdge.cs | 0 .../Src/DotRecast.Core/RcEdge.cs.meta | 0 .../Src/DotRecast.Core/RcFrequency.cs | 0 .../Src/DotRecast.Core/RcFrequency.cs.meta | 0 .../Src/DotRecast.Core/RcHashCodes.cs | 0 .../Src/DotRecast.Core/RcHashCodes.cs.meta | 0 .../Src/DotRecast.Core/RcIntersections.cs | 0 .../DotRecast.Core/RcIntersections.cs.meta | 0 .../DotRecast/Src/DotRecast.Core/RcMath.cs | 0 .../Src/DotRecast.Core/RcMath.cs.meta | 0 .../Src/DotRecast.Core/RcObjImporter.cs | 0 .../Src/DotRecast.Core/RcObjImporter.cs.meta | 0 .../DotRecast.Core/RcObjImporterContext.cs | 0 .../RcObjImporterContext.cs.meta | 0 .../DotRecast/Src/DotRecast.Core/RcProcess.cs | 0 .../Src/DotRecast.Core/RcProcess.cs.meta | 0 .../DotRecast/Src/DotRecast.Core/RcRand.cs | 0 .../Src/DotRecast.Core/RcRand.cs.meta | 0 .../Src/DotRecast.Core/RcResources.cs | 0 .../Src/DotRecast.Core/RcResources.cs.meta | 0 .../Src/DotRecast.Core/RcScopedTimer.cs | 0 .../Src/DotRecast.Core/RcScopedTimer.cs.meta | 0 .../Src/DotRecast.Core/RcSegmentVert.cs | 0 .../Src/DotRecast.Core/RcSegmentVert.cs.meta | 0 .../DotRecast/Src/DotRecast.Core/RcSpans.cs | 0 .../Src/DotRecast.Core/RcSpans.cs.meta | 0 .../Src/DotRecast.Core/RcTelemetryTick.cs | 0 .../DotRecast.Core/RcTelemetryTick.cs.meta | 0 .../Src/DotRecast.Core/RcThrowHelper.cs | 0 .../Src/DotRecast.Core/RcThrowHelper.cs.meta | 0 .../Src/DotRecast.Core/RcTimerLabel.cs | 0 .../Src/DotRecast.Core/RcTimerLabel.cs.meta | 0 .../DotRecast/Src/DotRecast.Detour.Crowd.meta | 0 .../DotRecast.Detour.Crowd.csproj | 0 .../DotRecast.Detour.Crowd.csproj.meta | 0 .../Src/DotRecast.Detour.Crowd/DtCrowd.cs | 0 .../DotRecast.Detour.Crowd/DtCrowd.cs.meta | 0 .../DotRecast.Detour.Crowd/DtCrowdAgent.cs | 0 .../DtCrowdAgent.cs.meta | 0 .../DtCrowdAgentAnimation.cs | 0 .../DtCrowdAgentAnimation.cs.meta | 0 .../DtCrowdAgentConfig.cs | 0 .../DtCrowdAgentConfig.cs.meta | 0 .../DtCrowdAgentDebugInfo.cs | 0 .../DtCrowdAgentDebugInfo.cs.meta | 0 .../DtCrowdAgentParams.cs | 0 .../DtCrowdAgentParams.cs.meta | 0 .../DtCrowdAgentState.cs | 0 .../DtCrowdAgentState.cs.meta | 0 .../DtCrowdAgentUpdateFlags.cs | 0 .../DtCrowdAgentUpdateFlags.cs.meta | 0 .../DotRecast.Detour.Crowd/DtCrowdConfig.cs | 0 .../DtCrowdConfig.cs.meta | 0 .../DotRecast.Detour.Crowd/DtCrowdConst.cs | 0 .../DtCrowdConst.cs.meta | 0 .../DtCrowdNeighbour.cs | 0 .../DtCrowdNeighbour.cs.meta | 0 .../DtCrowdScopedTimer.cs | 0 .../DtCrowdScopedTimer.cs.meta | 0 .../DtCrowdTelemetry.cs | 0 .../DtCrowdTelemetry.cs.meta | 0 .../DtCrowdTimerLabel.cs | 0 .../DtCrowdTimerLabel.cs.meta | 0 .../DotRecast.Detour.Crowd/DtLocalBoundary.cs | 0 .../DtLocalBoundary.cs.meta | 0 .../DtMoveRequestState.cs | 0 .../DtMoveRequestState.cs.meta | 0 .../DtObstacleAvoidanceDebugData.cs | 0 .../DtObstacleAvoidanceDebugData.cs.meta | 0 .../DtObstacleAvoidanceParams.cs | 0 .../DtObstacleAvoidanceParams.cs.meta | 0 .../DtObstacleAvoidanceQuery.cs | 0 .../DtObstacleAvoidanceQuery.cs.meta | 0 .../DtObstacleCircle.cs | 0 .../DtObstacleCircle.cs.meta | 0 .../DtObstacleSegment.cs | 0 .../DtObstacleSegment.cs.meta | 0 .../DotRecast.Detour.Crowd/DtPathCorridor.cs | 0 .../DtPathCorridor.cs.meta | 0 .../Src/DotRecast.Detour.Crowd/DtPathQuery.cs | 0 .../DtPathQuery.cs.meta | 0 .../DtPathQueryResult.cs | 0 .../DtPathQueryResult.cs.meta | 0 .../Src/DotRecast.Detour.Crowd/DtPathQueue.cs | 0 .../DtPathQueue.cs.meta | 0 .../DotRecast.Detour.Crowd/DtProximityGrid.cs | 0 .../DtProximityGrid.cs.meta | 0 .../Src/DotRecast.Detour.Crowd/DtSegment.cs | 0 .../DotRecast.Detour.Crowd/DtSegment.cs.meta | 0 .../Src/DotRecast.Detour.Dynamic.meta | 0 .../DotRecast.Detour.Dynamic/Colliders.meta | 0 .../Colliders/DtBoxCollider.cs | 0 .../Colliders/DtBoxCollider.cs.meta | 0 .../Colliders/DtCapsuleCollider.cs | 0 .../Colliders/DtCapsuleCollider.cs.meta | 0 .../Colliders/DtCollider.cs | 0 .../Colliders/DtCollider.cs.meta | 0 .../Colliders/DtCompositeCollider.cs | 0 .../Colliders/DtCompositeCollider.cs.meta | 0 .../Colliders/DtConvexTrimeshCollider.cs | 0 .../Colliders/DtConvexTrimeshCollider.cs.meta | 0 .../Colliders/DtCylinderCollider.cs | 0 .../Colliders/DtCylinderCollider.cs.meta | 0 .../Colliders/DtSphereCollider.cs | 0 .../Colliders/DtSphereCollider.cs.meta | 0 .../Colliders/DtTrimeshCollider.cs | 0 .../Colliders/DtTrimeshCollider.cs.meta | 0 .../Colliders/IDtCollider.cs | 0 .../Colliders/IDtCollider.cs.meta | 0 .../DotRecast.Detour.Dynamic.csproj | 0 .../DotRecast.Detour.Dynamic.csproj.meta | 0 .../DtDynamicNavMesh.cs | 0 .../DtDynamicNavMesh.cs.meta | 0 .../DtDynamicNavMeshConfig.cs | 0 .../DtDynamicNavMeshConfig.cs.meta | 0 .../DotRecast.Detour.Dynamic/DtDynamicTile.cs | 0 .../DtDynamicTile.cs.meta | 0 .../DtDynamicTileCheckpoint.cs | 0 .../DtDynamicTileCheckpoint.cs.meta | 0 .../DtDynamicTileColliderAdditionJob.cs | 0 .../DtDynamicTileColliderAdditionJob.cs.meta | 0 .../DtDynamicTileColliderRemovalJob.cs | 0 .../DtDynamicTileColliderRemovalJob.cs.meta | 0 .../DotRecast.Detour.Dynamic/DtVoxelQuery.cs | 0 .../DtVoxelQuery.cs.meta | 0 .../IDtDaynmicTileJob.cs | 0 .../IDtDaynmicTileJob.cs.meta | 0 .../Src/DotRecast.Detour.Dynamic/Io.meta | 0 .../Io/DtVoxelFile.cs | 0 .../Io/DtVoxelFile.cs.meta | 0 .../Io/DtVoxelFileReader.cs | 0 .../Io/DtVoxelFileReader.cs.meta | 0 .../Io/DtVoxelFileWriter.cs | 0 .../Io/DtVoxelFileWriter.cs.meta | 0 .../Io/DtVoxelTile.cs | 0 .../Io/DtVoxelTile.cs.meta | 0 .../Src/DotRecast.Detour.Extras.meta | 0 .../DotRecast.Detour.Extras/BVTreeBuilder.cs | 0 .../BVTreeBuilder.cs.meta | 0 .../DotRecast.Detour.Extras.csproj | 0 .../DotRecast.Detour.Extras.csproj.meta | 0 .../DotRecast.Detour.Extras/DtPolyUtils.cs | 0 .../DtPolyUtils.cs.meta | 0 .../Src/DotRecast.Detour.Extras/Jumplink.meta | 0 .../Jumplink/AbstractGroundSampler.cs | 0 .../Jumplink/AbstractGroundSampler.cs.meta | 0 .../Jumplink/ClimbTrajectory.cs | 0 .../Jumplink/ClimbTrajectory.cs.meta | 0 .../Jumplink/EdgeExtractor.cs | 0 .../Jumplink/EdgeExtractor.cs.meta | 0 .../Jumplink/EdgeSampler.cs | 0 .../Jumplink/EdgeSampler.cs.meta | 0 .../Jumplink/EdgeSamplerFactory.cs | 0 .../Jumplink/EdgeSamplerFactory.cs.meta | 0 .../Jumplink/GroundSample.cs | 0 .../Jumplink/GroundSample.cs.meta | 0 .../Jumplink/GroundSegment.cs | 0 .../Jumplink/GroundSegment.cs.meta | 0 .../Jumplink/IGroundSampler.cs | 0 .../Jumplink/IGroundSampler.cs.meta | 0 .../Jumplink/JumpEdge.cs | 0 .../Jumplink/JumpEdge.cs.meta | 0 .../Jumplink/JumpLink.cs | 0 .../Jumplink/JumpLink.cs.meta | 0 .../Jumplink/JumpLinkBuilder.cs | 0 .../Jumplink/JumpLinkBuilder.cs.meta | 0 .../Jumplink/JumpLinkBuilderConfig.cs | 0 .../Jumplink/JumpLinkBuilderConfig.cs.meta | 0 .../Jumplink/JumpLinkType.cs | 0 .../Jumplink/JumpLinkType.cs.meta | 0 .../Jumplink/JumpSegment.cs | 0 .../Jumplink/JumpSegment.cs.meta | 0 .../Jumplink/JumpSegmentBuilder.cs | 0 .../Jumplink/JumpSegmentBuilder.cs.meta | 0 .../Jumplink/JumpTrajectory.cs | 0 .../Jumplink/JumpTrajectory.cs.meta | 0 .../Jumplink/NavMeshGroundSampler.cs | 0 .../Jumplink/NavMeshGroundSampler.cs.meta | 0 .../Jumplink/PolyQueryInvoker.cs | 0 .../Jumplink/PolyQueryInvoker.cs.meta | 0 .../Jumplink/Trajectory.cs | 0 .../Jumplink/Trajectory.cs.meta | 0 .../Jumplink/TrajectorySampler.cs | 0 .../Jumplink/TrajectorySampler.cs.meta | 0 .../DotRecast.Detour.Extras/ObjExporter.cs | 0 .../ObjExporter.cs.meta | 0 .../Src/DotRecast.Detour.Extras/Unity.meta | 0 .../DotRecast.Detour.Extras/Unity/Astar.meta | 0 .../Unity/Astar/BVTreeCreator.cs | 0 .../Unity/Astar/BVTreeCreator.cs.meta | 0 .../Unity/Astar/GraphConnectionReader.cs | 0 .../Unity/Astar/GraphConnectionReader.cs.meta | 0 .../Unity/Astar/GraphData.cs | 0 .../Unity/Astar/GraphData.cs.meta | 0 .../Unity/Astar/GraphMeshData.cs | 0 .../Unity/Astar/GraphMeshData.cs.meta | 0 .../Unity/Astar/GraphMeshDataReader.cs | 0 .../Unity/Astar/GraphMeshDataReader.cs.meta | 0 .../Unity/Astar/GraphMeta.cs | 0 .../Unity/Astar/GraphMeta.cs.meta | 0 .../Unity/Astar/GraphMetaReader.cs | 0 .../Unity/Astar/GraphMetaReader.cs.meta | 0 .../Unity/Astar/LinkBuilder.cs | 0 .../Unity/Astar/LinkBuilder.cs.meta | 0 .../Unity/Astar/Meta.cs | 0 .../Unity/Astar/Meta.cs.meta | 0 .../Unity/Astar/MetaReader.cs | 0 .../Unity/Astar/MetaReader.cs.meta | 0 .../Unity/Astar/NodeIndexReader.cs | 0 .../Unity/Astar/NodeIndexReader.cs.meta | 0 .../Unity/Astar/NodeLink2.cs | 0 .../Unity/Astar/NodeLink2.cs.meta | 0 .../Unity/Astar/NodeLink2Reader.cs | 0 .../Unity/Astar/NodeLink2Reader.cs.meta | 0 .../Unity/Astar/OffMeshLinkCreator.cs | 0 .../Unity/Astar/OffMeshLinkCreator.cs.meta | 0 .../Astar/UnityAStarPathfindingImporter.cs | 0 .../UnityAStarPathfindingImporter.cs.meta | 0 .../Astar/UnityAStarPathfindingReader.cs | 0 .../Astar/UnityAStarPathfindingReader.cs.meta | 0 .../Unity/Astar/ZipBinaryReader.cs | 0 .../Unity/Astar/ZipBinaryReader.cs.meta | 0 .../Src/DotRecast.Detour.TileCache.meta | 0 .../DotRecast.Detour.TileCache.csproj | 0 .../DotRecast.Detour.TileCache.csproj.meta | 0 .../DtCompressedTile.cs | 0 .../DtCompressedTile.cs.meta | 0 .../DtCompressedTileFlags.cs | 0 .../DtCompressedTileFlags.cs.meta | 0 .../DtLayerMonotoneRegion.cs | 0 .../DtLayerMonotoneRegion.cs.meta | 0 .../DtObstacleRequest.cs | 0 .../DtObstacleRequest.cs.meta | 0 .../DtObstacleRequestAction.cs | 0 .../DtObstacleRequestAction.cs.meta | 0 .../DtObstacleState.cs | 0 .../DtObstacleState.cs.meta | 0 .../DtTempContour.cs | 0 .../DtTempContour.cs.meta | 0 .../DotRecast.Detour.TileCache/DtTileCache.cs | 0 .../DtTileCache.cs.meta | 0 .../DtTileCacheBuilder.cs | 0 .../DtTileCacheBuilder.cs.meta | 0 .../DtTileCacheContour.cs | 0 .../DtTileCacheContour.cs.meta | 0 .../DtTileCacheContourSet.cs | 0 .../DtTileCacheContourSet.cs.meta | 0 .../DtTileCacheLayer.cs | 0 .../DtTileCacheLayer.cs.meta | 0 .../DtTileCacheLayerBuildResult.cs | 0 .../DtTileCacheLayerBuildResult.cs.meta | 0 .../DtTileCacheLayerBuilder.cs | 0 .../DtTileCacheLayerBuilder.cs.meta | 0 .../DtTileCacheLayerHeader.cs | 0 .../DtTileCacheLayerHeader.cs.meta | 0 .../DtTileCacheObstacle.cs | 0 .../DtTileCacheObstacle.cs.meta | 0 .../DtTileCacheObstacleType.cs | 0 .../DtTileCacheObstacleType.cs.meta | 0 .../DtTileCacheParams.cs | 0 .../DtTileCacheParams.cs.meta | 0 .../DtTileCachePolyMesh.cs | 0 .../DtTileCachePolyMesh.cs.meta | 0 .../DtTileCacheStorageParams.cs | 0 .../DtTileCacheStorageParams.cs.meta | 0 .../IDtTileCacheMeshProcess.cs | 0 .../IDtTileCacheMeshProcess.cs.meta | 0 .../Src/DotRecast.Detour.TileCache/Io.meta | 0 .../Io/Compress.meta | 0 .../Compress/DtTileCacheCompressorFactory.cs | 0 .../DtTileCacheCompressorFactory.cs.meta | 0 .../Compress/DtTileCacheFastLzCompressor.cs | 0 .../DtTileCacheFastLzCompressor.cs.meta | 0 .../Compress/IDtTileCacheCompressorFactory.cs | 0 .../IDtTileCacheCompressorFactory.cs.meta | 0 .../Io/DtTileCacheLayerHeaderReader.cs | 0 .../Io/DtTileCacheLayerHeaderReader.cs.meta | 0 .../Io/DtTileCacheLayerHeaderWriter.cs | 0 .../Io/DtTileCacheLayerHeaderWriter.cs.meta | 0 .../Io/DtTileCacheReader.cs | 0 .../Io/DtTileCacheReader.cs.meta | 0 .../Io/DtTileCacheSetHeader.cs | 0 .../Io/DtTileCacheSetHeader.cs.meta | 0 .../Io/DtTileCacheWriter.cs | 0 .../Io/DtTileCacheWriter.cs.meta | 0 .../Map/DotRecast/Src/DotRecast.Detour.meta | 0 .../DotRecast/Src/DotRecast.Detour/BVItem.cs | 0 .../Src/DotRecast.Detour/BVItem.cs.meta | 0 .../Src/DotRecast.Detour/BVItemXComparer.cs | 0 .../DotRecast.Detour/BVItemXComparer.cs.meta | 0 .../Src/DotRecast.Detour/BVItemYComparer.cs | 0 .../DotRecast.Detour/BVItemYComparer.cs.meta | 0 .../Src/DotRecast.Detour/BVItemZComparer.cs | 0 .../DotRecast.Detour/BVItemZComparer.cs.meta | 0 .../Src/DotRecast.Detour/DetourBuilder.cs | 0 .../DotRecast.Detour/DetourBuilder.cs.meta | 0 .../DotRecast.Detour/DotRecast.Detour.csproj | 0 .../DotRecast.Detour.csproj.meta | 0 .../Src/DotRecast.Detour/DtBVNode.cs | 0 .../Src/DotRecast.Detour/DtBVNode.cs.meta | 0 .../Src/DotRecast.Detour/DtConnectPoly.cs | 0 .../DotRecast.Detour/DtConnectPoly.cs.meta | 0 .../DotRecast.Detour/DtConvexConvexInFlag.cs | 0 .../DtConvexConvexInFlag.cs.meta | 0 .../DtConvexConvexIntersection.cs | 0 .../DtConvexConvexIntersection.cs.meta | 0 .../DtConvexConvexIntersections.cs | 0 .../DtConvexConvexIntersections.cs.meta | 0 .../DtDefaultQueryHeuristic.cs | 0 .../DtDefaultQueryHeuristic.cs.meta | 0 .../DotRecast.Detour/DtDetailTriEdgeFlags.cs | 0 .../DtDetailTriEdgeFlags.cs.meta | 0 .../DtFindNearestPolyQuery.cs | 0 .../DtFindNearestPolyQuery.cs.meta | 0 .../Src/DotRecast.Detour/DtFindPathOption.cs | 0 .../DotRecast.Detour/DtFindPathOption.cs.meta | 0 .../Src/DotRecast.Detour/DtFindPathOptions.cs | 0 .../DtFindPathOptions.cs.meta | 0 .../DotRecast/Src/DotRecast.Detour/DtLink.cs | 0 .../Src/DotRecast.Detour/DtLink.cs.meta | 0 .../Src/DotRecast.Detour/DtMeshData.cs | 0 .../Src/DotRecast.Detour/DtMeshData.cs.meta | 0 .../Src/DotRecast.Detour/DtMeshHeader.cs | 0 .../Src/DotRecast.Detour/DtMeshHeader.cs.meta | 0 .../Src/DotRecast.Detour/DtMeshTile.cs | 0 .../Src/DotRecast.Detour/DtMeshTile.cs.meta | 0 .../Src/DotRecast.Detour/DtNavMesh.cs | 0 .../Src/DotRecast.Detour/DtNavMesh.cs.meta | 0 .../Src/DotRecast.Detour/DtNavMeshBuilder.cs | 0 .../DotRecast.Detour/DtNavMeshBuilder.cs.meta | 0 .../DotRecast.Detour/DtNavMeshCreateParams.cs | 0 .../DtNavMeshCreateParams.cs.meta | 0 .../Src/DotRecast.Detour/DtNavMeshParams.cs | 0 .../DotRecast.Detour/DtNavMeshParams.cs.meta | 0 .../Src/DotRecast.Detour/DtNavMeshQuery.cs | 0 .../DotRecast.Detour/DtNavMeshQuery.cs.meta | 0 .../Src/DotRecast.Detour/DtNavMeshRaycast.cs | 0 .../DotRecast.Detour/DtNavMeshRaycast.cs.meta | 0 .../DtNoOpDtPolygonByCircleConstraint.cs | 0 .../DtNoOpDtPolygonByCircleConstraint.cs.meta | 0 .../DotRecast/Src/DotRecast.Detour/DtNode.cs | 0 .../Src/DotRecast.Detour/DtNode.cs.meta | 0 .../Src/DotRecast.Detour/DtNodeFlags.cs | 0 .../Src/DotRecast.Detour/DtNodeFlags.cs.meta | 0 .../Src/DotRecast.Detour/DtNodePool.cs | 0 .../Src/DotRecast.Detour/DtNodePool.cs.meta | 0 .../Src/DotRecast.Detour/DtNodeQueue.cs | 0 .../Src/DotRecast.Detour/DtNodeQueue.cs.meta | 0 .../DotRecast.Detour/DtOffMeshConnection.cs | 0 .../DtOffMeshConnection.cs.meta | 0 .../Src/DotRecast.Detour/DtPathUtils.cs | 0 .../Src/DotRecast.Detour/DtPathUtils.cs.meta | 0 .../DotRecast/Src/DotRecast.Detour/DtPoly.cs | 0 .../Src/DotRecast.Detour/DtPoly.cs.meta | 0 .../Src/DotRecast.Detour/DtPolyDetail.cs | 0 .../Src/DotRecast.Detour/DtPolyDetail.cs.meta | 0 .../Src/DotRecast.Detour/DtPolyPoint.cs | 0 .../Src/DotRecast.Detour/DtPolyPoint.cs.meta | 0 .../Src/DotRecast.Detour/DtPolyTypes.cs | 0 .../Src/DotRecast.Detour/DtPolyTypes.cs.meta | 0 .../Src/DotRecast.Detour/DtQueryData.cs | 0 .../Src/DotRecast.Detour/DtQueryData.cs.meta | 0 .../DotRecast.Detour/DtQueryDefaultFilter.cs | 0 .../DtQueryDefaultFilter.cs.meta | 0 .../DotRecast.Detour/DtQueryEmptyFilter.cs | 0 .../DtQueryEmptyFilter.cs.meta | 0 .../Src/DotRecast.Detour/DtQueryNoOpFilter.cs | 0 .../DtQueryNoOpFilter.cs.meta | 0 .../Src/DotRecast.Detour/DtRaycastHit.cs | 0 .../Src/DotRecast.Detour/DtRaycastHit.cs.meta | 0 .../Src/DotRecast.Detour/DtRaycastOptions.cs | 0 .../DotRecast.Detour/DtRaycastOptions.cs.meta | 0 .../Src/DotRecast.Detour/DtSegInterval.cs | 0 .../DotRecast.Detour/DtSegInterval.cs.meta | 0 .../Src/DotRecast.Detour/DtStatus.cs | 0 .../Src/DotRecast.Detour/DtStatus.cs.meta | 0 .../Src/DotRecast.Detour/DtStraightPath.cs | 0 .../DotRecast.Detour/DtStraightPath.cs.meta | 0 .../DotRecast.Detour/DtStraightPathFlags.cs | 0 .../DtStraightPathFlags.cs.meta | 0 .../DotRecast.Detour/DtStraightPathOption.cs | 0 .../DtStraightPathOption.cs.meta | 0 .../DotRecast.Detour/DtStraightPathOptions.cs | 0 .../DtStraightPathOptions.cs.meta | 0 .../DtStrictDtPolygonByCircleConstraint.cs | 0 ...tStrictDtPolygonByCircleConstraint.cs.meta | 0 .../DotRecast/Src/DotRecast.Detour/DtUtils.cs | 0 .../Src/DotRecast.Detour/DtUtils.cs.meta | 0 .../Src/DotRecast.Detour/IDtPolyQuery.cs | 0 .../Src/DotRecast.Detour/IDtPolyQuery.cs.meta | 0 .../IDtPolygonByCircleConstraint.cs | 0 .../IDtPolygonByCircleConstraint.cs.meta | 0 .../Src/DotRecast.Detour/IDtQueryFilter.cs | 0 .../DotRecast.Detour/IDtQueryFilter.cs.meta | 0 .../Src/DotRecast.Detour/IDtQueryHeuristic.cs | 0 .../IDtQueryHeuristic.cs.meta | 0 .../DotRecast/Src/DotRecast.Detour/Io.meta | 0 .../DotRecast.Detour/Io/DtMeshDataReader.cs | 0 .../Io/DtMeshDataReader.cs.meta | 0 .../DotRecast.Detour/Io/DtMeshDataWriter.cs | 0 .../Io/DtMeshDataWriter.cs.meta | 0 .../DotRecast.Detour/Io/DtMeshSetReader.cs | 0 .../Io/DtMeshSetReader.cs.meta | 0 .../DotRecast.Detour/Io/DtMeshSetWriter.cs | 0 .../Io/DtMeshSetWriter.cs.meta | 0 .../Io/DtNavMeshParamWriter.cs | 0 .../Io/DtNavMeshParamWriter.cs.meta | 0 .../Io/DtNavMeshParamsReader.cs | 0 .../Io/DtNavMeshParamsReader.cs.meta | 0 .../Src/DotRecast.Detour/Io/DtWriter.cs | 0 .../Src/DotRecast.Detour/Io/DtWriter.cs.meta | 0 .../Src/DotRecast.Detour/Io/IOUtils.cs | 0 .../Src/DotRecast.Detour/Io/IOUtils.cs.meta | 0 .../DotRecast.Detour/Io/NavMeshSetHeader.cs | 0 .../Io/NavMeshSetHeader.cs.meta | 0 .../DotRecast.Detour/Io/NavMeshTileHeader.cs | 0 .../Io/NavMeshTileHeader.cs.meta | 0 .../Src/DotRecast.Recast.Toolset.meta | 0 .../Src/DotRecast.Recast.Toolset/Builder.meta | 0 .../Builder/DemoNavMeshBuilder.cs | 0 .../Builder/DemoNavMeshBuilder.cs.meta | 0 .../Builder/NavMeshBuildResult.cs | 0 .../Builder/NavMeshBuildResult.cs.meta | 0 .../Builder/SampleAreaModifications.cs | 0 .../Builder/SampleAreaModifications.cs.meta | 0 .../Builder/SoloNavMeshBuilder.cs | 0 .../Builder/SoloNavMeshBuilder.cs.meta | 0 .../Builder/TileNavMeshBuilder.cs | 0 .../Builder/TileNavMeshBuilder.cs.meta | 0 .../DotRecast.Recast.Toolset.csproj | 0 .../DotRecast.Recast.Toolset.csproj.meta | 0 .../Src/DotRecast.Recast.Toolset/Geom.meta | 0 .../Geom/DemoDtTileCacheMeshProcess.cs | 0 .../Geom/DemoDtTileCacheMeshProcess.cs.meta | 0 .../Geom/DemoInputGeomProvider.cs | 0 .../Geom/DemoInputGeomProvider.cs.meta | 0 .../Src/DotRecast.Recast.Toolset/Gizmos.meta | 0 .../Gizmos/IRcGizmoMeshFilter.cs | 0 .../Gizmos/IRcGizmoMeshFilter.cs.meta | 0 .../Gizmos/RcBoxGizmo.cs | 0 .../Gizmos/RcBoxGizmo.cs.meta | 0 .../Gizmos/RcCapsuleGizmo.cs | 0 .../Gizmos/RcCapsuleGizmo.cs.meta | 0 .../Gizmos/RcCompositeGizmo.cs | 0 .../Gizmos/RcCompositeGizmo.cs.meta | 0 .../Gizmos/RcCylinderGizmo.cs | 0 .../Gizmos/RcCylinderGizmo.cs.meta | 0 .../Gizmos/RcGizmo.cs | 0 .../Gizmos/RcGizmo.cs.meta | 0 .../Gizmos/RcGizmoFactory.cs | 0 .../Gizmos/RcGizmoFactory.cs.meta | 0 .../Gizmos/RcGizmoHelper.cs | 0 .../Gizmos/RcGizmoHelper.cs.meta | 0 .../Gizmos/RcSphereGizmo.cs | 0 .../Gizmos/RcSphereGizmo.cs.meta | 0 .../Gizmos/RcTrimeshGizmo.cs | 0 .../Gizmos/RcTrimeshGizmo.cs.meta | 0 .../DotRecast.Recast.Toolset/IRcToolable.cs | 0 .../IRcToolable.cs.meta | 0 .../RcNavMeshBuildSettings.cs | 0 .../RcNavMeshBuildSettings.cs.meta | 0 .../Src/DotRecast.Recast.Toolset/Tools.meta | 0 .../Tools/RcConvexVolumeTool.cs | 0 .../Tools/RcConvexVolumeTool.cs.meta | 0 .../Tools/RcCrowdAgentData.cs | 0 .../Tools/RcCrowdAgentData.cs.meta | 0 .../Tools/RcCrowdAgentProfilingTool.cs | 0 .../Tools/RcCrowdAgentProfilingTool.cs.meta | 0 .../Tools/RcCrowdAgentProfilingToolConfig.cs | 0 .../RcCrowdAgentProfilingToolConfig.cs.meta | 0 .../Tools/RcCrowdAgentTrail.cs | 0 .../Tools/RcCrowdAgentTrail.cs.meta | 0 .../Tools/RcCrowdAgentType.cs | 0 .../Tools/RcCrowdAgentType.cs.meta | 0 .../Tools/RcCrowdTool.cs | 0 .../Tools/RcCrowdTool.cs.meta | 0 .../Tools/RcCrowdToolMode.cs | 0 .../Tools/RcCrowdToolMode.cs.meta | 0 .../Tools/RcDynamicColliderShape.cs | 0 .../Tools/RcDynamicColliderShape.cs.meta | 0 .../Tools/RcDynamicUpdateTool.cs | 0 .../Tools/RcDynamicUpdateTool.cs.meta | 0 .../Tools/RcDynamicUpdateToolMode.cs | 0 .../Tools/RcDynamicUpdateToolMode.cs.meta | 0 .../Tools/RcJumpLinkBuilderTool.cs | 0 .../Tools/RcJumpLinkBuilderTool.cs.meta | 0 .../Tools/RcJumpLinkBuilderToolConfig.cs | 0 .../Tools/RcJumpLinkBuilderToolConfig.cs.meta | 0 .../Tools/RcObstacleTool.cs | 0 .../Tools/RcObstacleTool.cs.meta | 0 .../Tools/RcOffMeshConnectionTool.cs | 0 .../Tools/RcOffMeshConnectionTool.cs.meta | 0 .../Tools/RcTestNavMeshTool.cs | 0 .../Tools/RcTestNavMeshTool.cs.meta | 0 .../Tools/RcTestNavmeshToolMode.cs | 0 .../Tools/RcTestNavmeshToolMode.cs.meta | 0 .../Tools/RcTileTool.cs | 0 .../Tools/RcTileTool.cs.meta | 0 .../Map/DotRecast/Src/DotRecast.Recast.meta | 0 .../DotRecast.Recast/DotRecast.Recast.csproj | 0 .../DotRecast.Recast.csproj.meta | 0 .../DotRecast/Src/DotRecast.Recast/Geom.meta | 0 .../Src/DotRecast.Recast/Geom/BoundsItem.cs | 0 .../DotRecast.Recast/Geom/BoundsItem.cs.meta | 0 .../Geom/BoundsItemXComparer.cs | 0 .../Geom/BoundsItemXComparer.cs.meta | 0 .../Geom/BoundsItemYComparer.cs | 0 .../Geom/BoundsItemYComparer.cs.meta | 0 .../Geom/DefaultInputGeomProvider.cs | 0 .../Geom/DefaultInputGeomProvider.cs.meta | 0 .../Geom/IInputGeomProvider.cs | 0 .../Geom/IInputGeomProvider.cs.meta | 0 .../DotRecast.Recast/Geom/RcChunkyTriMesh.cs | 0 .../Geom/RcChunkyTriMesh.cs.meta | 0 .../Geom/RcChunkyTriMeshNode.cs | 0 .../Geom/RcChunkyTriMeshNode.cs.meta | 0 .../Geom/RcOffMeshConnection.cs | 0 .../Geom/RcOffMeshConnection.cs.meta | 0 .../Src/DotRecast.Recast/Geom/RcTriMesh.cs | 0 .../DotRecast.Recast/Geom/RcTriMesh.cs.meta | 0 .../Geom/SimpleInputGeomProvider.cs | 0 .../Geom/SimpleInputGeomProvider.cs.meta | 0 .../IRcBuilderProgressListener.cs | 0 .../IRcBuilderProgressListener.cs.meta | 0 .../DotRecast.Recast/RcAreaModification.cs | 0 .../RcAreaModification.cs.meta | 0 .../DotRecast/Src/DotRecast.Recast/RcAreas.cs | 0 .../Src/DotRecast.Recast/RcAreas.cs.meta | 0 .../DotRecast/Src/DotRecast.Recast/RcAxis.cs | 0 .../Src/DotRecast.Recast/RcAxis.cs.meta | 0 .../DotRecast.Recast/RcBuildContoursFlags.cs | 0 .../RcBuildContoursFlags.cs.meta | 0 .../Src/DotRecast.Recast/RcBuilder.cs | 0 .../Src/DotRecast.Recast/RcBuilder.cs.meta | 0 .../Src/DotRecast.Recast/RcBuilderConfig.cs | 0 .../DotRecast.Recast/RcBuilderConfig.cs.meta | 0 .../Src/DotRecast.Recast/RcBuilderResult.cs | 0 .../DotRecast.Recast/RcBuilderResult.cs.meta | 0 .../Src/DotRecast.Recast/RcCommons.cs | 0 .../Src/DotRecast.Recast/RcCommons.cs.meta | 0 .../Src/DotRecast.Recast/RcCompactCell.cs | 0 .../DotRecast.Recast/RcCompactCell.cs.meta | 0 .../DotRecast.Recast/RcCompactHeightfield.cs | 0 .../RcCompactHeightfield.cs.meta | 0 .../Src/DotRecast.Recast/RcCompactSpan.cs | 0 .../DotRecast.Recast/RcCompactSpan.cs.meta | 0 .../DotRecast.Recast/RcCompactSpanBuilder.cs | 0 .../RcCompactSpanBuilder.cs.meta | 0 .../Src/DotRecast.Recast/RcCompacts.cs | 0 .../Src/DotRecast.Recast/RcCompacts.cs.meta | 0 .../Src/DotRecast.Recast/RcConfig.cs | 0 .../Src/DotRecast.Recast/RcConfig.cs.meta | 0 .../Src/DotRecast.Recast/RcConstants.cs | 0 .../Src/DotRecast.Recast/RcConstants.cs.meta | 0 .../Src/DotRecast.Recast/RcContour.cs | 0 .../Src/DotRecast.Recast/RcContour.cs.meta | 0 .../Src/DotRecast.Recast/RcContourHole.cs | 0 .../DotRecast.Recast/RcContourHole.cs.meta | 0 .../DotRecast.Recast/RcContourHoleComparer.cs | 0 .../RcContourHoleComparer.cs.meta | 0 .../Src/DotRecast.Recast/RcContourRegion.cs | 0 .../DotRecast.Recast/RcContourRegion.cs.meta | 0 .../Src/DotRecast.Recast/RcContourSet.cs | 0 .../Src/DotRecast.Recast/RcContourSet.cs.meta | 0 .../Src/DotRecast.Recast/RcContours.cs | 0 .../Src/DotRecast.Recast/RcContours.cs.meta | 0 .../Src/DotRecast.Recast/RcConvexVolume.cs | 0 .../DotRecast.Recast/RcConvexVolume.cs.meta | 0 .../Src/DotRecast.Recast/RcDirtyEntry.cs | 0 .../Src/DotRecast.Recast/RcDirtyEntry.cs.meta | 0 .../RcFilledVolumeRasterization.cs | 0 .../RcFilledVolumeRasterization.cs.meta | 0 .../Src/DotRecast.Recast/RcFilters.cs | 0 .../Src/DotRecast.Recast/RcFilters.cs.meta | 0 .../Src/DotRecast.Recast/RcHeightPatch.cs | 0 .../DotRecast.Recast/RcHeightPatch.cs.meta | 0 .../Src/DotRecast.Recast/RcHeightfield.cs | 0 .../DotRecast.Recast/RcHeightfield.cs.meta | 0 .../DotRecast.Recast/RcHeightfieldLayer.cs | 0 .../RcHeightfieldLayer.cs.meta | 0 .../DotRecast.Recast/RcHeightfieldLayerSet.cs | 0 .../RcHeightfieldLayerSet.cs.meta | 0 .../Src/DotRecast.Recast/RcLayerRegion.cs | 0 .../DotRecast.Recast/RcLayerRegion.cs.meta | 0 .../Src/DotRecast.Recast/RcLayerSweepSpan.cs | 0 .../DotRecast.Recast/RcLayerSweepSpan.cs.meta | 0 .../Src/DotRecast.Recast/RcLayers.cs | 0 .../Src/DotRecast.Recast/RcLayers.cs.meta | 0 .../Src/DotRecast.Recast/RcLevelStackEntry.cs | 0 .../RcLevelStackEntry.cs.meta | 0 .../Src/DotRecast.Recast/RcMeshDetails.cs | 0 .../DotRecast.Recast/RcMeshDetails.cs.meta | 0 .../DotRecast/Src/DotRecast.Recast/RcMeshs.cs | 0 .../Src/DotRecast.Recast/RcMeshs.cs.meta | 0 .../Src/DotRecast.Recast/RcPartition.cs | 0 .../Src/DotRecast.Recast/RcPartition.cs.meta | 0 .../Src/DotRecast.Recast/RcPartitionType.cs | 0 .../DotRecast.Recast/RcPartitionType.cs.meta | 0 .../Src/DotRecast.Recast/RcPolyMesh.cs | 0 .../Src/DotRecast.Recast/RcPolyMesh.cs.meta | 0 .../Src/DotRecast.Recast/RcPolyMeshDetail.cs | 0 .../DotRecast.Recast/RcPolyMeshDetail.cs.meta | 0 .../Src/DotRecast.Recast/RcPolyMeshRaycast.cs | 0 .../RcPolyMeshRaycast.cs.meta | 0 .../DotRecast.Recast/RcPotentialDiagonal.cs | 0 .../RcPotentialDiagonal.cs.meta | 0 .../RcPotentialDiagonalComparer.cs | 0 .../RcPotentialDiagonalComparer.cs.meta | 0 .../Src/DotRecast.Recast/RcRasterizations.cs | 0 .../DotRecast.Recast/RcRasterizations.cs.meta | 0 .../Src/DotRecast.Recast/RcRegion.cs | 0 .../Src/DotRecast.Recast/RcRegion.cs.meta | 0 .../Src/DotRecast.Recast/RcRegions.cs | 0 .../Src/DotRecast.Recast/RcRegions.cs.meta | 0 .../DotRecast/Src/DotRecast.Recast/RcSpan.cs | 0 .../Src/DotRecast.Recast/RcSpan.cs.meta | 0 .../Src/DotRecast.Recast/RcSpanPool.cs | 0 .../Src/DotRecast.Recast/RcSpanPool.cs.meta | 0 .../Src/DotRecast.Recast/RcSweepSpan.cs | 0 .../Src/DotRecast.Recast/RcSweepSpan.cs.meta | 0 .../Src/DotRecast.Recast/RcVoxelizations.cs | 0 .../DotRecast.Recast/RcVoxelizations.cs.meta | 0 .../JNGame/Runtime}/Map/DotRecast/Util.meta | 0 .../Runtime}/Map/DotRecast/Util/MeshData.cs | 0 .../Map/DotRecast/Util/MeshData.cs.meta | 0 .../JNGame/Runtime}/Math.meta | 0 .../JNGame/Runtime}/Math/BaseType.meta | 0 .../JNGame/Runtime}/Math/BaseType/LAxis2D.cs | 0 .../Runtime}/Math/BaseType/LAxis2D.cs.meta | 0 .../JNGame/Runtime}/Math/BaseType/LAxis3D.cs | 0 .../Runtime}/Math/BaseType/LAxis3D.cs.meta | 0 .../Math/BaseType/LFloat.Extension.cs | 0 .../Math/BaseType/LFloat.Extension.cs.meta | 0 .../JNGame/Runtime}/Math/BaseType/LFloat.cs | 0 .../Runtime}/Math/BaseType/LFloat.cs.meta | 0 .../Runtime}/Math/BaseType/LMatrix3x3.cs | 0 .../Runtime}/Math/BaseType/LMatrix3x3.cs.meta | 0 .../Runtime}/Math/BaseType/LQuaternion.cs | 0 .../Math/BaseType/LQuaternion.cs.meta | 0 .../JNGame/Runtime}/Math/BaseType/LRect.cs | 0 .../Runtime}/Math/BaseType/LRect.cs.meta | 0 .../Math/BaseType/LVector.Extension.cs | 0 .../Math/BaseType/LVector.Extension.cs.meta | 0 .../Math/BaseType/LVector.UnityExtension.cs | 0 .../BaseType/LVector.UnityExtension.cs.meta | 0 .../JNGame/Runtime}/Math/BaseType/LVector2.cs | 0 .../Runtime}/Math/BaseType/LVector2.cs.meta | 0 .../Runtime}/Math/BaseType/LVector2Int.cs | 0 .../Math/BaseType/LVector2Int.cs.meta | 0 .../JNGame/Runtime}/Math/BaseType/LVector3.cs | 0 .../Runtime}/Math/BaseType/LVector3.cs.meta | 0 .../Runtime}/Math/BaseType/LVector3Int.cs | 0 .../Math/BaseType/LVector3Int.cs.meta | 0 .../JNGame/Runtime}/Math/HashCodeExtension.cs | 0 .../Runtime}/Math/HashCodeExtension.cs.meta | 0 .../JNGame/Runtime}/Math/LMath.LVector.cs | 0 .../Runtime}/Math/LMath.LVector.cs.meta | 0 .../JNGame/Runtime}/Math/LMath.cs | 0 .../JNGame/Runtime}/Math/LMath.cs.meta | 0 .../JNGame/Runtime}/Math/LRandom.cs | 0 .../JNGame/Runtime}/Math/LRandom.cs.meta | 0 .../JNGame/Runtime}/Math/LUT.meta | 0 .../JNGame/Runtime}/Math/LUT/LUTAcos.cs | 0 .../JNGame/Runtime}/Math/LUT/LUTAcos.cs.meta | 0 .../JNGame/Runtime}/Math/LUT/LUTAsin.cs | 0 .../JNGame/Runtime}/Math/LUT/LUTAsin.cs.meta | 0 .../JNGame/Runtime}/Math/LUT/LUTAtan2.cs | 0 .../JNGame/Runtime}/Math/LUT/LUTAtan2.cs.meta | 0 .../JNGame/Runtime}/Math/LUT/LUTCos.cs | 0 .../JNGame/Runtime}/Math/LUT/LUTCos.cs.meta | 0 .../JNGame/Runtime}/Math/LUT/LUTSin.cs | 0 .../JNGame/Runtime}/Math/LUT/LUTSin.cs.meta | 0 .../JNGame/Runtime}/Math/PrimerLUT.cs | 0 .../JNGame/Runtime}/Math/PrimerLUT.cs.meta | 0 .../JNGame/Runtime}/Network.meta | 0 .../JNGame/Runtime}/Network/Action.meta | 0 .../Runtime}/Network/Action/NActionEnum.cs | 0 .../Network/Action/NActionEnum.cs.meta | 0 .../JNGame/Runtime}/Network/Entity.meta | 0 .../Runtime}/Network/Entity/JNetParam.cs | 0 .../Runtime}/Network/Entity/JNetParam.cs.meta | 0 .../JNGame/Runtime}/Network/Group.meta | 0 .../Runtime}/Network/Group/JNClientGroup.cs | 0 .../Network/Group/JNClientGroup.cs.meta | 0 .../JNGame/Runtime}/Network/JNClientBase.cs | 0 .../Runtime}/Network/JNClientBase.cs.meta | 0 .../JNGame/Runtime}/Network/JNServerBase.cs | 0 .../Runtime}/Network/JNServerBase.cs.meta | 0 .../JNGame/Runtime}/Network/JNSocket.cs | 0 .../JNGame/Runtime}/Network/JNSocket.cs.meta | 0 .../JNGame/Runtime}/Network/JNTCPClient.cs | 0 .../Runtime}/Network/JNTCPClient.cs.meta | 0 .../JNGame/Runtime}/Network/JNTCPServer.cs | 0 .../Runtime}/Network/JNTCPServer.cs.meta | 0 .../JNGame/Runtime}/Network/Proto.meta | 0 .../Runtime}/Network/Proto/JNSyncMessage.cs | 0 .../Network/Proto/JNSyncMessage.cs.meta | 0 .../Network/Proto/JNSyncMessage.proto | 0 .../Network/Proto/JNSyncMessage.proto.meta | 0 .../Runtime}/Network/Proto/NActionMessage.cs | 0 .../Network/Proto/NActionMessage.cs.meta | 0 .../Network/Proto/NActionMessage.proto | 0 .../Network/Proto/NActionMessage.proto.meta | 0 .../JNGame/Runtime}/Network/Util.meta | 0 .../JNGame/Runtime}/Network/Util/NDataUtil.cs | 0 .../Runtime}/Network/Util/NDataUtil.cs.meta | 0 .../JNGame/Runtime}/Sync.meta | 0 .../JNGame/Runtime}/Sync/App.meta | 0 .../JNGame/Runtime}/Sync/App/Frame.meta | 0 .../Sync/App/Frame/JNSyncFrameService.cs | 0 .../Sync/App/Frame/JNSyncFrameService.cs.meta | 0 .../JNGame/Runtime}/Sync/App/State.meta | 0 .../Sync/App/State/JNSStateClientService.cs | 0 .../App/State/JNSStateClientService.cs.meta | 0 .../Sync/App/State/JNSStateServerService.cs | 0 .../App/State/JNSStateServerService.cs.meta | 0 .../JNGame/Runtime}/Sync/App/Tile.meta | 0 .../JNGame/Runtime}/Sync/App/Tile/Entity.meta | 0 .../Sync/App/Tile/Entity/Component.meta | 0 .../Tile/Entity/Component/JNTileComponent.cs | 0 .../Entity/Component/JNTileComponent.cs.meta | 0 .../Sync/App/Tile/Entity/JNTileContext.cs | 0 .../App/Tile/Entity/JNTileContext.cs.meta | 0 .../Sync/App/Tile/Entity/JNTileContexts.cs | 0 .../App/Tile/Entity/JNTileContexts.cs.meta | 0 .../Sync/App/Tile/Entity/JNTileEntity.cs | 0 .../Sync/App/Tile/Entity/JNTileEntity.cs.meta | 0 .../Runtime}/Sync/App/Tile/IJNTileCycle.cs | 0 .../Sync/App/Tile/IJNTileCycle.cs.meta | 0 .../Sync/App/Tile/JNSSTileClientService.cs | 0 .../App/Tile/JNSSTileClientService.cs.meta | 0 .../Tile/JNSSTileServerService.MasterSlave.cs | 0 .../JNSSTileServerService.MasterSlave.cs.meta | 0 .../Sync/App/Tile/JNSSTileServerService.cs | 0 .../App/Tile/JNSSTileServerService.cs.meta | 0 .../Runtime}/Sync/App/Tile/JNSSTileTool.cs | 0 .../Sync/App/Tile/JNSSTileTool.cs.meta | 0 .../JNGame/Runtime}/Sync/Debuger.meta | 0 .../Sync/Debuger/JNTileServerDebuger.cs | 0 .../Sync/Debuger/JNTileServerDebuger.cs.meta | 0 .../JNGame/Runtime}/Sync/Entity.meta | 0 .../Runtime}/Sync/Entity/Component.meta | 0 .../Sync/Entity/Component/Components.meta | 0 .../Components/JNTransformComponent.cs | 0 .../Components/JNTransformComponent.cs.meta | 0 .../Sync/Entity/Component/JNComponent.cs | 0 .../Sync/Entity/Component/JNComponent.cs.meta | 0 .../Sync/Entity/Component/JNEntityLookup.cs | 4 +- .../Entity/Component/JNEntityLookup.cs.meta | 0 .../JNGame/Runtime}/Sync/Entity/JNContext.cs | 0 .../Runtime}/Sync/Entity/JNContext.cs.meta | 0 .../JNGame/Runtime}/Sync/Entity/JNContexts.cs | 0 .../Runtime}/Sync/Entity/JNContexts.cs.meta | 0 .../JNGame/Runtime}/Sync/Entity/JNEntity.cs | 0 .../Runtime}/Sync/Entity/JNEntity.cs.meta | 0 .../JNGame/Runtime}/Sync/IJNSyncCycle.cs | 0 .../JNGame/Runtime}/Sync/IJNSyncCycle.cs.meta | 0 .../JNGame/Runtime}/Sync/IJNSyncId.cs | 0 .../JNGame/Runtime}/Sync/IJNSyncId.cs.meta | 0 .../JNGame/Runtime}/Sync/JNBaseSystem.cs | 0 .../JNGame/Runtime}/Sync/JNBaseSystem.cs.meta | 0 .../Runtime}/Sync/JNSyncDefaultService.cs | 0 .../Sync/JNSyncDefaultService.cs.meta | 0 .../JNGame/Runtime}/Sync/JNSyncService.cs | 0 .../Runtime}/Sync/JNSyncService.cs.meta | 0 .../JNGame/Runtime}/Sync/System.meta | 0 .../JNGame/Runtime}/Sync/System/Data.meta | 0 .../Sync/System/Data/SFrameDataSystem.cs | 0 .../Sync/System/Data/SFrameDataSystem.cs.meta | 0 .../Sync/System/Data/SStateDataSystem.cs | 0 .../Sync/System/Data/SStateDataSystem.cs.meta | 0 .../Sync/System/Data/STileDataSystem.cs | 0 .../Sync/System/Data/STileDataSystem.cs.meta | 0 .../JNGame/Runtime}/Sync/System/Logic.meta | 0 .../Sync/System/Logic/JNInputSystem.cs | 0 .../Sync/System/Logic/JNInputSystem.cs.meta | 0 .../Sync/System/Logic/JNRandomSystem.cs | 0 .../Sync/System/Logic/JNRandomSystem.cs.meta | 0 .../Runtime}/Sync/System/SBaseSystem.cs | 0 .../Runtime}/Sync/System/SBaseSystem.cs.meta | 0 .../Runtime}/Sync/System/SDataSystem.cs | 0 .../Runtime}/Sync/System/SDataSystem.cs.meta | 0 .../Runtime}/Sync/System/SLogicSystem.cs | 0 .../Runtime}/Sync/System/SLogicSystem.cs.meta | 0 .../Runtime}/Sync/System/SViewSystem.cs | 0 .../Runtime}/Sync/System/SViewSystem.cs.meta | 0 .../JNGame/Runtime}/Sync/View.meta | 0 .../JNGame/Runtime}/Sync/View/IViewData.cs | 0 .../Runtime}/Sync/View/IViewData.cs.meta | 0 .../JNGame/Runtime}/Sync/View/ViewData.cs | 0 .../Runtime}/Sync/View/ViewData.cs.meta | 0 .../JNGame/Runtime}/System.meta | 0 .../JNGame/Runtime}/System/SystemBase.cs | 0 .../JNGame/Runtime}/System/SystemBase.cs.meta | 0 .../UsePlugins/JNGame/Runtime/Tools.meta | 3 + .../JNGame/Runtime}/Util.meta | 0 .../JNGame/Runtime}/Util/EventDispatcher.cs | 0 .../Runtime}/Util/EventDispatcher.cs.meta | 0 .../JNGame/Runtime}/Util/JAPI.cs | 2 +- .../JNGame/Runtime}/Util/JAPI.cs.meta | 0 .../JNGame/Runtime}/Util/JsonUtil.cs | 0 .../JNGame/Runtime}/Util/JsonUtil.cs.meta | 0 .../JNGame/Runtime}/Util/NetTool.cs | 0 .../JNGame/Runtime}/Util/NetTool.cs.meta | 0 .../JNGame/Runtime}/Util/NoThread.meta | 0 .../Runtime}/Util/NoThread/Interlocked.cs | 0 .../Util/NoThread/Interlocked.cs.meta | 0 .../JNGame/Runtime}/Util/Profiler.cs | 0 .../JNGame/Runtime}/Util/Profiler.cs.meta | 0 .../JNGame/Runtime}/Util/ProtoUtil.cs | 0 .../JNGame/Runtime}/Util/ProtoUtil.cs.meta | 0 .../JNGame/Runtime}/Util/RandomUtil.cs | 0 .../JNGame/Runtime}/Util/RandomUtil.cs.meta | 0 .../JNGame/Runtime}/Util/Singleton.cs | 0 .../JNGame/Runtime}/Util/Singleton.cs.meta | 0 .../JNGame/Runtime}/Util/SingletonScene.cs | 0 .../Runtime}/Util/SingletonScene.cs.meta | 0 .../JNGame/Runtime}/Util/TSingleton.cs | 0 .../JNGame/Runtime}/Util/TSingleton.cs.meta | 0 .../JNGame/Runtime}/Util/Timers.cs | 0 .../JNGame/Runtime}/Util/Timers.cs.meta | 0 .../JNGame/Runtime}/Util/ToUtil.cs | 0 .../JNGame/Runtime}/Util/ToUtil.cs.meta | 0 .../JNGame/Runtime}/Util/Types.meta | 0 .../JNGame/Runtime}/Util/Types/KeyValue.cs | 0 .../Runtime}/Util/Types/KeyValue.cs.meta | 0 .../Util/UnityMainThreadDispatcher.cs | 0 .../Util/UnityMainThreadDispatcher.cs.meta | 0 .../JNGame/Runtime}/Util/UseUtil.cs | 0 .../JNGame/Runtime}/Util/UseUtil.cs.meta | 0 JNFrame2/Assets/UsePlugins/SHFrame.meta | 3 + .../Assets/UsePlugins/SHFrame/Runtime.meta | 8 + .../UsePlugins/SHFrame/Runtime/Core.meta | 8 + .../SHFrame/Runtime/Core/DataStruct.meta | 3 + .../DataStruct/GameFrameworkLinkedList.cs | 453 + .../GameFrameworkLinkedList.cs.meta | 3 + .../GameFrameworkLinkedListRange.cs | 217 + .../GameFrameworkLinkedListRange.cs.meta | 3 + .../GameFrameworkMultiDictionary.cs | 283 + .../GameFrameworkMultiDictionary.cs.meta | 3 + .../Runtime/Core/DataStruct/TypeNamePair.cs | 129 + .../Core/DataStruct/TypeNamePair.cs.meta | 3 + .../SHFrame/Runtime/Core/Event.meta | 3 + .../SHFrame/Runtime/Core/Event/EventArgs.cs | 25 + .../Runtime/Core/Event/EventArgs.cs.meta | 11 + .../Runtime/Core/Event/EventDispatcher.cs | 74 + .../Core/Event/EventDispatcher.cs.meta | 11 + .../Runtime/Core/Event/EventListener.cs | 27 + .../Runtime/Core/Event/EventListener.cs.meta | 11 + .../SHFrame/Runtime/Core/Event/EventUtil.cs | 53 + .../Runtime/Core/Event/EventUtil.cs.meta | 11 + .../SHFrame/Runtime/Core/Exception.meta | 8 + .../Core/Exception/GameFrameworkException.cs | 49 + .../Exception/GameFrameworkException.cs.meta | 11 + .../Runtime/Core/GameFrameworkEventArgs.cs | 30 + .../Core/GameFrameworkEventArgs.cs.meta | 3 + .../UsePlugins/SHFrame/Runtime/Core/Log.meta | 8 + .../Core/Log/GameFrameworkLog.ILogHelper.cs | 18 + .../Log/GameFrameworkLog.ILogHelper.cs.meta | 11 + .../Runtime/Core/Log/GameFrameworkLog.cs | 2639 ++++++ .../Runtime/Core/Log/GameFrameworkLog.cs.meta | 11 + .../Runtime/Core/Log/GameFrameworkLogLevel.cs | 33 + .../Core/Log/GameFrameworkLogLevel.cs.meta | 11 + .../SHFrame/Runtime/Core/Log/Log.cs | 2890 ++++++ .../SHFrame/Runtime/Core/Log/Log.cs.meta | 11 + .../UsePlugins/SHFrame/Runtime/Core/Net.meta | 8 + .../SHFrame/Runtime/Core/Net/Socket.meta | 8 + .../Runtime/Core/Net/Socket/Runtime.meta | 8 + .../Runtime/Core/Net/Socket/Runtime/Core.meta | 8 + .../Net/Socket/Runtime/Core/CloseEventArgs.cs | 89 + .../Runtime/Core/CloseEventArgs.cs.meta | 11 + .../Socket/Runtime/Core/CloseStatusCode.cs | 91 + .../Runtime/Core/CloseStatusCode.cs.meta | 11 + .../Net/Socket/Runtime/Core/ErrorEventArgs.cs | 59 + .../Runtime/Core/ErrorEventArgs.cs.meta | 11 + .../Net/Socket/Runtime/Core/IWebSocket.cs | 156 + .../Socket/Runtime/Core/IWebSocket.cs.meta | 11 + .../Socket/Runtime/Core/MessageEventArgs.cs | 115 + .../Runtime/Core/MessageEventArgs.cs.meta | 11 + .../Core/Net/Socket/Runtime/Core/Opcode.cs | 26 + .../Net/Socket/Runtime/Core/Opcode.cs.meta | 11 + .../Net/Socket/Runtime/Core/OpenEventArgs.cs | 11 + .../Socket/Runtime/Core/OpenEventArgs.cs.meta | 11 + .../Core/Net/Socket/Runtime/Core/Settings.cs | 12 + .../Net/Socket/Runtime/Core/Settings.cs.meta | 11 + .../Net/Socket/Runtime/Core/WebSocketState.cs | 36 + .../Runtime/Core/WebSocketState.cs.meta | 11 + .../Net/Socket/Runtime/Implementation.meta | 8 + .../Runtime/Implementation/NoWebGL.meta | 8 + .../Implementation/NoWebGL/WebSocket.cs | 363 + .../Implementation/NoWebGL/WebSocket.cs.meta | 11 + .../NoWebGL/WebSocketManager.cs | 58 + .../NoWebGL/WebSocketManager.cs.meta | 11 + .../Socket/Runtime/Implementation/WebGL.meta | 8 + .../Runtime/Implementation/WebGL/WebSocket.cs | 148 + .../Implementation/WebGL/WebSocket.cs.meta | 12 + .../Implementation/WebGL/WebSocketManager.cs | 153 + .../WebGL/WebSocketManager.cs.meta | 11 + .../SHFrame/Runtime/Core/ReferencePool.meta | 3 + .../Runtime/Core/ReferencePool/IReference.cs | 20 + .../Core/ReferencePool/IReference.cs.meta | 3 + .../Core/ReferencePool/MemoryPoolExtension.cs | 57 + .../ReferencePool/MemoryPoolExtension.cs.meta | 3 + .../ReferencePool.ReferenceCollection.cs | 202 + .../ReferencePool.ReferenceCollection.cs.meta | 3 + .../Core/ReferencePool/ReferencePool.cs | 225 + .../Core/ReferencePool/ReferencePool.cs.meta | 3 + .../Core/ReferencePool/ReferencePoolInfo.cs | 125 + .../ReferencePool/ReferencePoolInfo.cs.meta | 3 + .../Runtime/Core/StreamingAssetsHelper.meta | 8 + .../SHFrame/Runtime/Core/Utility.meta | 8 + .../Runtime/Core/Utility/DefaultHelper.meta | 8 + .../DefaultHelper/DefaultJsonHelper.cs | 42 + .../DefaultHelper/DefaultJsonHelper.cs.meta | 3 + .../Utility/DefaultHelper/DefaultLogHelper.cs | 166 + .../DefaultHelper/DefaultLogHelper.cs.meta | 11 + .../DefaultHelper/DefaultTextHelper.cs | 584 ++ .../DefaultHelper/DefaultTextHelper.cs.meta | 11 + .../DefaultHelper/DefaultVersionHelper.cs | 22 + .../DefaultVersionHelper.cs.meta | 11 + .../Utility/DefaultHelper/UnityJsonHelper.cs | 43 + .../DefaultHelper/UnityJsonHelper.cs.meta | 11 + .../Runtime/Core/Utility/Utility.Assembly.cs | 102 + .../Core/Utility/Utility.Assembly.cs.meta | 11 + .../Runtime/Core/Utility/Utility.Converter.cs | 835 ++ .../Core/Utility/Utility.Converter.cs.meta | 11 + .../Core/Utility/Utility.Encryption.cs | 127 + .../Core/Utility/Utility.Encryption.cs.meta | 11 + .../Runtime/Core/Utility/Utility.File.cs | 234 + .../Runtime/Core/Utility/Utility.File.cs.meta | 11 + .../Runtime/Core/Utility/Utility.Http.cs | 114 + .../Runtime/Core/Utility/Utility.Http.cs.meta | 11 + .../Core/Utility/Utility.Json.IJsonHelper.cs | 39 + .../Utility/Utility.Json.IJsonHelper.cs.meta | 11 + .../Runtime/Core/Utility/Utility.Json.cs | 112 + .../Runtime/Core/Utility/Utility.Json.cs.meta | 11 + .../Runtime/Core/Utility/Utility.Marshal.cs | 228 + .../Core/Utility/Utility.Marshal.cs.meta | 11 + .../Runtime/Core/Utility/Utility.Path.cs | 93 + .../Runtime/Core/Utility/Utility.Path.cs.meta | 11 + .../Core/Utility/Utility.Reflection.cs | 358 + .../Core/Utility/Utility.Reflection.cs.meta | 11 + .../Core/Utility/Utility.Text.ITextHelper.cs | 398 + .../Utility/Utility.Text.ITextHelper.cs.meta | 11 + .../Runtime/Core/Utility/Utility.Text.cs | 614 ++ .../Runtime/Core/Utility/Utility.Text.cs.meta | 11 + .../SHFrame/Runtime/Core/Utility/Utility.cs | 9 + .../Runtime/Core/Utility/Utility.cs.meta | 11 + .../SHFrame/Runtime/Core/Variable.meta | 8 + .../Runtime/Core/Variable/GenericVariable.cs | 89 + .../Core/Variable/GenericVariable.cs.meta | 11 + .../Runtime/Core/Variable/VarBoolean.cs | 42 + .../Runtime/Core/Variable/VarBoolean.cs.meta | 11 + .../SHFrame/Runtime/Core/Variable/VarByte.cs | 42 + .../Runtime/Core/Variable/VarByte.cs.meta | 11 + .../Runtime/Core/Variable/VarByteArray.cs | 42 + .../Core/Variable/VarByteArray.cs.meta | 11 + .../SHFrame/Runtime/Core/Variable/VarChar.cs | 42 + .../Runtime/Core/Variable/VarChar.cs.meta | 11 + .../Runtime/Core/Variable/VarCharArray.cs | 42 + .../Core/Variable/VarCharArray.cs.meta | 11 + .../SHFrame/Runtime/Core/Variable/VarColor.cs | 44 + .../Runtime/Core/Variable/VarColor.cs.meta | 11 + .../Runtime/Core/Variable/VarColor32.cs | 44 + .../Runtime/Core/Variable/VarColor32.cs.meta | 11 + .../Runtime/Core/Variable/VarDateTime.cs | 44 + .../Runtime/Core/Variable/VarDateTime.cs.meta | 11 + .../Runtime/Core/Variable/VarDecimal.cs | 42 + .../Runtime/Core/Variable/VarDecimal.cs.meta | 11 + .../Runtime/Core/Variable/VarDouble.cs | 42 + .../Runtime/Core/Variable/VarDouble.cs.meta | 11 + .../Runtime/Core/Variable/VarGameObject.cs | 44 + .../Core/Variable/VarGameObject.cs.meta | 11 + .../SHFrame/Runtime/Core/Variable/VarInt16.cs | 42 + .../Runtime/Core/Variable/VarInt16.cs.meta | 11 + .../SHFrame/Runtime/Core/Variable/VarInt32.cs | 42 + .../Runtime/Core/Variable/VarInt32.cs.meta | 11 + .../SHFrame/Runtime/Core/Variable/VarInt64.cs | 42 + .../Runtime/Core/Variable/VarInt64.cs.meta | 11 + .../Runtime/Core/Variable/VarMaterial.cs | 44 + .../Runtime/Core/Variable/VarMaterial.cs.meta | 11 + .../Runtime/Core/Variable/VarObject.cs | 22 + .../Runtime/Core/Variable/VarObject.cs.meta | 11 + .../Runtime/Core/Variable/VarQuaternion.cs | 44 + .../Core/Variable/VarQuaternion.cs.meta | 11 + .../SHFrame/Runtime/Core/Variable/VarRect.cs | 44 + .../Runtime/Core/Variable/VarRect.cs.meta | 11 + .../SHFrame/Runtime/Core/Variable/VarSByte.cs | 42 + .../Runtime/Core/Variable/VarSByte.cs.meta | 11 + .../Runtime/Core/Variable/VarSingle.cs | 42 + .../Runtime/Core/Variable/VarSingle.cs.meta | 11 + .../Runtime/Core/Variable/VarString.cs | 42 + .../Runtime/Core/Variable/VarString.cs.meta | 11 + .../Runtime/Core/Variable/VarStringList.cs | 49 + .../Core/Variable/VarStringList.cs.meta | 3 + .../Runtime/Core/Variable/VarTexture.cs | 44 + .../Runtime/Core/Variable/VarTexture.cs.meta | 11 + .../Runtime/Core/Variable/VarTransform.cs | 44 + .../Core/Variable/VarTransform.cs.meta | 11 + .../Runtime/Core/Variable/VarUInt16.cs | 42 + .../Runtime/Core/Variable/VarUInt16.cs.meta | 11 + .../Runtime/Core/Variable/VarUInt32.cs | 42 + .../Runtime/Core/Variable/VarUInt32.cs.meta | 11 + .../Runtime/Core/Variable/VarUInt64.cs | 42 + .../Runtime/Core/Variable/VarUInt64.cs.meta | 11 + .../Runtime/Core/Variable/VarUnityObject.cs | 44 + .../Core/Variable/VarUnityObject.cs.meta | 11 + .../Runtime/Core/Variable/VarVector2.cs | 44 + .../Runtime/Core/Variable/VarVector2.cs.meta | 11 + .../Runtime/Core/Variable/VarVector3.cs | 44 + .../Runtime/Core/Variable/VarVector3.cs.meta | 11 + .../Runtime/Core/Variable/VarVector4.cs | 44 + .../Runtime/Core/Variable/VarVector4.cs.meta | 11 + .../SHFrame/Runtime/Core/Variable/Variable.cs | 49 + .../Runtime/Core/Variable/Variable.cs.meta | 11 + .../SHFrame/Runtime/Core/Version.meta | 8 + .../Core/Version/Version.IVersionHelper.cs | 27 + .../Version/Version.IVersionHelper.cs.meta | 11 + .../SHFrame/Runtime/Core/Version/Version.cs | 58 + .../Runtime/Core/Version/Version.cs.meta | 11 + .../UsePlugins/SHFrame/Runtime/Extension.meta | 8 + .../LoadAssetsByLocationOperation.cs | 122 + .../LoadAssetsByLocationOperation.cs.meta | 3 + .../Extension/LoadAssetsByTagOperation.cs | 115 + .../LoadAssetsByTagOperation.cs.meta | 11 + .../Runtime/Extension/LoadAssetsOperation.cs | 122 + .../Extension/LoadAssetsOperation.cs.meta | 3 + .../UsePlugins/SHFrame/Runtime/Modules.meta | 8 + .../SHFrame/Runtime/Modules/AudioModule.meta | 8 + .../Runtime/Modules/AudioModule/AudioAgent.cs | 474 + .../Modules/AudioModule/AudioAgent.cs.meta | 11 + .../AudioModule/AudioAgentRuntimeState.cs | 33 + .../AudioAgentRuntimeState.cs.meta | 3 + .../Modules/AudioModule/AudioCategory.cs | 193 + .../Modules/AudioModule/AudioCategory.cs.meta | 11 + .../Modules/AudioModule/AudioGroupConfig.cs | 48 + .../AudioModule/AudioGroupConfig.cs.meta | 11 + .../Modules/AudioModule/AudioModule.cs | 217 + .../Modules/AudioModule/AudioModule.cs.meta | 11 + .../Modules/AudioModule/AudioModuleImp.cs | 561 ++ .../AudioModule/AudioModuleImp.cs.meta | 3 + .../Runtime/Modules/AudioModule/AudioType.cs | 34 + .../Modules/AudioModule/AudioType.cs.meta | 11 + .../Modules/AudioModule/IAudioModule.cs | 116 + .../Modules/AudioModule/IAudioModule.cs.meta | 3 + .../Modules/AudioModule}/Resources.meta | 2 +- .../AudioModule/Resources/AudioMixer.mixer | 708 ++ .../Resources/AudioMixer.mixer.meta} | 5 +- .../SHFrame/Runtime/Modules/Fsm.meta | 8 + .../SHFrame/Runtime/Modules/Fsm/Fsm.cs | 588 ++ .../SHFrame/Runtime/Modules/Fsm/Fsm.cs.meta | 11 + .../SHFrame/Runtime/Modules/Fsm/FsmBase.cs | 113 + .../Runtime/Modules/Fsm/FsmBase.cs.meta | 11 + .../SHFrame/Runtime/Modules/Fsm/FsmManager.cs | 412 + .../Runtime/Modules/Fsm/FsmManager.cs.meta | 11 + .../SHFrame/Runtime/Modules/Fsm/FsmModule.cs | 254 + .../Runtime/Modules/Fsm/FsmModule.cs.meta | 11 + .../SHFrame/Runtime/Modules/Fsm/FsmState.cs | 103 + .../Runtime/Modules/Fsm/FsmState.cs.meta | 11 + .../SHFrame/Runtime/Modules/Fsm/IFsm.cs | 179 + .../SHFrame/Runtime/Modules/Fsm/IFsm.cs.meta | 11 + .../Runtime/Modules/Fsm/IFsmManager.cs | 181 + .../Runtime/Modules/Fsm/IFsmManager.cs.meta | 11 + .../SHFrame/Runtime/Modules/GameModule.cs | 150 + .../Runtime/Modules/GameModule.cs.meta | 3 + .../SHFrame/Runtime/Modules/GameTime.meta | 3 + .../Runtime/Modules/GameTime/GameTime.cs | 56 + .../Runtime/Modules/GameTime/GameTime.cs.meta | 3 + .../SHFrame/Runtime/Modules/ModuleCore.meta | 8 + .../Runtime/Modules/ModuleCore/Module.cs | 18 + .../Runtime/Modules/ModuleCore/Module.cs.meta | 3 + .../Runtime/Modules/ModuleCore/ModuleImp.cs | 67 + .../Modules/ModuleCore/ModuleImp.cs.meta | 11 + .../Modules/ModuleCore/ModuleImpSystem.cs | 160 + .../ModuleCore/ModuleImpSystem.cs.meta | 3 + .../Modules/ModuleCore/ModuleSystem.cs | 139 + .../Modules/ModuleCore/ModuleSystem.cs.meta | 3 + .../Modules/ModuleCore/ShutdownType.cs | 23 + .../Modules/ModuleCore/ShutdownType.cs.meta | 3 + .../SHFrame/Runtime/Modules/ObjectPool.meta | 8 + .../Runtime/Modules/ObjectPool/IObjectPool.cs | 218 + .../Modules/ObjectPool/IObjectPool.cs.meta | 3 + .../Modules/ObjectPool/IObjectPoolManager.cs | 751 ++ .../ObjectPool/IObjectPoolManager.cs.meta | 3 + .../Runtime/Modules/ObjectPool/ObjectBase.cs | 207 + .../Modules/ObjectPool/ObjectBase.cs.meta | 3 + .../Runtime/Modules/ObjectPool/ObjectInfo.cs | 122 + .../Modules/ObjectPool/ObjectInfo.cs.meta | 3 + .../Modules/ObjectPool/ObjectPoolBase.cs | 152 + .../Modules/ObjectPool/ObjectPoolBase.cs.meta | 3 + .../ObjectPool/ObjectPoolManager.Object.cs | 200 + .../ObjectPoolManager.Object.cs.meta | 3 + .../ObjectPoolManager.ObjectPool.cs | 637 ++ .../ObjectPoolManager.ObjectPool.cs.meta | 3 + .../Modules/ObjectPool/ObjectPoolManager.cs | 1303 +++ .../ObjectPool/ObjectPoolManager.cs.meta | 3 + .../Modules/ObjectPool/ObjectPoolModule.cs | 1015 +++ .../ObjectPool/ObjectPoolModule.cs.meta | 11 + .../ObjectPool/ReleaseObjectFilterCallback.cs | 22 + .../ReleaseObjectFilterCallback.cs.meta | 3 + .../SHFrame/Runtime/Modules/Procedure.meta | 8 + .../Modules/Procedure/IProcedureManager.cs | 74 + .../Procedure/IProcedureManager.cs.meta | 11 + .../Modules/Procedure/ProcedureBase.cs | 59 + .../Modules/Procedure/ProcedureBase.cs.meta | 11 + .../Modules/Procedure/ProcedureManager.cs | 197 + .../Procedure/ProcedureManager.cs.meta | 11 + .../Modules/Procedure/ProcedureModule.cs | 153 + .../Modules/Procedure/ProcedureModule.cs.meta | 11 + .../SHFrame/Runtime/Modules/RootModule.cs | 314 + .../Runtime/Modules/RootModule.cs.meta | 3 + JNFrame2/Assets/packages.config.meta | 11 + JNFrame2/BestHTTP.csproj | 5067 ++++++----- JNFrame2/HotUpdate.csproj | 63 + JNFrame2/JNFrame2.sln | 60 +- JNFrame2/Logs/AssetImportWorker0-prev.log | 225 + JNFrame2/Logs/AssetImportWorker0.log | 276 + JNFrame2/Logs/AssetImportWorker1-prev.log | 177 + JNFrame2/Logs/AssetImportWorker1.log | 188 + JNFrame2/Logs/Packages-Update.log | 9 + .../shadercompiler-AssetImportWorker0.log | 4 + ...hadercompiler-UnityShaderCompiler.exe0.log | 3 +- JNFrame2/Packages/manifest.json | 17 +- JNFrame2/Packages/packages-lock.json | 51 +- .../ProjectSettings/HybridCLRSettings.asset | 32 + .../PackageManagerSettings.asset | 16 +- .../Settings.json | 2 - .../ProjectSettings/ProjectSettings.asset | 56 +- JNFrame2/ProjectSettings/ProjectVersion.txt | 4 +- JNFrame2/ProjectSettings/boot.config | 0 JNFrame2/SHFrame.Editor.csproj | 863 ++ JNFrame2/StompyRobot.SRDebugger.Editor.csproj | 676 +- JNFrame2/StompyRobot.SRDebugger.csproj | 1323 ++- JNFrame2/StompyRobot.SRF.Editor.csproj | 668 +- JNFrame2/StompyRobot.SRF.csproj | 1207 ++- JNFrame2/UniTask.Addressables.csproj | 1111 ++- JNFrame2/UniTask.DOTween.csproj | 1111 ++- JNFrame2/UniTask.Editor.csproj | 662 +- JNFrame2/UniTask.Linq.csproj | 1249 ++- JNFrame2/UniTask.TextMeshPro.csproj | 1111 ++- JNFrame2/UniTask.csproj | 1235 ++- .../UserSettings/Layouts/default-2021.dwlt | 50 +- .../UserSettings/Layouts/default-2022.dwlt | 1212 +++ JNFrame2/UserSettings/Search.index | 13 + JNFrame2/UserSettings/Search.settings | 76 +- .../AimingRig.csproj.AssemblyReference.cache | Bin 124868 -> 124239 bytes ...harp-Editor.csproj.AssemblyReference.cache | Bin 139246 -> 138503 bytes ...p-firstpass.csproj.AssemblyReference.cache | Bin 125258 -> 128661 bytes ...mbly-CSharp.csproj.AssemblyReference.cache | Bin 125258 -> 128661 bytes .../BestHTTP.csproj.AssemblyReference.cache | Bin 124868 -> 124239 bytes .../HotUpdate.csproj.AssemblyReference.cache | Bin 0 -> 7499 bytes ...rame.Editor.csproj.AssemblyReference.cache | Bin 0 -> 126880 bytes ...gger.Editor.csproj.AssemblyReference.cache | Bin 129586 -> 125911 bytes ....SRDebugger.csproj.AssemblyReference.cache | Bin 124868 -> 124239 bytes ....SRF.Editor.csproj.AssemblyReference.cache | Bin 129586 -> 125911 bytes ...pyRobot.SRF.csproj.AssemblyReference.cache | Bin 124868 -> 124239 bytes ...ddressables.csproj.AssemblyReference.cache | Bin 124868 -> 124239 bytes ...ask.DOTween.csproj.AssemblyReference.cache | Bin 124868 -> 124239 bytes ...Task.Editor.csproj.AssemblyReference.cache | Bin 129586 -> 125911 bytes ...niTask.Linq.csproj.AssemblyReference.cache | Bin 124868 -> 124239 bytes ...TextMeshPro.csproj.AssemblyReference.cache | Bin 125207 -> 124578 bytes .../UniTask.csproj.AssemblyReference.cache | Bin 124868 -> 124239 bytes 1797 files changed, 40580 insertions(+), 23804 deletions(-) create mode 100644 JNFrame2/Assets/AssetBundleCollectorSetting.asset create mode 100644 JNFrame2/Assets/AssetBundleCollectorSetting.asset.meta rename JNFrame2/Assets/{TextMesh Pro/Shaders.meta => HotAssets.meta} (77%) rename JNFrame2/Assets/{TextMesh Pro.meta => HotAssets/Resource.meta} (77%) rename JNFrame2/Assets/{TextMesh Pro/Documentation.meta => HotAssets/Script.meta} (77%) rename JNFrame2/Assets/{TextMesh Pro/Fonts.meta => HotUpdate.meta} (77%) create mode 100644 JNFrame2/Assets/HotUpdate/HotUpdate.asmdef rename JNFrame2/Assets/{TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta => HotUpdate/HotUpdate.asmdef.meta} (59%) delete mode 100644 JNFrame2/Assets/JNGame/Map/2DPathFinding/Editor.meta rename JNFrame2/Assets/{ => Resources}/Scenes.meta (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/JNFrame.meta (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/JNFrame.unity (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/JNFrame.unity.meta (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/JNFrame/NavMesh-Map.asset (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/JNFrame/NavMesh-Map.asset.meta (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/JNState.unity (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/JNState.unity.meta (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/Main.unity (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/Main.unity.meta (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/MapSampleScene.asset (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/MapSampleScene.asset.meta (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/SampleScene.meta (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/SampleScene.unity (100%) rename JNFrame2/Assets/{ => Resources}/Scenes/SampleScene.unity.meta (100%) create mode 100644 JNFrame2/Assets/Resources/YooAssetSettings.asset create mode 100644 JNFrame2/Assets/Resources/YooAssetSettings.asset.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf delete mode 100644 JNFrame2/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt delete mode 100644 JNFrame2/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Fonts/LiberationSans.ttf delete mode 100644 JNFrame2/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Sprite Assets.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Style Sheets.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/TMP Settings.asset delete mode 100644 JNFrame2/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF.shader delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMPro.cginc delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc delete mode 100644 JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Sprites.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt delete mode 100644 JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne.json delete mode 100644 JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta delete mode 100644 JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne.png delete mode 100644 JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne.png.meta create mode 100644 JNFrame2/Assets/UsePlugins.meta rename JNFrame2/Assets/{ => UsePlugins}/JNGame.meta (100%) create mode 100644 JNFrame2/Assets/UsePlugins/JNGame/Editor.meta create mode 100644 JNFrame2/Assets/UsePlugins/JNGame/Editor/2DPathFinding.meta rename JNFrame2/Assets/{JNGame/Map/2DPathFinding/Editor => UsePlugins/JNGame/Editor/2DPathFinding}/MapConfigExporter.cs (100%) rename JNFrame2/Assets/{JNGame/Map/2DPathFinding/Editor => UsePlugins/JNGame/Editor/2DPathFinding}/MapConfigExporter.cs.meta (100%) rename JNFrame2/Assets/{JNGame/Map/2DPathFinding/Editor => UsePlugins/JNGame/Editor/2DPathFinding}/NavMeshStaticObstacle.cs (100%) rename JNFrame2/Assets/{JNGame/Map/2DPathFinding/Editor => UsePlugins/JNGame/Editor/2DPathFinding}/NavMeshStaticObstacle.cs.meta (100%) rename JNFrame2/Assets/{JNGame/Map/DotRecast/Editor.meta => UsePlugins/JNGame/Editor/DotRecast.meta} (100%) rename JNFrame2/Assets/{JNGame/Map/DotRecast/Editor => UsePlugins/JNGame/Editor/DotRecast}/DotRecastEditor.cs (100%) rename JNFrame2/Assets/{JNGame/Map/DotRecast/Editor => UsePlugins/JNGame/Editor/DotRecast}/DotRecastEditor.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins.meta (77%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/DesperateDevs.Caching.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/DesperateDevs.Caching.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/DesperateDevs.Extensions.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/DesperateDevs.Extensions.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/DesperateDevs.Reflection.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/DesperateDevs.Reflection.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/DesperateDevs.Serialization.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/DesperateDevs.Serialization.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/DesperateDevs.Threading.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/DesperateDevs.Threading.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/DesperateDevs.Unity.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/DesperateDevs.Unity.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/Editor.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/Editor/DesperateDevs.Unity.Editor.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/DesperateDevs/Editor/DesperateDevs.Unity.Editor.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor/src.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor/src/EntitasPreferencesDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor/src/EntitasPreferencesDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor/src/EntitasPreferencesWindow.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor/src/EntitasPreferencesWindow.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor/src/Images.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor/src/Images/EntitasHeader.png (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor/src/Images/EntitasHeader.png.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor/src/Menu.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor/src/Menu/CheckForUpdates.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor/src/Menu/CheckForUpdates.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor/src/Menu/EntitasMenuItems.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.Unity.Editor/src/Menu/EntitasMenuItems.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/ContextObserver.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/ContextObserver/ContextObserverInspector.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/ContextObserver/ContextObserverInspector.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/DebugSystems.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/DebugSystems/DebugSystemsInspector.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/DebugSystems/DebugSystemsInspector.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/EntitasHierarchyIcon.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/EntitasHierarchyIcon.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/EntitasStats.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/EntitasStats.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/DefaultInstanceCreator.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/DefaultInstanceCreator/DefaultArrayCreator.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/DefaultInstanceCreator/DefaultArrayCreator.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/DefaultInstanceCreator/DefaultStringCreator.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/DefaultInstanceCreator/DefaultStringCreator.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/DefaultInstanceCreator/IDefaultInstanceCreator.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/DefaultInstanceCreator/IDefaultInstanceCreator.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/Entity.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/Entity/EntityDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/Entity/EntityDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/Entity/EntityDrawerState.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/Entity/EntityDrawerState.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/Entity/EntityInspector.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/Entity/EntityInspector.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/IComponentDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/IComponentDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/AnimationCurveTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/AnimationCurveTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/ArrayTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/ArrayTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/BoolTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/BoolTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/BoundsTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/BoundsTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/CharTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/CharTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/ColorTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/ColorTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/DateTimeTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/DateTimeTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/DictionaryTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/DictionaryTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/DoubleTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/DoubleTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/EnumTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/EnumTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/FloatTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/FloatTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/HashSetTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/HashSetTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/ITypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/ITypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/IntTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/IntTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/ListTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/ListTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/RectTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/RectTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/StringTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/StringTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/UnityObjectTypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/UnityObjectTypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/Vector2TypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/Vector2TypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/Vector3TypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/Vector3TypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/Vector4TypeDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Entity/TypeDrawer/Vector4TypeDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/EntityLinkInspector.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/EntityLinkInspector.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasContextErrorHierarchyIcon.png (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasContextErrorHierarchyIcon.png.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasContextHierarchyIcon.png (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasContextHierarchyIcon.png.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasEntityErrorHierarchyIcon.png (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasEntityErrorHierarchyIcon.png.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasEntityHierarchyIcon.png (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasEntityHierarchyIcon.png.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasEntityLinkHierarchyIcon.png (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasEntityLinkHierarchyIcon.png.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasEntityLinkWarnHierarchyIcon.png (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasEntityLinkWarnHierarchyIcon.png.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasSystemsHierarchyIcon.png (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasSystemsHierarchyIcon.png.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasSystemsWarnHierarchyIcon.png (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/Images/EntitasSystemsWarnHierarchyIcon.png.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/VisualDebuggingConfig.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/VisualDebuggingConfig.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/VisualDebuggingEntitasExtension.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/VisualDebuggingEntitasExtension.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/VisualDebuggingPreferencesDrawer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Editor/Entitas.VisualDebugging.Unity.Editor/src/VisualDebuggingPreferencesDrawer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/CleanupAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/CleanupAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/ComponentNameAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/ComponentNameAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/ContextAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/ContextAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/CustomEntityIndexAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/CustomEntityIndexAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/DontGenerateAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/DontGenerateAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/Entitas.CodeGeneration.Attributes.csproj (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/Entitas.CodeGeneration.Attributes.csproj.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/EntityIndex.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/EntityIndex/AbstractEntityIndexAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/EntityIndex/AbstractEntityIndexAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/EntityIndex/EntityIndexAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/EntityIndex/EntityIndexAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/EntityIndex/EntityIndexGetMethodAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/EntityIndex/EntityIndexGetMethodAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/EntityIndex/EntityIndexType.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/EntityIndex/EntityIndexType.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/EntityIndex/PrimaryEntityIndexAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/EntityIndex/PrimaryEntityIndexAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/EventAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/EventAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/FlagPrefixAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/FlagPrefixAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/PostConstructorAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/PostConstructorAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/UniqueAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.CodeGeneration.Attributes/src/UniqueAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.Unity.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.Unity/src.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.Unity/src/EntityLink.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.Unity/src/EntityLink.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/ContextObserver.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/ContextObserver/ContextObserver.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/ContextObserver/ContextObserver.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/ContextObserver/ContextObserverBehaviour.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/ContextObserver/ContextObserverBehaviour.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/ContextObserver/ContextObserverExtension.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/ContextObserver/ContextObserverExtension.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/DebugSystems.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/DebugSystems/DebugSystems.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/DebugSystems/DebugSystems.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/DebugSystems/DebugSystemsBehaviour.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/DebugSystems/DebugSystemsBehaviour.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/DebugSystems/SystemInfo.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/DebugSystems/SystemInfo.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/Entity.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/Entity/DontDrawComponentAttribute.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/Entity/DontDrawComponentAttribute.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/Entity/EntityBehaviour.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/Entity/EntityBehaviour.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/GameObjectDestroyExtension.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.VisualDebugging.Unity/src/GameObjectDestroyExtension.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Collector.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Collector/Collector.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Collector/Collector.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Collector/CollectorContextExtension.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Collector/CollectorContextExtension.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Collector/CollectorException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Collector/CollectorException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Collector/ICollector.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Collector/ICollector.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Collector/TriggerOnEvent.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Collector/TriggerOnEvent.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Collector/TriggerOnEventMatcherExtension.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Collector/TriggerOnEventMatcherExtension.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Context.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Context.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/ContextExtension.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/ContextExtension.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Exceptions.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Exceptions/ContextDoesNotContainEntityException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Exceptions/ContextDoesNotContainEntityException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Exceptions/ContextEntityIndexDoesAlreadyExistException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Exceptions/ContextEntityIndexDoesAlreadyExistException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Exceptions/ContextEntityIndexDoesNotExistException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Exceptions/ContextEntityIndexDoesNotExistException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Exceptions/ContextInfoException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Exceptions/ContextInfoException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Exceptions/ContextStillHasRetainedEntitiesException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Exceptions/ContextStillHasRetainedEntitiesException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Exceptions/EntityIsNotDestroyedException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/Exceptions/EntityIsNotDestroyedException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/IContext.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/IContext.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/IContexts.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Context/IContexts.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/ContextInfo.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/ContextInfo.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntitasException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntitasException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntitasResources.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntitasResources.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/Entity.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/Entity.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/EntityEqualityComparer.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/EntityEqualityComparer.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/Exceptions.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/Exceptions/EntityAlreadyHasComponentException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/Exceptions/EntityAlreadyHasComponentException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/Exceptions/EntityDoesNotHaveComponentException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/Exceptions/EntityDoesNotHaveComponentException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/Exceptions/EntityIsAlreadyRetainedByOwnerException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/Exceptions/EntityIsAlreadyRetainedByOwnerException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/Exceptions/EntityIsNotEnabledException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/Exceptions/EntityIsNotEnabledException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/Exceptions/EntityIsNotRetainedByOwnerException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/Exceptions/EntityIsNotRetainedByOwnerException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/IAERC.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/IAERC.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/IEntity.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/IEntity.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/SafeAERC.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/SafeAERC.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/UnsafeAERC.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Entity/UnsafeAERC.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntityIndex.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntityIndex/AbstractEntityIndex.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntityIndex/AbstractEntityIndex.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntityIndex/EntityIndex.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntityIndex/EntityIndex.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntityIndex/EntityIndexException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntityIndex/EntityIndexException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntityIndex/IEntityIndex.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntityIndex/IEntityIndex.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntityIndex/PrimaryEntityIndex.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/EntityIndex/PrimaryEntityIndex.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Extensions.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Extensions/CollectionExtension.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Extensions/CollectionExtension.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Extensions/EntitasStringExtension.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Extensions/EntitasStringExtension.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Extensions/PublicMemberInfoEntityExtension.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Extensions/PublicMemberInfoEntityExtension.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Group.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Group/Group.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Group/Group.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Group/GroupEvent.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Group/GroupEvent.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Group/GroupExtension.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Group/GroupExtension.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Group/GroupSingleEntityException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Group/GroupSingleEntityException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Group/IGroup.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Group/IGroup.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/IComponent.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/IComponent.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/Interfaces.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/Interfaces/IAllOfMatcher.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/Interfaces/IAllOfMatcher.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/Interfaces/IAnyOfMatcher.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/Interfaces/IAnyOfMatcher.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/Interfaces/ICompoundMatcher.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/Interfaces/ICompoundMatcher.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/Interfaces/IMatcher.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/Interfaces/IMatcher.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/Interfaces/INoneOfMatcher.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/Interfaces/INoneOfMatcher.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/Matcher.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/Matcher.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/MatcherEquals.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/MatcherEquals.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/MatcherException.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/MatcherException.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/MatcherStatic.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/MatcherStatic.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/MatcherToString.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Matcher/MatcherToString.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Interfaces.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Interfaces/ICleanupSystem.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Interfaces/ICleanupSystem.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Interfaces/IExecuteSystem.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Interfaces/IExecuteSystem.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Interfaces/IInitializeSystem.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Interfaces/IInitializeSystem.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Interfaces/IReactiveSystem.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Interfaces/IReactiveSystem.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Interfaces/ISystem.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Interfaces/ISystem.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Interfaces/ITearDownSystem.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Interfaces/ITearDownSystem.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/JobSystem.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/JobSystem.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/MultiReactiveSystem.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/MultiReactiveSystem.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/ReactiveSystem.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/ReactiveSystem.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Systems.cs (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/Systems/Systems.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/version.txt (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Entitas/Entitas/src/version.txt.meta (100%) rename JNFrame2/Assets/{ => UsePlugins/JNGame/Plugins/Entitas}/Generated.meta (100%) rename JNFrame2/Assets/{ => UsePlugins/JNGame/Plugins/Entitas}/Generated/Feature.cs (100%) rename JNFrame2/Assets/{ => UsePlugins/JNGame/Plugins/Entitas}/Generated/Feature.cs.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Images.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Images/Jenny-Header.png (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Images/Jenny-Header.png.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Jenny.Generator.Unity.Editor.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Jenny.Generator.Unity.Editor.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Jenny.Generator.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Jenny.Generator.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Jenny.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Jenny.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Jenny.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Jenny/Jenny.Plugins.Unity.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Jenny/Jenny.Plugins.Unity.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Jenny/Jenny.Plugins.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Jenny/Editor/Jenny/Jenny.Plugins.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Sherlog.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Sherlog/Sherlog.Appenders.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Sherlog/Sherlog.Appenders.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Sherlog/Sherlog.Formatters.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Sherlog/Sherlog.Formatters.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Sherlog/Sherlog.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/Sherlog/Sherlog.dll.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/TCPeasy.meta (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/TCPeasy/TCPeasy.dll (100%) rename JNFrame2/Assets/{ => UsePlugins}/JNGame/Plugins/TCPeasy/TCPeasy.dll.meta (100%) create mode 100644 JNFrame2/Assets/UsePlugins/JNGame/Runtime.meta rename JNFrame2/Assets/{JNGame/EntitasExtend.meta => UsePlugins/JNGame/Runtime/Entitas.meta} (100%) rename JNFrame2/Assets/{JNGame/EntitasExtend => UsePlugins/JNGame/Runtime/Entitas}/JNLookup.cs (90%) rename JNFrame2/Assets/{JNGame/EntitasExtend => UsePlugins/JNGame/Runtime/Entitas}/JNLookup.cs.meta (100%) rename JNFrame2/Assets/{JNGame/EntitasExtend => UsePlugins/JNGame/Runtime/Entitas}/JNSystemLoad.cs (82%) rename JNFrame2/Assets/{JNGame/EntitasExtend => UsePlugins/JNGame/Runtime/Entitas}/JNSystemLoad.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/JNetGame.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/JNetGame.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/BSP.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/BSP/BspTree.UnityExt.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/BSP/BspTree.UnityExt.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/BSP/BspTree.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/BSP/BspTree.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/BSP/BspTreeNode.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/BSP/BspTreeNode.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/BSP/ESplitType.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/BSP/ESplitType.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/BSP/SplitLine.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/BSP/SplitLine.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/BSP/TriangleRef.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/BSP/TriangleRef.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/GenMapConfigHelper.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/GenMapConfigHelper.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/Geometry.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/Geometry/GeometryUtil.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/Geometry/GeometryUtil.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/Geometry/Plane.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/Geometry/Plane.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/Geometry/Ray.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/Geometry/Ray.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/IConnection.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/IConnection.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/IGraph.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/IGraph.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/IndexedGraph.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/IndexedGraph.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/NavMeshData.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/NavMeshData.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/NavTriangle.Extension.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/NavTriangle.Extension.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/NavTriangle.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/NavTriangle.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/TriangleEdge.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/TriangleEdge.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/TriangleGraph.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/TriangleGraph.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/TriangleNavMesh.UnityExt.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/TriangleNavMesh.UnityExt.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/TriangleNavMesh.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/NavMesh/TriangleNavMesh.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/DefaultGraphPath.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/DefaultGraphPath.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/EdgePoint.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/EdgePoint.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/Funnel.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/Funnel.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/IGraphPath.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/IGraphPath.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/IHeuristic.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/IHeuristic.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/IPathFinder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/IPathFinder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/IndexedAStarPathFinder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/IndexedAStarPathFinder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/NodeBinaryHeap.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/NodeBinaryHeap.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/TriangleEdgeGraphPath.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/TriangleEdgeGraphPath.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/TriangleHeuristic.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/TriangleHeuristic.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/TrianglePointPath.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/2DPathFinding/NavMesh/PathFinder/TrianglePointPath.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/DotRecastController.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/DotRecastController.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/DotRecastRoot.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/DotRecastRoot.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Buffers.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Buffers/RcCyclicBuffer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Buffers/RcCyclicBuffer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Buffers/RcCyclicBuffers.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Buffers/RcCyclicBuffers.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Buffers/RcRentedArray.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Buffers/RcRentedArray.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/CollectionExtensions.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/CollectionExtensions.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcImmutableArray.Enumerable.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcImmutableArray.Enumerable.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcImmutableArray.Listable.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcImmutableArray.Listable.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcImmutableArray.Minimal.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcImmutableArray.Minimal.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcImmutableArray.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcImmutableArray.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcSortedQueue.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcSortedQueue.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray128.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray128.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray16.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray16.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray2.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray2.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray256.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray256.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray32.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray32.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray4.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray4.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray512.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray512.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray64.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray64.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray8.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Collections/RcStackArray8.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Compression.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Compression/FastLZ.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Compression/FastLZ.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/DotRecast.Core.csproj (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/DotRecast.Core.csproj.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/IRcCompressor.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/IRcCompressor.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/IRcRand.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/IRcRand.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Numerics.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Numerics/RcMatrix4x4f.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Numerics/RcMatrix4x4f.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Numerics/RcVec2f.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Numerics/RcVec2f.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Numerics/RcVec3f.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Numerics/RcVec3f.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Numerics/RcVecUtils.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/Numerics/RcVecUtils.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcArrays.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcArrays.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcAtomicBoolean.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcAtomicBoolean.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcAtomicFloat.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcAtomicFloat.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcAtomicInteger.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcAtomicInteger.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcAtomicLong.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcAtomicLong.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcByteBuffer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcByteBuffer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcByteOrder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcByteOrder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcByteUtils.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcByteUtils.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcContext.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcContext.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcConvexUtils.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcConvexUtils.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcDirectory.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcDirectory.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcEdge.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcEdge.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcFrequency.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcFrequency.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcHashCodes.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcHashCodes.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcIntersections.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcIntersections.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcMath.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcMath.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcObjImporter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcObjImporter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcObjImporterContext.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcObjImporterContext.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcProcess.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcProcess.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcRand.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcRand.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcResources.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcResources.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcScopedTimer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcScopedTimer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcSegmentVert.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcSegmentVert.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcSpans.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcSpans.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcTelemetryTick.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcTelemetryTick.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcThrowHelper.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcThrowHelper.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcTimerLabel.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Core/RcTimerLabel.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DotRecast.Detour.Crowd.csproj (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DotRecast.Detour.Crowd.csproj.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowd.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowd.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgent.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgent.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgentAnimation.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgentAnimation.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgentConfig.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgentConfig.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgentDebugInfo.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgentDebugInfo.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgentParams.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgentParams.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgentState.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgentState.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgentUpdateFlags.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdAgentUpdateFlags.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdConfig.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdConfig.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdConst.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdConst.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdNeighbour.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdNeighbour.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdScopedTimer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdScopedTimer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdTelemetry.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdTelemetry.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdTimerLabel.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtCrowdTimerLabel.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtLocalBoundary.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtLocalBoundary.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtMoveRequestState.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtMoveRequestState.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtObstacleAvoidanceDebugData.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtObstacleAvoidanceDebugData.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtObstacleAvoidanceParams.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtObstacleAvoidanceParams.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtObstacleAvoidanceQuery.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtObstacleAvoidanceQuery.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtObstacleCircle.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtObstacleCircle.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtObstacleSegment.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtObstacleSegment.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtPathCorridor.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtPathCorridor.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtPathQuery.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtPathQuery.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtPathQueryResult.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtPathQueryResult.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtPathQueue.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtPathQueue.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtProximityGrid.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtProximityGrid.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtSegment.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Crowd/DtSegment.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtBoxCollider.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtBoxCollider.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtCapsuleCollider.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtCapsuleCollider.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtCollider.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtCollider.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtCompositeCollider.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtCompositeCollider.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtConvexTrimeshCollider.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtConvexTrimeshCollider.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtCylinderCollider.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtCylinderCollider.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtSphereCollider.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtSphereCollider.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtTrimeshCollider.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/DtTrimeshCollider.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/IDtCollider.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Colliders/IDtCollider.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DotRecast.Detour.Dynamic.csproj (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DotRecast.Detour.Dynamic.csproj.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtDynamicNavMesh.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtDynamicNavMesh.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtDynamicNavMeshConfig.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtDynamicNavMeshConfig.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtDynamicTile.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtDynamicTile.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtDynamicTileCheckpoint.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtDynamicTileCheckpoint.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtDynamicTileColliderAdditionJob.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtDynamicTileColliderAdditionJob.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtDynamicTileColliderRemovalJob.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtDynamicTileColliderRemovalJob.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtVoxelQuery.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/DtVoxelQuery.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/IDtDaynmicTileJob.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/IDtDaynmicTileJob.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Io.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Io/DtVoxelFile.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Io/DtVoxelFile.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Io/DtVoxelFileReader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Io/DtVoxelFileReader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Io/DtVoxelFileWriter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Io/DtVoxelFileWriter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Io/DtVoxelTile.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Dynamic/Io/DtVoxelTile.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/BVTreeBuilder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/BVTreeBuilder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/DotRecast.Detour.Extras.csproj (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/DotRecast.Detour.Extras.csproj.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/DtPolyUtils.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/DtPolyUtils.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/AbstractGroundSampler.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/AbstractGroundSampler.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/ClimbTrajectory.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/ClimbTrajectory.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/EdgeExtractor.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/EdgeExtractor.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/EdgeSampler.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/EdgeSampler.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/EdgeSamplerFactory.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/EdgeSamplerFactory.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/GroundSample.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/GroundSample.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/GroundSegment.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/GroundSegment.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/IGroundSampler.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/IGroundSampler.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpEdge.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpEdge.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpLink.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpLink.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpLinkBuilder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpLinkBuilder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpLinkBuilderConfig.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpLinkBuilderConfig.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpLinkType.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpLinkType.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpSegment.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpSegment.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpSegmentBuilder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpSegmentBuilder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpTrajectory.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/JumpTrajectory.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/NavMeshGroundSampler.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/NavMeshGroundSampler.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/PolyQueryInvoker.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/PolyQueryInvoker.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/Trajectory.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/Trajectory.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/TrajectorySampler.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Jumplink/TrajectorySampler.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/ObjExporter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/ObjExporter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/BVTreeCreator.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/BVTreeCreator.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/GraphConnectionReader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/GraphConnectionReader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/GraphData.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/GraphData.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/GraphMeshData.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/GraphMeshData.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/GraphMeshDataReader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/GraphMeshDataReader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/GraphMeta.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/GraphMeta.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/GraphMetaReader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/GraphMetaReader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/LinkBuilder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/LinkBuilder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/Meta.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/Meta.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/MetaReader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/MetaReader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/NodeIndexReader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/NodeIndexReader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/NodeLink2.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/NodeLink2.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/NodeLink2Reader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/NodeLink2Reader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/OffMeshLinkCreator.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/OffMeshLinkCreator.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/UnityAStarPathfindingImporter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/UnityAStarPathfindingImporter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/UnityAStarPathfindingReader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/UnityAStarPathfindingReader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/ZipBinaryReader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.Extras/Unity/Astar/ZipBinaryReader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DotRecast.Detour.TileCache.csproj (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DotRecast.Detour.TileCache.csproj.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtCompressedTile.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtCompressedTile.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtCompressedTileFlags.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtCompressedTileFlags.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtLayerMonotoneRegion.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtLayerMonotoneRegion.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtObstacleRequest.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtObstacleRequest.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtObstacleRequestAction.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtObstacleRequestAction.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtObstacleState.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtObstacleState.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTempContour.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTempContour.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCache.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCache.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheBuilder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheBuilder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheContour.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheContour.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheContourSet.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheContourSet.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheLayer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheLayer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheLayerBuildResult.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheLayerBuildResult.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheLayerBuilder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheLayerBuilder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheLayerHeader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheLayerHeader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheObstacle.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheObstacle.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheObstacleType.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheObstacleType.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheParams.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheParams.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCachePolyMesh.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCachePolyMesh.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheStorageParams.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/DtTileCacheStorageParams.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/IDtTileCacheMeshProcess.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/IDtTileCacheMeshProcess.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/Compress.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/Compress/DtTileCacheCompressorFactory.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/Compress/DtTileCacheCompressorFactory.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/Compress/DtTileCacheFastLzCompressor.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/Compress/DtTileCacheFastLzCompressor.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/Compress/IDtTileCacheCompressorFactory.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/Compress/IDtTileCacheCompressorFactory.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/DtTileCacheLayerHeaderReader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/DtTileCacheLayerHeaderReader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/DtTileCacheLayerHeaderWriter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/DtTileCacheLayerHeaderWriter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/DtTileCacheReader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/DtTileCacheReader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/DtTileCacheSetHeader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/DtTileCacheSetHeader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/DtTileCacheWriter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.TileCache/Io/DtTileCacheWriter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/BVItem.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/BVItem.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/BVItemXComparer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/BVItemXComparer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/BVItemYComparer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/BVItemYComparer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/BVItemZComparer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/BVItemZComparer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DetourBuilder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DetourBuilder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DotRecast.Detour.csproj (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DotRecast.Detour.csproj.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtBVNode.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtBVNode.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtConnectPoly.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtConnectPoly.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtConvexConvexInFlag.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtConvexConvexInFlag.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtConvexConvexIntersection.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtConvexConvexIntersection.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtConvexConvexIntersections.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtConvexConvexIntersections.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtDefaultQueryHeuristic.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtDefaultQueryHeuristic.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtDetailTriEdgeFlags.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtDetailTriEdgeFlags.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtFindNearestPolyQuery.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtFindNearestPolyQuery.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtFindPathOption.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtFindPathOption.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtFindPathOptions.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtFindPathOptions.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtLink.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtLink.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtMeshData.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtMeshData.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtMeshHeader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtMeshHeader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtMeshTile.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtMeshTile.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNavMesh.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNavMesh.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNavMeshBuilder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNavMeshBuilder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNavMeshCreateParams.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNavMeshCreateParams.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNavMeshParams.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNavMeshParams.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNavMeshQuery.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNavMeshQuery.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNavMeshRaycast.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNavMeshRaycast.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNoOpDtPolygonByCircleConstraint.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNoOpDtPolygonByCircleConstraint.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNode.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNode.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNodeFlags.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNodeFlags.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNodePool.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNodePool.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNodeQueue.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtNodeQueue.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtOffMeshConnection.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtOffMeshConnection.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtPathUtils.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtPathUtils.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtPoly.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtPoly.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtPolyDetail.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtPolyDetail.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtPolyPoint.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtPolyPoint.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtPolyTypes.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtPolyTypes.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtQueryData.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtQueryData.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtQueryDefaultFilter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtQueryDefaultFilter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtQueryEmptyFilter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtQueryEmptyFilter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtQueryNoOpFilter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtQueryNoOpFilter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtRaycastHit.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtRaycastHit.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtRaycastOptions.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtRaycastOptions.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtSegInterval.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtSegInterval.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtStatus.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtStatus.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtStraightPath.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtStraightPath.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtStraightPathFlags.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtStraightPathFlags.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtStraightPathOption.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtStraightPathOption.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtStraightPathOptions.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtStraightPathOptions.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtStrictDtPolygonByCircleConstraint.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtStrictDtPolygonByCircleConstraint.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtUtils.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/DtUtils.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/IDtPolyQuery.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/IDtPolyQuery.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/IDtPolygonByCircleConstraint.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/IDtPolygonByCircleConstraint.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/IDtQueryFilter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/IDtQueryFilter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/IDtQueryHeuristic.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/IDtQueryHeuristic.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtMeshDataReader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtMeshDataReader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtMeshDataWriter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtMeshDataWriter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtMeshSetReader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtMeshSetReader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtMeshSetWriter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtMeshSetWriter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtNavMeshParamWriter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtNavMeshParamWriter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtNavMeshParamsReader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtNavMeshParamsReader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtWriter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/DtWriter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/IOUtils.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/IOUtils.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/NavMeshSetHeader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/NavMeshSetHeader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/NavMeshTileHeader.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Detour/Io/NavMeshTileHeader.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Builder.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Builder/DemoNavMeshBuilder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Builder/DemoNavMeshBuilder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Builder/NavMeshBuildResult.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Builder/NavMeshBuildResult.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Builder/SampleAreaModifications.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Builder/SampleAreaModifications.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Builder/SoloNavMeshBuilder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Builder/SoloNavMeshBuilder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Builder/TileNavMeshBuilder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Builder/TileNavMeshBuilder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/DotRecast.Recast.Toolset.csproj (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/DotRecast.Recast.Toolset.csproj.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Geom.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Geom/DemoDtTileCacheMeshProcess.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Geom/DemoDtTileCacheMeshProcess.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Geom/DemoInputGeomProvider.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Geom/DemoInputGeomProvider.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/IRcGizmoMeshFilter.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/IRcGizmoMeshFilter.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcBoxGizmo.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcBoxGizmo.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcCapsuleGizmo.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcCapsuleGizmo.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcCompositeGizmo.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcCompositeGizmo.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcCylinderGizmo.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcCylinderGizmo.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcGizmo.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcGizmo.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcGizmoFactory.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcGizmoFactory.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcGizmoHelper.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcGizmoHelper.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcSphereGizmo.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcSphereGizmo.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcTrimeshGizmo.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Gizmos/RcTrimeshGizmo.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/IRcToolable.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/IRcToolable.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/RcNavMeshBuildSettings.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/RcNavMeshBuildSettings.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcConvexVolumeTool.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcConvexVolumeTool.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdAgentData.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdAgentData.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdAgentProfilingTool.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdAgentProfilingTool.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdAgentProfilingToolConfig.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdAgentProfilingToolConfig.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdAgentTrail.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdAgentTrail.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdAgentType.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdAgentType.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdTool.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdTool.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdToolMode.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcCrowdToolMode.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcDynamicColliderShape.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcDynamicColliderShape.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcDynamicUpdateTool.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcDynamicUpdateTool.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcDynamicUpdateToolMode.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcDynamicUpdateToolMode.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcJumpLinkBuilderTool.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcJumpLinkBuilderTool.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcJumpLinkBuilderToolConfig.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcJumpLinkBuilderToolConfig.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcObstacleTool.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcObstacleTool.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcOffMeshConnectionTool.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcOffMeshConnectionTool.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcTestNavMeshTool.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcTestNavMeshTool.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcTestNavmeshToolMode.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcTestNavmeshToolMode.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcTileTool.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.Toolset/Tools/RcTileTool.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/DotRecast.Recast.csproj (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/DotRecast.Recast.csproj.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/BoundsItem.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/BoundsItem.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/BoundsItemXComparer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/BoundsItemXComparer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/BoundsItemYComparer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/BoundsItemYComparer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/DefaultInputGeomProvider.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/DefaultInputGeomProvider.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/IInputGeomProvider.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/IInputGeomProvider.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/RcChunkyTriMesh.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/RcChunkyTriMesh.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/RcChunkyTriMeshNode.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/RcChunkyTriMeshNode.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/RcOffMeshConnection.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/RcOffMeshConnection.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/RcTriMesh.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/RcTriMesh.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/SimpleInputGeomProvider.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/Geom/SimpleInputGeomProvider.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/IRcBuilderProgressListener.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/IRcBuilderProgressListener.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcAreaModification.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcAreaModification.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcAreas.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcAreas.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcAxis.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcAxis.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcBuildContoursFlags.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcBuildContoursFlags.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcBuilder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcBuilder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcBuilderConfig.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcBuilderConfig.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcBuilderResult.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcBuilderResult.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcCommons.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcCommons.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcCompactCell.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcCompactCell.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcCompactHeightfield.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcCompactHeightfield.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcCompactSpan.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcCompactSpan.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcCompactSpanBuilder.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcCompactSpanBuilder.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcCompacts.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcCompacts.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcConfig.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcConfig.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcConstants.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcConstants.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcContour.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcContour.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcContourHole.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcContourHole.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcContourHoleComparer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcContourHoleComparer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcContourRegion.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcContourRegion.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcContourSet.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcContourSet.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcContours.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcContours.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcConvexVolume.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcConvexVolume.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcDirtyEntry.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcDirtyEntry.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcFilledVolumeRasterization.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcFilledVolumeRasterization.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcFilters.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcFilters.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcHeightPatch.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcHeightPatch.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcHeightfield.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcHeightfield.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcHeightfieldLayer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcHeightfieldLayer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcHeightfieldLayerSet.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcHeightfieldLayerSet.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcLayerRegion.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcLayerRegion.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcLayerSweepSpan.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcLayerSweepSpan.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcLayers.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcLayers.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcLevelStackEntry.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcLevelStackEntry.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcMeshDetails.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcMeshDetails.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcMeshs.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcMeshs.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPartition.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPartition.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPartitionType.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPartitionType.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPolyMesh.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPolyMesh.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPolyMeshDetail.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPolyMeshDetail.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPolyMeshRaycast.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPolyMeshRaycast.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPotentialDiagonal.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPotentialDiagonal.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPotentialDiagonalComparer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcPotentialDiagonalComparer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcRasterizations.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcRasterizations.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcRegion.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcRegion.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcRegions.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcRegions.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcSpan.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcSpan.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcSpanPool.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcSpanPool.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcSweepSpan.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcSweepSpan.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcVoxelizations.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Src/DotRecast.Recast/RcVoxelizations.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Util.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Util/MeshData.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Map/DotRecast/Util/MeshData.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LAxis2D.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LAxis2D.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LAxis3D.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LAxis3D.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LFloat.Extension.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LFloat.Extension.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LFloat.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LFloat.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LMatrix3x3.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LMatrix3x3.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LQuaternion.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LQuaternion.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LRect.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LRect.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LVector.Extension.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LVector.Extension.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LVector.UnityExtension.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LVector.UnityExtension.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LVector2.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LVector2.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LVector2Int.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LVector2Int.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LVector3.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LVector3.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LVector3Int.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/BaseType/LVector3Int.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/HashCodeExtension.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/HashCodeExtension.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LMath.LVector.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LMath.LVector.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LMath.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LMath.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LRandom.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LRandom.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LUT.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LUT/LUTAcos.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LUT/LUTAcos.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LUT/LUTAsin.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LUT/LUTAsin.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LUT/LUTAtan2.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LUT/LUTAtan2.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LUT/LUTCos.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LUT/LUTCos.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LUT/LUTSin.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/LUT/LUTSin.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/PrimerLUT.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Math/PrimerLUT.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Action.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Action/NActionEnum.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Action/NActionEnum.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Entity.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Entity/JNetParam.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Entity/JNetParam.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Group.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Group/JNClientGroup.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Group/JNClientGroup.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/JNClientBase.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/JNClientBase.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/JNServerBase.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/JNServerBase.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/JNSocket.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/JNSocket.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/JNTCPClient.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/JNTCPClient.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/JNTCPServer.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/JNTCPServer.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Proto.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Proto/JNSyncMessage.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Proto/JNSyncMessage.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Proto/JNSyncMessage.proto (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Proto/JNSyncMessage.proto.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Proto/NActionMessage.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Proto/NActionMessage.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Proto/NActionMessage.proto (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Proto/NActionMessage.proto.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Util.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Util/NDataUtil.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Network/Util/NDataUtil.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Frame.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Frame/JNSyncFrameService.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Frame/JNSyncFrameService.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/State.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/State/JNSStateClientService.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/State/JNSStateClientService.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/State/JNSStateServerService.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/State/JNSStateServerService.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/Entity.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/Entity/Component.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/Entity/Component/JNTileComponent.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/Entity/Component/JNTileComponent.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/Entity/JNTileContext.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/Entity/JNTileContext.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/Entity/JNTileContexts.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/Entity/JNTileContexts.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/Entity/JNTileEntity.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/Entity/JNTileEntity.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/IJNTileCycle.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/IJNTileCycle.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/JNSSTileClientService.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/JNSSTileClientService.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/JNSSTileServerService.MasterSlave.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/JNSSTileServerService.MasterSlave.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/JNSSTileServerService.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/JNSSTileServerService.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/JNSSTileTool.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/App/Tile/JNSSTileTool.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Debuger.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Debuger/JNTileServerDebuger.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Debuger/JNTileServerDebuger.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/Component.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/Component/Components.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/Component/Components/JNTransformComponent.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/Component/Components/JNTransformComponent.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/Component/JNComponent.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/Component/JNComponent.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/Component/JNEntityLookup.cs (90%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/Component/JNEntityLookup.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/JNContext.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/JNContext.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/JNContexts.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/JNContexts.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/JNEntity.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/Entity/JNEntity.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/IJNSyncCycle.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/IJNSyncCycle.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/IJNSyncId.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/IJNSyncId.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/JNBaseSystem.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/JNBaseSystem.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/JNSyncDefaultService.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/JNSyncDefaultService.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/JNSyncService.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/JNSyncService.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/Data.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/Data/SFrameDataSystem.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/Data/SFrameDataSystem.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/Data/SStateDataSystem.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/Data/SStateDataSystem.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/Data/STileDataSystem.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/Data/STileDataSystem.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/Logic.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/Logic/JNInputSystem.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/Logic/JNInputSystem.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/Logic/JNRandomSystem.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/Logic/JNRandomSystem.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/SBaseSystem.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/SBaseSystem.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/SDataSystem.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/SDataSystem.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/SLogicSystem.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/SLogicSystem.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/SViewSystem.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/System/SViewSystem.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/View.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/View/IViewData.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/View/IViewData.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/View/ViewData.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Sync/View/ViewData.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/System.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/System/SystemBase.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/System/SystemBase.cs.meta (100%) create mode 100644 JNFrame2/Assets/UsePlugins/JNGame/Runtime/Tools.meta rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/EventDispatcher.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/EventDispatcher.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/JAPI.cs (95%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/JAPI.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/JsonUtil.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/JsonUtil.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/NetTool.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/NetTool.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/NoThread.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/NoThread/Interlocked.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/NoThread/Interlocked.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/Profiler.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/Profiler.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/ProtoUtil.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/ProtoUtil.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/RandomUtil.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/RandomUtil.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/Singleton.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/Singleton.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/SingletonScene.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/SingletonScene.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/TSingleton.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/TSingleton.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/Timers.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/Timers.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/ToUtil.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/ToUtil.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/Types.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/Types/KeyValue.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/Types/KeyValue.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/UnityMainThreadDispatcher.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/UnityMainThreadDispatcher.cs.meta (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/UseUtil.cs (100%) rename JNFrame2/Assets/{JNGame => UsePlugins/JNGame/Runtime}/Util/UseUtil.cs.meta (100%) create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedList.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedList.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedListRange.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedListRange.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkMultiDictionary.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkMultiDictionary.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/TypeNamePair.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/TypeNamePair.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventArgs.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventArgs.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventDispatcher.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventDispatcher.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventListener.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventListener.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventUtil.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventUtil.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Exception.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Exception/GameFrameworkException.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Exception/GameFrameworkException.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/GameFrameworkEventArgs.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/GameFrameworkEventArgs.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.ILogHelper.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.ILogHelper.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLogLevel.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLogLevel.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/Log.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/Log.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseEventArgs.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseEventArgs.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseStatusCode.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseStatusCode.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/ErrorEventArgs.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/ErrorEventArgs.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/IWebSocket.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/IWebSocket.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/MessageEventArgs.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/MessageEventArgs.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Opcode.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Opcode.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/OpenEventArgs.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/OpenEventArgs.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Settings.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Settings.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/WebSocketState.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/WebSocketState.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocket.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocket.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocketManager.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocketManager.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocket.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocket.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocketManager.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocketManager.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/IReference.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/IReference.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/MemoryPoolExtension.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/MemoryPoolExtension.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.ReferenceCollection.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.ReferenceCollection.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePoolInfo.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePoolInfo.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/StreamingAssetsHelper.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultJsonHelper.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultJsonHelper.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultLogHelper.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultLogHelper.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultTextHelper.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultTextHelper.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultVersionHelper.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultVersionHelper.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/UnityJsonHelper.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/UnityJsonHelper.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Assembly.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Assembly.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Converter.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Converter.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Encryption.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Encryption.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.File.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.File.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Http.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Http.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.IJsonHelper.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.IJsonHelper.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Marshal.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Marshal.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Path.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Path.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Reflection.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Reflection.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.ITextHelper.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.ITextHelper.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/GenericVariable.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/GenericVariable.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarBoolean.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarBoolean.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByte.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByte.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByteArray.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByteArray.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarChar.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarChar.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarCharArray.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarCharArray.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor32.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor32.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDateTime.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDateTime.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDecimal.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDecimal.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDouble.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDouble.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarGameObject.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarGameObject.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt16.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt16.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt32.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt32.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt64.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt64.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarMaterial.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarMaterial.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarObject.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarObject.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarQuaternion.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarQuaternion.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarRect.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarRect.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSByte.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSByte.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSingle.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSingle.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarString.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarString.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarStringList.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarStringList.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTexture.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTexture.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTransform.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTransform.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt16.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt16.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt32.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt32.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt64.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt64.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUnityObject.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUnityObject.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector2.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector2.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector3.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector3.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector4.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector4.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/Variable.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/Variable.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.IVersionHelper.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.IVersionHelper.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByLocationOperation.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByLocationOperation.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByTagOperation.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByTagOperation.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsOperation.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsOperation.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgent.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgent.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgentRuntimeState.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgentRuntimeState.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioCategory.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioCategory.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioGroupConfig.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioGroupConfig.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModule.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModule.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModuleImp.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModuleImp.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioType.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioType.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/IAudioModule.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/IAudioModule.cs.meta rename JNFrame2/Assets/{TextMesh Pro => UsePlugins/SHFrame/Runtime/Modules/AudioModule}/Resources.meta (77%) create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/Resources/AudioMixer.mixer rename JNFrame2/Assets/{TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta => UsePlugins/SHFrame/Runtime/Modules/AudioModule/Resources/AudioMixer.mixer.meta} (54%) create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/Fsm.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/Fsm.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmBase.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmBase.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmManager.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmManager.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmModule.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmModule.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmState.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmState.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsm.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsm.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsmManager.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsmManager.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameModule.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameModule.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameTime.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameTime/GameTime.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameTime/GameTime.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/Module.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/Module.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImp.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImp.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImpSystem.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImpSystem.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleSystem.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleSystem.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ShutdownType.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ShutdownType.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPool.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPool.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPoolManager.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPoolManager.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectBase.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectBase.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectInfo.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectInfo.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolBase.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolBase.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.Object.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.Object.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.ObjectPool.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.ObjectPool.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolModule.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolModule.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ReleaseObjectFilterCallback.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ReleaseObjectFilterCallback.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/IProcedureManager.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/IProcedureManager.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureBase.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureBase.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureManager.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureManager.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureModule.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureModule.cs.meta create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/RootModule.cs create mode 100644 JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/RootModule.cs.meta create mode 100644 JNFrame2/HotUpdate.csproj create mode 100644 JNFrame2/Logs/AssetImportWorker0-prev.log create mode 100644 JNFrame2/Logs/AssetImportWorker0.log create mode 100644 JNFrame2/Logs/AssetImportWorker1-prev.log create mode 100644 JNFrame2/Logs/AssetImportWorker1.log create mode 100644 JNFrame2/Logs/Packages-Update.log create mode 100644 JNFrame2/Logs/shadercompiler-AssetImportWorker0.log create mode 100644 JNFrame2/ProjectSettings/HybridCLRSettings.asset delete mode 100644 JNFrame2/ProjectSettings/boot.config create mode 100644 JNFrame2/SHFrame.Editor.csproj create mode 100644 JNFrame2/UserSettings/Layouts/default-2022.dwlt create mode 100644 JNFrame2/UserSettings/Search.index create mode 100644 JNFrame2/obj/Debug/HotUpdate.csproj.AssemblyReference.cache create mode 100644 JNFrame2/obj/Debug/SHFrame.Editor.csproj.AssemblyReference.cache diff --git a/.gitignore b/.gitignore index 2057d1fc..3cfa8c40 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,4 @@ out/ ### Mac OS ### .DS_Store headless/logger/ +JNFrame2/HybridCLRData/ diff --git a/JNFrame2/AimingRig.csproj b/JNFrame2/AimingRig.csproj index 3ad39e6f..5f25ba0b 100644 --- a/JNFrame2/AimingRig.csproj +++ b/JNFrame2/AimingRig.csproj @@ -26,7 +26,7 @@ full false Temp\Bin\Debug\AimingRig\ - UNITY_2021_3_34;UNITY_2021_3;UNITY_2021;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;NET_STANDARD;NET_STANDARD_2_1;NETSTANDARD;NETSTANDARD2_1;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CINEMACHINE_UGUI;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CINEMACHINE_UGUI;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER prompt 4 0169,0649 @@ -49,12 +49,12 @@ - - + + - + @@ -70,759 +70,758 @@ + + - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsNativeModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UNETModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.PackageManagerUIModule.dll + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIServiceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEditor.Graphs.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\TCPeasy\TCPeasy.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.4\lib\ReportGenerator\ReportGeneratorMerged.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\ref\2.1.0\netstandard.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\Microsoft.Win32.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.AppContext.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Buffers.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Concurrent.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.NonGeneric.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Specialized.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.EventBasedAsync.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.TypeConverter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Console.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Data.Common.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Contracts.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Debug.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.FileVersionInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Process.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.StackTrace.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TextWriterTraceListener.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tools.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TraceSource.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tracing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Drawing.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Dynamic.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Calendars.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.ZipFile.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.DriveInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Watcher.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.IsolatedStorage.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.MemoryMappedFiles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Pipes.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.UnmanagedMemoryStream.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Expressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Queryable.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Memory.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Http.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NameResolution.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NetworkInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Ping.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Requests.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Security.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Sockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebHeaderCollection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.Client.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Numerics.Vectors.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ObjectModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.DispatchProxy.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.ILGeneration.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.Lightweight.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Reader.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.ResourceManager.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Writer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.CompilerServices.VisualC.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Handles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.RuntimeInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Numerics.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Formatters.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Json.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Xml.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Claims.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Algorithms.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Csp.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.X509Certificates.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Principal.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.SecureString.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.RegularExpressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Overlapped.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Thread.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.ThreadPool.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Timer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ValueTuple.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.ReaderWriter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlSerializer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\Extensions\2.0.0\System.Runtime.InteropServices.WindowsRuntime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\mscorlib.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ComponentModel.Composition.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Core.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Data.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Drawing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.IO.Compression.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Net.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Numerics.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Runtime.Serialization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ServiceModel.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Transactions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Windows.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll diff --git a/JNFrame2/Assembly-CSharp-Editor.csproj b/JNFrame2/Assembly-CSharp-Editor.csproj index 308684b3..94cec19c 100644 --- a/JNFrame2/Assembly-CSharp-Editor.csproj +++ b/JNFrame2/Assembly-CSharp-Editor.csproj @@ -26,7 +26,7 @@ full false Temp\Bin\Debug\Assembly-CSharp-Editor\ - UNITY_2021_3_34;UNITY_2021_3;UNITY_2021;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;UNITY_EDITOR_ONLY_COMPILATION prompt 4 0169,0649 @@ -49,12 +49,12 @@ - - + + - + @@ -70,903 +70,917 @@ + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.NVIDIAModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.NVIDIAModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsNativeModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UNETModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.PackageManagerUIModule.dll + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIServiceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEditor.Graphs.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\TCPeasy\TCPeasy.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.4\lib\ReportGenerator\ReportGeneratorMerged.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.ext.nunit@1.0.6\net35\unity-custom\nunit.framework.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.TestRunner.dll - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.Flow.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VSCode.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.TextMeshPro.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualStudio.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.Performance.Profile-Analyzer.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.TestTools.CodeCoverage.Editor.OpenCover.Model.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.Timeline.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.Core.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.TextMeshPro.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.State.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.SettingsProvider.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.TestTools.CodeCoverage.Editor.OpenCover.Mono.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.PlasticSCM.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.Rider.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.Flow.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll - - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.Core.dll + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.EditorCoroutines.Editor.dll - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Cinemachine.dll + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\HybridCLR.Runtime.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\com.unity.cinemachine.editor.dll - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.Shared.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.AI.Navigation.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.PlasticSCM.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\YooAsset.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\HybridCLR.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.Timeline.Editor.dll - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.AI.Navigation.dll + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.ScriptableBuildPipeline.dll - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.AI.Navigation.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.Shared.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualStudio.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.Core.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.Core.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.Rider.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.Flow.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.Flow.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.Timeline.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.TestTools.CodeCoverage.Editor.OpenCover.Mono.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.SettingsProvider.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.Performance.Profile-Analyzer.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.TestTools.CodeCoverage.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.TestTools.CodeCoverage.Editor.OpenCover.Model.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.AI.Navigation.Updater.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.State.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.TextMeshPro.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.TextMeshPro.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\YooAsset.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.AI.Navigation.Editor.dll + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VisualScripting.State.dll + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.AI.Navigation.Editor.ConversionSystem.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Cinemachine.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.ScriptableBuildPipeline.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.VSCode.Editor.dll + @@ -977,50 +991,50 @@ {62753af3-1e0c-69e5-d3db-cf11598cd1b3} Assembly-CSharp - - {eb14efbc-e264-9b0a-c04d-d1e93cdf5a63} - BestHTTP - - - {33448493-9d07-9e6d-e65e-d48b790a1dbf} - StompyRobot.SRF.Editor - - - {786227ef-f2d4-16aa-9b5e-f745e7520e98} - StompyRobot.SRDebugger + + {928a2a75-dd5e-391a-39b4-3b93706f64ec} + UniTask.Addressables {9722de7c-517b-fffe-d423-d313eadf5149} StompyRobot.SRDebugger.Editor - - {694241c5-b793-03a0-1887-6d1b1abd5716} - UniTask.DOTween - {168b694c-7d58-d228-f9a3-02235c192fc5} UniTask.Linq - - {023a0336-4680-7ca2-9149-a72dd59bbaf2} - UniTask.TextMeshPro + + {786227ef-f2d4-16aa-9b5e-f745e7520e98} + StompyRobot.SRDebugger - - {7e65388c-f6a7-49e7-107c-67d307ad886b} - AimingRig + + {33448493-9d07-9e6d-e65e-d48b790a1dbf} + StompyRobot.SRF.Editor {bf8742e6-eee2-4cf6-3e82-d12e15802154} UniTask - - {928a2a75-dd5e-391a-39b4-3b93706f64ec} - UniTask.Addressables + + {7e65388c-f6a7-49e7-107c-67d307ad886b} + AimingRig + + + {023a0336-4680-7ca2-9149-a72dd59bbaf2} + UniTask.TextMeshPro {356a0975-52a0-edee-67e5-a8751d23d388} StompyRobot.SRF + + {eb14efbc-e264-9b0a-c04d-d1e93cdf5a63} + BestHTTP + + + {694241c5-b793-03a0-1887-6d1b1abd5716} + UniTask.DOTween + rJbe$&!uOc;s6;^T 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≦`0o(@JB0sERu3zfUsRNu(xa|rA`ieJ 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 Y&|?BN{_*!W3tm6{caJds=Lh%wJ%~ewUjP6A diff --git a/JNFrame2/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta b/JNFrame2/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta deleted file mode 100644 index f2fc8140..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta +++ /dev/null @@ -1,19 +0,0 @@ -fileFormatVersion: 2 -guid: e3265ab4bf004d28a9537516768c1c75 -timeCreated: 1484171297 -licenseType: Pro -TrueTypeFontImporter: - serializedVersion: 2 - fontSize: 16 - forceTextureCase: -2 - characterSpacing: 1 - characterPadding: 0 - includeFontData: 1 - use2xBehaviour: 0 - fontNames: [] - fallbackFontReferences: [] - customCharacters: - fontRenderingMode: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials.meta b/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials.meta deleted file mode 100644 index 8a011124..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 731f1baa9d144a9897cb1d341c2092b8 -folderAsset: yes -timeCreated: 1442040525 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat b/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat deleted file mode 100644 index 5bc142c4..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat +++ /dev/null @@ -1,106 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LiberationSans SDF - Drop Shadow - m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} - m_ShaderKeywords: OUTLINE_ON UNDERLAY_ON - m_LightmapFlags: 5 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Cube: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _FaceTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee, - type: 2} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _Ambient: 0.5 - - _Bevel: 0.5 - - _BevelClamp: 0 - - _BevelOffset: 0 - - _BevelRoundness: 0 - - _BevelWidth: 0 - - _BumpFace: 0 - - _BumpOutline: 0 - - _ColorMask: 15 - - _Diffuse: 0.5 - - _DiffusePower: 1 - - _FaceDilate: 0.1 - - _FaceUVSpeedX: 0 - - _FaceUVSpeedY: 0 - - _GlowInner: 0.05 - - _GlowOffset: 0 - - _GlowOuter: 0.05 - - _GlowPower: 0.75 - - _GradientScale: 10 - - _LightAngle: 3.1416 - - _MaskSoftnessX: 0 - - _MaskSoftnessY: 0 - - _OutlineSoftness: 0 - - _OutlineUVSpeedX: 0 - - _OutlineUVSpeedY: 0 - - _OutlineWidth: 0.1 - - _PerspectiveFilter: 0.875 - - _Reflectivity: 10 - - _ScaleRatioA: 0.9 - - _ScaleRatioB: 0.73125 - - _ScaleRatioC: 0.64125 - - _ScaleX: 1 - - _ScaleY: 1 - - _ShaderFlags: 0 - - _Sharpness: 0 - - _SpecularPower: 2 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _TextureHeight: 1024 - - _TextureWidth: 1024 - - _UnderlayDilate: 0 - - _UnderlayOffsetX: 0.5 - - _UnderlayOffsetY: -0.5 - - _UnderlaySoftness: 0.05 - - _VertexOffsetX: 0 - - _VertexOffsetY: 0 - - _WeightBold: 0.75 - - _WeightNormal: 0 - m_Colors: - - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} - - _FaceColor: {r: 1, g: 1, b: 1, a: 1} - - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} - - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} - - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} - - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} - - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta b/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta deleted file mode 100644 index fbd2cdb6..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e73a58f6e2794ae7b1b7e50b7fb811b0 -timeCreated: 1484172806 -licenseType: Pro -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset b/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset deleted file mode 100644 index e907cc73..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset +++ /dev/null @@ -1,343 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2180264 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LiberationSans SDF Material - m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 1 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Cube: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailAlbedoMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMask: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _FaceTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 28268798066460806} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ParallaxMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _Ambient: 0.5 - - _Bevel: 0.5 - - _BevelClamp: 0 - - _BevelOffset: 0 - - _BevelRoundness: 0 - - _BevelWidth: 0 - - _BumpFace: 0 - - _BumpOutline: 0 - - _BumpScale: 1 - - _ColorMask: 15 - - _CullMode: 0 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _Diffuse: 0.5 - - _DstBlend: 0 - - _FaceDilate: 0 - - _FaceUVSpeedX: 0 - - _FaceUVSpeedY: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _GlowInner: 0.05 - - _GlowOffset: 0 - - _GlowOuter: 0.05 - - _GlowPower: 0.75 - - _GradientScale: 10 - - _LightAngle: 3.1416 - - _MaskSoftnessX: 0 - - _MaskSoftnessY: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _OutlineSoftness: 0 - - _OutlineUVSpeedX: 0 - - _OutlineUVSpeedY: 0 - - _OutlineWidth: 0 - - _Parallax: 0.02 - - _PerspectiveFilter: 0.875 - - _Reflectivity: 10 - - _ScaleRatioA: 0.90909094 - - _ScaleRatioB: 0.73125 - - _ScaleRatioC: 0.7386364 - - _ScaleX: 1 - - _ScaleY: 1 - - _ShaderFlags: 0 - - _Sharpness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SpecularPower: 2 - - _SrcBlend: 1 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _TextureHeight: 512 - - _TextureWidth: 512 - - _UVSec: 0 - - _UnderlayDilate: 0 - - _UnderlayOffsetX: 0 - - _UnderlayOffsetY: 0 - - _UnderlaySoftness: 0 - - _VertexOffsetX: 0 - - _VertexOffsetY: 0 - - _WeightBold: 0.75 - - _WeightNormal: 0 - - _ZWrite: 1 - m_Colors: - - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} - - _FaceColor: {r: 1, g: 1, b: 1, a: 1} - - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} - - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} - - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} - - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} - - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - 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: 71c1514a6bd24e1e882cebbe1904ce04, type: 3} - m_Name: LiberationSans SDF - Fallback - m_EditorClassIdentifier: - hashCode: -1699145518 - material: {fileID: 2180264} - materialHashCode: 462855346 - m_Version: 1.1.0 - m_SourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75 - m_SourceFontFile_EditorRef: {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75, - type: 3} - m_SourceFontFile: {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75, type: 3} - m_AtlasPopulationMode: 1 - m_FaceInfo: - m_FamilyName: Liberation Sans - m_StyleName: Regular - m_PointSize: 86 - m_Scale: 1 - m_LineHeight: 98.8916 - m_AscentLine: 77.853516 - m_CapLine: 59 - m_MeanLine: 45 - m_Baseline: 0 - m_DescentLine: -18.22461 - m_SuperscriptOffset: 77.853516 - m_SuperscriptSize: 0.5 - m_SubscriptOffset: -18.22461 - m_SubscriptSize: 0.5 - m_UnderlineOffset: -12.261719 - m_UnderlineThickness: 6.298828 - m_StrikethroughOffset: 18 - m_StrikethroughThickness: 6.298828 - m_TabWidth: 24 - m_GlyphTable: [] - m_CharacterTable: [] - m_AtlasTextures: - - {fileID: 28268798066460806} - m_AtlasTextureIndex: 0 - m_IsMultiAtlasTexturesEnabled: 0 - m_ClearDynamicDataOnBuild: 1 - m_UsedGlyphRects: [] - m_FreeGlyphRects: - - m_X: 0 - m_Y: 0 - m_Width: 511 - m_Height: 511 - m_fontInfo: - Name: Liberation Sans - PointSize: 86 - Scale: 1 - CharacterCount: 250 - LineHeight: 98.90625 - Baseline: 0 - Ascender: 77.84375 - CapHeight: 59.1875 - Descender: -18.21875 - CenterLine: 0 - SuperscriptOffset: 77.84375 - SubscriptOffset: -12.261719 - SubSize: 0.5 - Underline: -12.261719 - UnderlineThickness: 6.298828 - strikethrough: 23.675 - strikethroughThickness: 0 - TabWidth: 239.0625 - Padding: 9 - AtlasWidth: 1024 - AtlasHeight: 1024 - atlas: {fileID: 0} - m_AtlasWidth: 512 - m_AtlasHeight: 512 - m_AtlasPadding: 9 - m_AtlasRenderMode: 4169 - m_glyphInfoList: [] - m_KerningTable: - kerningPairs: [] - m_FontFeatureTable: - m_GlyphPairAdjustmentRecords: [] - fallbackFontAssets: [] - m_FallbackFontAssetTable: [] - m_CreationSettings: - sourceFontFileName: - sourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75 - pointSizeSamplingMode: 0 - pointSize: 86 - padding: 9 - packingMode: 4 - atlasWidth: 512 - atlasHeight: 512 - characterSetSelectionMode: 1 - characterSequence: 32 - 126, 160 - 255, 8192 - 8303, 8364, 8482, 9633 - referencedFontAssetGUID: 8f586378b4e144a9851e7b34d9b748ee - referencedTextAssetGUID: - fontStyle: 0 - fontStyleModifier: 0 - renderMode: 4169 - includeFontFeatures: 1 - m_FontWeightTable: - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - fontWeights: - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - normalStyle: 0 - normalSpacingOffset: 0 - boldStyle: 0.75 - boldSpacing: 7 - italicStyle: 35 - tabSize: 10 ---- !u!28 &28268798066460806 -Texture2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LiberationSans SDF Atlas - m_ImageContentsHash: - serializedVersion: 2 - Hash: 00000000000000000000000000000000 - m_ForcedFallbackFormat: 4 - m_DownscaleFallback: 0 - serializedVersion: 2 - m_Width: 0 - m_Height: 0 - m_CompleteImageSize: 0 - m_TextureFormat: 1 - m_MipCount: 1 - m_IsReadable: 1 - m_StreamingMipmaps: 0 - m_StreamingMipmapsPriority: 0 - m_AlphaIsTransparency: 0 - m_ImageCount: 1 - m_TextureDimension: 2 - m_TextureSettings: - serializedVersion: 2 - m_FilterMode: 1 - m_Aniso: 1 - m_MipBias: 0 - m_WrapU: 0 - m_WrapV: 0 - m_WrapW: 0 - m_LightmapFormat: 0 - m_ColorSpace: 0 - image data: 0 - _typelessdata: - m_StreamData: - offset: 0 - size: 0 - path: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta b/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta deleted file mode 100644 index 42dd6acd..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2e498d1c8094910479dc3e1b768306a4 -timeCreated: 1484171803 -licenseType: Pro -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat b/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat deleted file mode 100644 index cca8ce89..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat +++ /dev/null @@ -1,104 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LiberationSans SDF - Outline - m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} - m_ShaderKeywords: OUTLINE_ON - m_LightmapFlags: 5 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _Cube: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _FaceTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee, - type: 2} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OutlineTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _Ambient: 0.5 - - _Bevel: 0.5 - - _BevelClamp: 0 - - _BevelOffset: 0 - - _BevelRoundness: 0 - - _BevelWidth: 0 - - _BumpFace: 0 - - _BumpOutline: 0 - - _ColorMask: 15 - - _Diffuse: 0.5 - - _FaceDilate: 0.1 - - _FaceUVSpeedX: 0 - - _FaceUVSpeedY: 0 - - _GlowInner: 0.05 - - _GlowOffset: 0 - - _GlowOuter: 0.05 - - _GlowPower: 0.75 - - _GradientScale: 10 - - _LightAngle: 3.1416 - - _MaskSoftnessX: 0 - - _MaskSoftnessY: 0 - - _OutlineSoftness: 0 - - _OutlineUVSpeedX: 0 - - _OutlineUVSpeedY: 0 - - _OutlineWidth: 0.1 - - _PerspectiveFilter: 0.875 - - _Reflectivity: 10 - - _ScaleRatioA: 0.9 - - _ScaleRatioB: 0.73125 - - _ScaleRatioC: 0.64125 - - _ScaleX: 1 - - _ScaleY: 1 - - _ShaderFlags: 0 - - _Sharpness: 0 - - _SpecularPower: 2 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _TextureHeight: 1024 - - _TextureWidth: 1024 - - _UnderlayDilate: 0 - - _UnderlayOffsetX: 0 - - _UnderlayOffsetY: 0 - - _UnderlaySoftness: 0 - - _VertexOffsetX: 0 - - _VertexOffsetY: 0 - - _WeightBold: 0.75 - - _WeightNormal: 0 - m_Colors: - - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} - - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} - - _FaceColor: {r: 1, g: 1, b: 1, a: 1} - - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} - - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} - - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} - - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} - - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta b/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta deleted file mode 100644 index 88d63348..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 79459efec17a4d00a321bdcc27bbc385 -timeCreated: 1484172856 -licenseType: Pro -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset b/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset deleted file mode 100644 index c7b0771e..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset +++ /dev/null @@ -1,7821 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2180264 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LiberationSans SDF Material - m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 1 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 28684132378477856} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _ColorMask: 15 - - _FaceDilate: 0 - - _GradientScale: 10 - - _MaskSoftnessX: 0 - - _MaskSoftnessY: 0 - - _OutlineSoftness: 0 - - _OutlineWidth: 0 - - _PerspectiveFilter: 0.875 - - _ScaleRatioA: 0.9 - - _ScaleRatioB: 1 - - _ScaleRatioC: 0.73125 - - _ScaleX: 1 - - _ScaleY: 1 - - _ShaderFlags: 0 - - _Sharpness: 0 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _TextureHeight: 1024 - - _TextureWidth: 1024 - - _UnderlayDilate: 0 - - _UnderlayOffsetX: 0 - - _UnderlayOffsetY: 0 - - _UnderlaySoftness: 0 - - _VertexOffsetX: 0 - - _VertexOffsetY: 0 - - _WeightBold: 0.75 - - _WeightNormal: 0 - m_Colors: - - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} - - _FaceColor: {r: 1, g: 1, b: 1, a: 1} - - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} - - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - 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: 71c1514a6bd24e1e882cebbe1904ce04, type: 3} - m_Name: LiberationSans SDF - m_EditorClassIdentifier: - hashCode: 231247347 - material: {fileID: 2180264} - materialHashCode: -1183942120 - m_Version: 1.1.0 - m_SourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75 - m_SourceFontFile_EditorRef: {fileID: 12800000, guid: e3265ab4bf004d28a9537516768c1c75, - type: 3} - m_SourceFontFile: {fileID: 0} - m_AtlasPopulationMode: 0 - m_FaceInfo: - m_FamilyName: Liberation Sans - m_StyleName: Regular - m_PointSize: 86 - m_Scale: 1 - m_LineHeight: 98.8916 - m_AscentLine: 77.853516 - m_CapLine: 59 - m_MeanLine: 45 - m_Baseline: 0 - m_DescentLine: -18.22461 - m_SuperscriptOffset: 77.853516 - m_SuperscriptSize: 0.5 - m_SubscriptOffset: -18.22461 - m_SubscriptSize: 0.5 - m_UnderlineOffset: -12.261719 - m_UnderlineThickness: 6.298828 - m_StrikethroughOffset: 18 - m_StrikethroughThickness: 6.298828 - m_TabWidth: 24 - m_GlyphTable: - - m_Index: 3 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 4 - m_Metrics: - m_Width: 9 - m_Height: 59 - m_HorizontalBearingX: 9 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 28 - m_GlyphRect: - m_X: 555 - m_Y: 816 - m_Width: 9 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 5 - m_Metrics: - m_Width: 25 - m_Height: 19 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 31 - m_GlyphRect: - m_X: 775 - m_Y: 922 - m_Width: 25 - m_Height: 19 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 6 - m_Metrics: - m_Width: 48 - m_Height: 59 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 471 - m_Y: 170 - m_Width: 48 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 7 - m_Metrics: - m_Width: 47 - m_Height: 70 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 64 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 161 - m_Y: 212 - m_Width: 47 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 8 - m_Metrics: - m_Width: 70 - m_Height: 61 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 76 - m_GlyphRect: - m_X: 409 - m_Y: 10 - m_Width: 70 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 9 - m_Metrics: - m_Width: 53 - m_Height: 61 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 437 - m_Y: 90 - m_Width: 53 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 10 - m_Metrics: - m_Width: 8 - m_Height: 19 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 16 - m_GlyphRect: - m_X: 975 - m_Y: 961 - m_Width: 8 - m_Height: 19 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 11 - m_Metrics: - m_Width: 24 - m_Height: 80 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 146 - m_Y: 673 - m_Width: 24 - m_Height: 80 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 12 - m_Metrics: - m_Width: 24 - m_Height: 80 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 189 - m_Y: 671 - m_Width: 24 - m_Height: 80 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 13 - m_Metrics: - m_Width: 31 - m_Height: 30 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 33 - m_GlyphRect: - m_X: 495 - m_Y: 984 - m_Width: 31 - m_Height: 30 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 14 - m_Metrics: - m_Width: 42 - m_Height: 43 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 50 - m_HorizontalAdvance: 50 - m_GlyphRect: - m_X: 972 - m_Y: 330 - m_Width: 42 - m_Height: 43 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 15 - m_Metrics: - m_Width: 10 - m_Height: 20 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 9 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 583 - m_Y: 992 - m_Width: 10 - m_Height: 20 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 16 - m_Metrics: - m_Width: 23 - m_Height: 7 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 26 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 399 - m_Y: 925 - m_Width: 23 - m_Height: 7 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 17 - m_Metrics: - m_Width: 10 - m_Height: 9 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 9 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 657 - m_Y: 958 - m_Width: 10 - m_Height: 9 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 18 - m_Metrics: - m_Width: 24 - m_Height: 63 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 695 - m_Y: 409 - m_Width: 24 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 19 - m_Metrics: - m_Width: 42 - m_Height: 61 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 532 - m_Y: 249 - m_Width: 42 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 20 - m_Metrics: - m_Width: 38 - m_Height: 59 - m_HorizontalBearingX: 6 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 915 - m_Y: 501 - m_Width: 38 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 21 - m_Metrics: - m_Width: 40 - m_Height: 60 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 596 - m_Y: 329 - m_Width: 40 - m_Height: 60 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 22 - m_Metrics: - m_Width: 42 - m_Height: 61 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 417 - m_Y: 503 - m_Width: 42 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 23 - m_Metrics: - m_Width: 45 - m_Height: 59 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 725 - m_Y: 252 - m_Width: 45 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 24 - m_Metrics: - m_Width: 42 - m_Height: 60 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 724 - m_Y: 330 - m_Width: 42 - m_Height: 60 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 25 - m_Metrics: - m_Width: 41 - m_Height: 61 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 912 - m_Y: 262 - m_Width: 41 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 26 - m_Metrics: - m_Width: 40 - m_Height: 59 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 438 - m_Y: 830 - m_Width: 40 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 27 - m_Metrics: - m_Width: 42 - m_Height: 61 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 733 - m_Y: 648 - m_Width: 42 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 28 - m_Metrics: - m_Width: 40 - m_Height: 61 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 856 - m_Y: 484 - m_Width: 40 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 29 - m_Metrics: - m_Width: 10 - m_Height: 45 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 897 - m_Y: 819 - m_Width: 10 - m_Height: 45 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 30 - m_Metrics: - m_Width: 10 - m_Height: 57 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 429 - m_Y: 287 - m_Width: 10 - m_Height: 57 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 31 - m_Metrics: - m_Width: 42 - m_Height: 43 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 50 - m_HorizontalAdvance: 50 - m_GlyphRect: - m_X: 846 - m_Y: 341 - m_Width: 42 - m_Height: 43 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 32 - m_Metrics: - m_Width: 42 - m_Height: 29 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 42 - m_HorizontalAdvance: 50 - m_GlyphRect: - m_X: 227 - m_Y: 281 - m_Width: 42 - m_Height: 29 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 33 - m_Metrics: - m_Width: 42 - m_Height: 43 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 50 - m_HorizontalAdvance: 50 - m_GlyphRect: - m_X: 972 - m_Y: 392 - m_Width: 42 - m_Height: 43 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 34 - m_Metrics: - m_Width: 42 - m_Height: 60 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 733 - m_Y: 728 - m_Width: 42 - m_Height: 60 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 35 - m_Metrics: - m_Width: 74 - m_Height: 74 - m_HorizontalBearingX: 6 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 87 - m_GlyphRect: - m_X: 10 - m_Y: 10 - m_Width: 74 - m_Height: 74 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 36 - m_Metrics: - m_Width: 57 - m_Height: 59 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 828 - m_Y: 103 - m_Width: 57 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 37 - m_Metrics: - m_Width: 46 - m_Height: 59 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 542 - m_Y: 486 - m_Width: 46 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 38 - m_Metrics: - m_Width: 55 - m_Height: 61 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 509 - m_Y: 88 - m_Width: 55 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 39 - m_Metrics: - m_Width: 51 - m_Height: 59 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 655 - m_Y: 252 - m_Width: 51 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 40 - m_Metrics: - m_Width: 47 - m_Height: 59 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 629 - m_Y: 409 - m_Width: 47 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 41 - m_Metrics: - m_Width: 43 - m_Height: 59 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 53 - m_GlyphRect: - m_X: 789 - m_Y: 259 - m_Width: 43 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 42 - m_Metrics: - m_Width: 57 - m_Height: 61 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 67 - m_GlyphRect: - m_X: 904 - m_Y: 103 - m_Width: 57 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 43 - m_Metrics: - m_Width: 48 - m_Height: 59 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 495 - m_Y: 407 - m_Width: 48 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 44 - m_Metrics: - m_Width: 9 - m_Height: 59 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 552 - m_Y: 919 - m_Width: 9 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 45 - m_Metrics: - m_Width: 36 - m_Height: 60 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 43 - m_GlyphRect: - m_X: 797 - m_Y: 569 - m_Width: 36 - m_Height: 60 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 46 - m_Metrics: - m_Width: 50 - m_Height: 59 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 458 - m_Y: 326 - m_Width: 50 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 47 - m_Metrics: - m_Width: 39 - m_Height: 59 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 497 - m_Y: 816 - m_Width: 39 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 48 - m_Metrics: - m_Width: 59 - m_Height: 59 - m_HorizontalBearingX: 6 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 71 - m_GlyphRect: - m_X: 97 - m_Y: 955 - m_Width: 59 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 49 - m_Metrics: - m_Width: 48 - m_Height: 59 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 562 - m_Y: 408 - m_Width: 48 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 50 - m_Metrics: - m_Width: 59 - m_Height: 61 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 67 - m_GlyphRect: - m_X: 583 - m_Y: 89 - m_Width: 59 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 51 - m_Metrics: - m_Width: 46 - m_Height: 59 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 669 - m_Y: 491 - m_Width: 46 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 52 - m_Metrics: - m_Width: 59 - m_Height: 76 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 67 - m_GlyphRect: - m_X: 10 - m_Y: 103 - m_Width: 59 - m_Height: 76 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 53 - m_Metrics: - m_Width: 52 - m_Height: 59 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 461 - m_Y: 248 - m_Width: 52 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 54 - m_Metrics: - m_Width: 51 - m_Height: 61 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 288 - m_Y: 273 - m_Width: 51 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 55 - m_Metrics: - m_Width: 50 - m_Height: 59 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 52 - m_GlyphRect: - m_X: 527 - m_Y: 329 - m_Width: 50 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 56 - m_Metrics: - m_Width: 50 - m_Height: 60 - m_HorizontalBearingX: 6 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 655 - m_Y: 330 - m_Width: 50 - m_Height: 60 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 57 - m_Metrics: - m_Width: 57 - m_Height: 59 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 273 - m_Y: 195 - m_Width: 57 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 58 - m_Metrics: - m_Width: 85 - m_Height: 59 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 85 - m_GlyphRect: - m_X: 103 - m_Y: 10 - m_Width: 85 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 59 - m_Metrics: - m_Width: 56 - m_Height: 59 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 58 - m_GlyphRect: - m_X: 175 - m_Y: 955 - m_Width: 56 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 60 - m_Metrics: - m_Width: 54 - m_Height: 59 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 56 - m_GlyphRect: - m_X: 582 - m_Y: 169 - m_Width: 54 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 61 - m_Metrics: - m_Width: 49 - m_Height: 59 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 53 - m_GlyphRect: - m_X: 427 - m_Y: 404 - m_Width: 49 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 62 - m_Metrics: - m_Width: 18 - m_Height: 80 - m_HorizontalBearingX: 6 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 232 - m_Y: 671 - m_Width: 18 - m_Height: 80 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 63 - m_Metrics: - m_Width: 24 - m_Height: 63 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 375 - m_Y: 951 - m_Width: 24 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 64 - m_Metrics: - m_Width: 18 - m_Height: 80 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 223 - m_Y: 393 - m_Width: 18 - m_Height: 80 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 65 - m_Metrics: - m_Width: 38 - m_Height: 31 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 38 - m_GlyphRect: - m_X: 630 - m_Y: 870 - m_Width: 38 - m_Height: 31 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 66 - m_Metrics: - m_Width: 51 - m_Height: 6 - m_HorizontalBearingX: -2 - m_HorizontalBearingY: -12 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 497 - m_Y: 894 - m_Width: 51 - m_Height: 6 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 67 - m_Metrics: - m_Width: 19 - m_Height: 13 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 456 - m_Y: 997 - m_Width: 19 - m_Height: 13 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 68 - m_Metrics: - m_Width: 45 - m_Height: 47 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 669 - m_Y: 648 - m_Width: 45 - m_Height: 47 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 69 - m_Metrics: - m_Width: 40 - m_Height: 63 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 738 - m_Y: 409 - m_Width: 40 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 70 - m_Metrics: - m_Width: 38 - m_Height: 47 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 43 - m_GlyphRect: - m_X: 908 - m_Y: 579 - m_Width: 38 - m_Height: 47 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 71 - m_Metrics: - m_Width: 40 - m_Height: 63 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 797 - m_Y: 403 - m_Width: 40 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 72 - m_Metrics: - m_Width: 42 - m_Height: 47 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 785 - m_Y: 337 - m_Width: 42 - m_Height: 47 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 73 - m_Metrics: - m_Width: 25 - m_Height: 62 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 25 - m_GlyphRect: - m_X: 538 - m_Y: 168 - m_Width: 25 - m_Height: 62 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 74 - m_Metrics: - m_Width: 40 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 86 - m_Y: 872 - m_Width: 40 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 75 - m_Metrics: - m_Width: 38 - m_Height: 62 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 430 - m_Y: 666 - m_Width: 38 - m_Height: 62 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 76 - m_Metrics: - m_Width: 9 - m_Height: 62 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 19 - m_GlyphRect: - m_X: 852 - m_Y: 567 - m_Width: 9 - m_Height: 62 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 77 - m_Metrics: - m_Width: 17 - m_Height: 80 - m_HorizontalBearingX: -3 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 20 - m_GlyphRect: - m_X: 145 - m_Y: 773 - m_Width: 17 - m_Height: 80 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 78 - m_Metrics: - m_Width: 40 - m_Height: 62 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 44 - m_GlyphRect: - m_X: 856 - m_Y: 403 - m_Width: 40 - m_Height: 62 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 79 - m_Metrics: - m_Width: 9 - m_Height: 62 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 19 - m_GlyphRect: - m_X: 880 - m_Y: 564 - m_Width: 9 - m_Height: 62 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 80 - m_Metrics: - m_Width: 64 - m_Height: 46 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 74 - m_GlyphRect: - m_X: 378 - m_Y: 222 - m_Width: 64 - m_Height: 46 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 81 - m_Metrics: - m_Width: 38 - m_Height: 46 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 630 - m_Y: 805 - m_Width: 38 - m_Height: 46 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 82 - m_Metrics: - m_Width: 42 - m_Height: 47 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 972 - m_Y: 264 - m_Width: 42 - m_Height: 47 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 83 - m_Metrics: - m_Width: 40 - m_Height: 64 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 145 - m_Y: 872 - m_Width: 40 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 84 - m_Metrics: - m_Width: 40 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 329 - m_Y: 666 - m_Width: 40 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 85 - m_Metrics: - m_Width: 23 - m_Height: 46 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 926 - m_Y: 816 - m_Width: 23 - m_Height: 46 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 86 - m_Metrics: - m_Width: 38 - m_Height: 47 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 43 - m_GlyphRect: - m_X: 956 - m_Y: 740 - m_Width: 38 - m_Height: 47 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 87 - m_Metrics: - m_Width: 23 - m_Height: 56 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 55 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 388 - m_Y: 672 - m_Width: 23 - m_Height: 56 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 88 - m_Metrics: - m_Width: 38 - m_Height: 46 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 495 - m_Y: 919 - m_Width: 38 - m_Height: 46 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 89 - m_Metrics: - m_Width: 43 - m_Height: 45 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 43 - m_GlyphRect: - m_X: 226 - m_Y: 329 - m_Width: 43 - m_Height: 45 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 90 - m_Metrics: - m_Width: 63 - m_Height: 45 - m_HorizontalBearingX: -1 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 61 - m_GlyphRect: - m_X: 655 - m_Y: 188 - m_Width: 63 - m_Height: 45 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 91 - m_Metrics: - m_Width: 43 - m_Height: 45 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 43 - m_GlyphRect: - m_X: 737 - m_Y: 188 - m_Width: 43 - m_Height: 45 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 92 - m_Metrics: - m_Width: 41 - m_Height: 63 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 41 - m_GlyphRect: - m_X: 609 - m_Y: 640 - m_Width: 41 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 93 - m_Metrics: - m_Width: 35 - m_Height: 45 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 42 - m_GlyphRect: - m_X: 968 - m_Y: 806 - m_Width: 35 - m_Height: 45 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 94 - m_Metrics: - m_Width: 27 - m_Height: 80 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 164 - m_Y: 113 - m_Width: 27 - m_Height: 80 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 95 - m_Metrics: - m_Width: 8 - m_Height: 80 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 22 - m_GlyphRect: - m_X: 181 - m_Y: 772 - m_Width: 8 - m_Height: 80 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 96 - m_Metrics: - m_Width: 27 - m_Height: 80 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 227 - m_Y: 182 - m_Width: 27 - m_Height: 80 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 97 - m_Metrics: - m_Width: 44 - m_Height: 11 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 34 - m_HorizontalAdvance: 50 - m_GlyphRect: - m_X: 333 - m_Y: 832 - m_Width: 44 - m_Height: 11 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 98 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 99 - m_Metrics: - m_Width: 10 - m_Height: 59 - m_HorizontalBearingX: 9 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 28 - m_GlyphRect: - m_X: 349 - m_Y: 195 - m_Width: 10 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 100 - m_Metrics: - m_Width: 38 - m_Height: 60 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 915 - m_Y: 422 - m_Width: 38 - m_Height: 60 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 101 - m_Metrics: - m_Width: 45 - m_Height: 60 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 669 - m_Y: 569 - m_Width: 45 - m_Height: 60 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 102 - m_Metrics: - m_Width: 40 - m_Height: 40 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 48 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 733 - m_Y: 807 - m_Width: 40 - m_Height: 40 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 103 - m_Metrics: - m_Width: 50 - m_Height: 59 - m_HorizontalBearingX: -1 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 358 - m_Y: 357 - m_Width: 50 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 104 - m_Metrics: - m_Width: 8 - m_Height: 80 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 22 - m_GlyphRect: - m_X: 306 - m_Y: 766 - m_Width: 8 - m_Height: 80 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 105 - m_Metrics: - m_Width: 40 - m_Height: 69 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 223 - m_Y: 492 - m_Width: 40 - m_Height: 69 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 106 - m_Metrics: - m_Width: 25 - m_Height: 8 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 931 - m_Y: 961 - m_Width: 25 - m_Height: 8 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 107 - m_Metrics: - m_Width: 61 - m_Height: 61 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 63 - m_GlyphRect: - m_X: 277 - m_Y: 90 - m_Width: 61 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 108 - m_Metrics: - m_Width: 32 - m_Height: 33 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 32 - m_GlyphRect: - m_X: 784 - m_Y: 870 - m_Width: 32 - m_Height: 33 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 109 - m_Metrics: - m_Width: 42 - m_Height: 34 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 39 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 972 - m_Y: 454 - m_Width: 42 - m_Height: 34 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 110 - m_Metrics: - m_Width: 42 - m_Height: 24 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 32 - m_HorizontalAdvance: 50 - m_GlyphRect: - m_X: 972 - m_Y: 560 - m_Width: 42 - m_Height: 24 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 111 - m_Metrics: - m_Width: 23 - m_Height: 7 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 26 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 583 - m_Y: 890 - m_Width: 23 - m_Height: 7 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 112 - m_Metrics: - m_Width: 61 - m_Height: 61 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 63 - m_GlyphRect: - m_X: 357 - m_Y: 90 - m_Width: 61 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 113 - m_Metrics: - m_Width: 50 - m_Height: 4 - m_HorizontalBearingX: -1 - m_HorizontalBearingY: 65 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 862 - m_Y: 961 - m_Width: 50 - m_Height: 4 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 114 - m_Metrics: - m_Width: 24 - m_Height: 24 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 34 - m_GlyphRect: - m_X: 687 - m_Y: 906 - m_Width: 24 - m_Height: 24 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 115 - m_Metrics: - m_Width: 43 - m_Height: 52 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 52 - m_HorizontalAdvance: 47 - m_GlyphRect: - m_X: 607 - m_Y: 487 - m_Width: 43 - m_Height: 52 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 116 - m_Metrics: - m_Width: 27 - m_Height: 36 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 792 - m_Y: 815 - m_Width: 27 - m_Height: 36 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 117 - m_Metrics: - m_Width: 27 - m_Height: 37 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 687 - m_Y: 796 - m_Width: 27 - m_Height: 37 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 118 - m_Metrics: - m_Width: 19 - m_Height: 13 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 545 - m_Y: 997 - m_Width: 19 - m_Height: 13 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 119 - m_Metrics: - m_Width: 43 - m_Height: 63 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 50 - m_GlyphRect: - m_X: 593 - m_Y: 247 - m_Width: 43 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 120 - m_Metrics: - m_Width: 40 - m_Height: 70 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 46 - m_GlyphRect: - m_X: 208 - m_Y: 770 - m_Width: 40 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 121 - m_Metrics: - m_Width: 10 - m_Height: 10 - m_HorizontalBearingX: 9 - m_HorizontalBearingY: 28 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 996 - m_Y: 932 - m_Width: 10 - m_Height: 10 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 122 - m_Metrics: - m_Width: 16 - m_Height: 18 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 622 - m_Y: 958 - m_Width: 16 - m_Height: 18 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 123 - m_Metrics: - m_Width: 24 - m_Height: 35 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 687 - m_Y: 852 - m_Width: 24 - m_Height: 35 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 124 - m_Metrics: - m_Width: 29 - m_Height: 33 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 31 - m_GlyphRect: - m_X: 835 - m_Y: 877 - m_Width: 29 - m_Height: 33 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 125 - m_Metrics: - m_Width: 42 - m_Height: 34 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 39 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 972 - m_Y: 507 - m_Width: 42 - m_Height: 34 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 126 - m_Metrics: - m_Width: 67 - m_Height: 59 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 72 - m_GlyphRect: - m_X: 498 - m_Y: 10 - m_Width: 67 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 127 - m_Metrics: - m_Width: 68 - m_Height: 59 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 72 - m_GlyphRect: - m_X: 10 - m_Y: 955 - m_Width: 68 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 128 - m_Metrics: - m_Width: 66 - m_Height: 60 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 72 - m_GlyphRect: - m_X: 584 - m_Y: 10 - m_Width: 66 - m_Height: 60 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 129 - m_Metrics: - m_Width: 43 - m_Height: 60 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 45 - m_HorizontalAdvance: 53 - m_GlyphRect: - m_X: 903 - m_Y: 183 - m_Width: 43 - m_Height: 60 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 130 - m_Metrics: - m_Width: 57 - m_Height: 74 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 74 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 829 - m_Y: 10 - m_Width: 57 - m_Height: 74 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 131 - m_Metrics: - m_Width: 57 - m_Height: 74 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 74 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 905 - m_Y: 10 - m_Width: 57 - m_Height: 74 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 132 - m_Metrics: - m_Width: 57 - m_Height: 75 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 75 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 10 - m_Y: 673 - m_Width: 57 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 133 - m_Metrics: - m_Width: 57 - m_Height: 75 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 75 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 10 - m_Y: 767 - m_Width: 57 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 134 - m_Metrics: - m_Width: 57 - m_Height: 72 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 72 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 88 - m_Y: 113 - m_Width: 57 - m_Height: 72 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 135 - m_Metrics: - m_Width: 57 - m_Height: 75 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 75 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 10 - m_Y: 861 - m_Width: 57 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 136 - m_Metrics: - m_Width: 82 - m_Height: 59 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 86 - m_GlyphRect: - m_X: 207 - m_Y: 10 - m_Width: 82 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 137 - m_Metrics: - m_Width: 55 - m_Height: 78 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 10 - m_Y: 576 - m_Width: 55 - m_Height: 78 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 138 - m_Metrics: - m_Width: 47 - m_Height: 74 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 74 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 84 - m_Y: 580 - m_Width: 47 - m_Height: 74 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 139 - m_Metrics: - m_Width: 47 - m_Height: 74 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 74 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 157 - m_Y: 487 - m_Width: 47 - m_Height: 74 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 140 - m_Metrics: - m_Width: 47 - m_Height: 75 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 75 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 157 - m_Y: 393 - m_Width: 47 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 141 - m_Metrics: - m_Width: 47 - m_Height: 72 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 72 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 150 - m_Y: 580 - m_Width: 47 - m_Height: 72 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 142 - m_Metrics: - m_Width: 19 - m_Height: 74 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 74 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 227 - m_Y: 859 - m_Width: 19 - m_Height: 74 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 143 - m_Metrics: - m_Width: 19 - m_Height: 74 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 74 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 265 - m_Y: 859 - m_Width: 19 - m_Height: 74 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 144 - m_Metrics: - m_Width: 28 - m_Height: 75 - m_HorizontalBearingX: -2 - m_HorizontalBearingY: 75 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 981 - m_Y: 10 - m_Width: 28 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 145 - m_Metrics: - m_Width: 25 - m_Height: 72 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 72 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 216 - m_Y: 580 - m_Width: 25 - m_Height: 72 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 146 - m_Metrics: - m_Width: 58 - m_Height: 59 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 751 - m_Y: 102 - m_Width: 58 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 147 - m_Metrics: - m_Width: 48 - m_Height: 75 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 75 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 210 - m_Y: 88 - m_Width: 48 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 148 - m_Metrics: - m_Width: 59 - m_Height: 75 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 74 - m_HorizontalAdvance: 67 - m_GlyphRect: - m_X: 10 - m_Y: 388 - m_Width: 59 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 149 - m_Metrics: - m_Width: 59 - m_Height: 75 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 74 - m_HorizontalAdvance: 67 - m_GlyphRect: - m_X: 10 - m_Y: 482 - m_Width: 59 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 150 - m_Metrics: - m_Width: 59 - m_Height: 76 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 75 - m_HorizontalAdvance: 67 - m_GlyphRect: - m_X: 10 - m_Y: 198 - m_Width: 59 - m_Height: 76 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 151 - m_Metrics: - m_Width: 59 - m_Height: 76 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 75 - m_HorizontalAdvance: 67 - m_GlyphRect: - m_X: 10 - m_Y: 293 - m_Width: 59 - m_Height: 76 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 152 - m_Metrics: - m_Width: 59 - m_Height: 73 - m_HorizontalBearingX: 4 - m_HorizontalBearingY: 72 - m_HorizontalAdvance: 67 - m_GlyphRect: - m_X: 751 - m_Y: 10 - m_Width: 59 - m_Height: 73 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 153 - m_Metrics: - m_Width: 40 - m_Height: 39 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 48 - m_HorizontalAdvance: 50 - m_GlyphRect: - m_X: 838 - m_Y: 819 - m_Width: 40 - m_Height: 39 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 154 - m_Metrics: - m_Width: 63 - m_Height: 65 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 67 - m_GlyphRect: - m_X: 669 - m_Y: 10 - m_Width: 63 - m_Height: 65 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 155 - m_Metrics: - m_Width: 50 - m_Height: 75 - m_HorizontalBearingX: 6 - m_HorizontalBearingY: 74 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 88 - m_Y: 392 - m_Width: 50 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 156 - m_Metrics: - m_Width: 50 - m_Height: 75 - m_HorizontalBearingX: 6 - m_HorizontalBearingY: 74 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 88 - m_Y: 486 - m_Width: 50 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 157 - m_Metrics: - m_Width: 50 - m_Height: 76 - m_HorizontalBearingX: 6 - m_HorizontalBearingY: 75 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 88 - m_Y: 297 - m_Width: 50 - m_Height: 76 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 158 - m_Metrics: - m_Width: 50 - m_Height: 73 - m_HorizontalBearingX: 6 - m_HorizontalBearingY: 72 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 157 - m_Y: 301 - m_Width: 50 - m_Height: 73 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 159 - m_Metrics: - m_Width: 54 - m_Height: 74 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 74 - m_HorizontalAdvance: 56 - m_GlyphRect: - m_X: 88 - m_Y: 204 - m_Width: 54 - m_Height: 74 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 160 - m_Metrics: - m_Width: 46 - m_Height: 59 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 57 - m_GlyphRect: - m_X: 734 - m_Y: 491 - m_Width: 46 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 161 - m_Metrics: - m_Width: 44 - m_Height: 63 - m_HorizontalBearingX: 6 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 53 - m_GlyphRect: - m_X: 545 - m_Y: 564 - m_Width: 44 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 162 - m_Metrics: - m_Width: 45 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 324 - m_Y: 583 - m_Width: 45 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 163 - m_Metrics: - m_Width: 45 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 333 - m_Y: 749 - m_Width: 45 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 164 - m_Metrics: - m_Width: 45 - m_Height: 63 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 478 - m_Y: 485 - m_Width: 45 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 165 - m_Metrics: - m_Width: 45 - m_Height: 62 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 61 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 250 - m_Y: 952 - m_Width: 45 - m_Height: 62 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 166 - m_Metrics: - m_Width: 45 - m_Height: 60 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 733 - m_Y: 569 - m_Width: 45 - m_Height: 60 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 167 - m_Metrics: - m_Width: 45 - m_Height: 71 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 70 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 260 - m_Y: 580 - m_Width: 45 - m_Height: 71 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 168 - m_Metrics: - m_Width: 71 - m_Height: 47 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 76 - m_GlyphRect: - m_X: 661 - m_Y: 94 - m_Width: 71 - m_Height: 47 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 169 - m_Metrics: - m_Width: 38 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 43 - m_GlyphRect: - m_X: 427 - m_Y: 583 - m_Width: 38 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 170 - m_Metrics: - m_Width: 42 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 436 - m_Y: 747 - m_Width: 42 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 171 - m_Metrics: - m_Width: 42 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 484 - m_Y: 567 - m_Width: 42 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 172 - m_Metrics: - m_Width: 42 - m_Height: 63 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 608 - m_Y: 558 - m_Width: 42 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 173 - m_Metrics: - m_Width: 42 - m_Height: 60 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 851 - m_Y: 262 - m_Width: 42 - m_Height: 60 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 174 - m_Metrics: - m_Width: 19 - m_Height: 63 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 838 - m_Y: 737 - m_Width: 19 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 175 - m_Metrics: - m_Width: 19 - m_Height: 63 - m_HorizontalBearingX: 6 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 418 - m_Y: 951 - m_Width: 19 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 176 - m_Metrics: - m_Width: 29 - m_Height: 62 - m_HorizontalBearingX: -2 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 980 - m_Y: 104 - m_Width: 29 - m_Height: 62 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 177 - m_Metrics: - m_Width: 25 - m_Height: 59 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 794 - m_Y: 737 - m_Width: 25 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 178 - m_Metrics: - m_Width: 42 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 487 - m_Y: 650 - m_Width: 42 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 179 - m_Metrics: - m_Width: 38 - m_Height: 61 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 61 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 915 - m_Y: 342 - m_Width: 38 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 180 - m_Metrics: - m_Width: 42 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 548 - m_Y: 646 - m_Width: 42 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 181 - m_Metrics: - m_Width: 42 - m_Height: 64 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 497 - m_Y: 733 - m_Width: 42 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 182 - m_Metrics: - m_Width: 42 - m_Height: 63 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 672 - m_Y: 714 - m_Width: 42 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 183 - m_Metrics: - m_Width: 42 - m_Height: 62 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 61 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 314 - m_Y: 952 - m_Width: 42 - m_Height: 62 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 184 - m_Metrics: - m_Width: 42 - m_Height: 60 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 972 - m_Y: 185 - m_Width: 42 - m_Height: 60 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 185 - m_Metrics: - m_Width: 43 - m_Height: 39 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 48 - m_HorizontalAdvance: 47 - m_GlyphRect: - m_X: 965 - m_Y: 603 - m_Width: 43 - m_Height: 39 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 186 - m_Metrics: - m_Width: 50 - m_Height: 49 - m_HorizontalBearingX: 1 - m_HorizontalBearingY: 47 - m_HorizontalAdvance: 53 - m_GlyphRect: - m_X: 357 - m_Y: 435 - m_Width: 50 - m_Height: 49 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 187 - m_Metrics: - m_Width: 38 - m_Height: 64 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 558 - m_Y: 729 - m_Width: 38 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 188 - m_Metrics: - m_Width: 38 - m_Height: 64 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 615 - m_Y: 722 - m_Width: 38 - m_Height: 64 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 189 - m_Metrics: - m_Width: 38 - m_Height: 63 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 799 - m_Y: 485 - m_Width: 38 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 190 - m_Metrics: - m_Width: 38 - m_Height: 60 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 956 - m_Y: 661 - m_Width: 38 - m_Height: 60 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 191 - m_Metrics: - m_Width: 41 - m_Height: 81 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 63 - m_HorizontalAdvance: 41 - m_GlyphRect: - m_X: 86 - m_Y: 673 - m_Width: 41 - m_Height: 81 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 192 - m_Metrics: - m_Width: 40 - m_Height: 80 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 86 - m_Y: 773 - m_Width: 40 - m_Height: 80 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 193 - m_Metrics: - m_Width: 41 - m_Height: 77 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 41 - m_GlyphRect: - m_X: 269 - m_Y: 670 - m_Width: 41 - m_Height: 77 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 1997 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 43 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 1998 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 86 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 1999 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 43 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2000 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 86 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2001 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2002 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 22 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2003 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 14 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2004 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2005 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2006 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 17 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2007 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 7 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2008 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2009 - m_Metrics: - m_Width: 4 - m_Height: 65 - m_HorizontalBearingX: -2 - m_HorizontalBearingY: 54 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 204 - m_Y: 871 - m_Width: 4 - m_Height: 65 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2010 - m_Metrics: - m_Width: 20 - m_Height: 70 - m_HorizontalBearingX: -10 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 267 - m_Y: 770 - m_Width: 20 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2011 - m_Metrics: - m_Width: 21 - m_Height: 70 - m_HorizontalBearingX: -2 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 260 - m_Y: 393 - m_Width: 21 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2012 - m_Metrics: - m_Width: 21 - m_Height: 70 - m_HorizontalBearingX: -19 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 282 - m_Y: 482 - m_Width: 21 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2013 - m_Metrics: - m_Width: 48 - m_Height: 6 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 25 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 862 - m_Y: 936 - m_Width: 48 - m_Height: 6 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2014 - m_Metrics: - m_Width: 48 - m_Height: 6 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 25 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 929 - m_Y: 936 - m_Width: 48 - m_Height: 6 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2015 - m_Metrics: - m_Width: 86 - m_Height: 6 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 25 - m_HorizontalAdvance: 86 - m_GlyphRect: - m_X: 103 - m_Y: 88 - m_Width: 86 - m_Height: 6 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2016 - m_Metrics: - m_Width: 86 - m_Height: 6 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 25 - m_HorizontalAdvance: 86 - m_GlyphRect: - m_X: 277 - m_Y: 170 - m_Width: 86 - m_Height: 6 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2017 - m_Metrics: - m_Width: 22 - m_Height: 62 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 36 - m_GlyphRect: - m_X: 862 - m_Y: 181 - m_Width: 22 - m_Height: 62 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2018 - m_Metrics: - m_Width: 51 - m_Height: 15 - m_HorizontalBearingX: -2 - m_HorizontalBearingY: -4 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 288 - m_Y: 353 - m_Width: 51 - m_Height: 15 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2019 - m_Metrics: - m_Width: 9 - m_Height: 19 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 19 - m_GlyphRect: - m_X: 612 - m_Y: 995 - m_Width: 9 - m_Height: 19 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2020 - m_Metrics: - m_Width: 9 - m_Height: 19 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 19 - m_GlyphRect: - m_X: 640 - m_Y: 995 - m_Width: 9 - m_Height: 19 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2021 - m_Metrics: - m_Width: 9 - m_Height: 19 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 8 - m_HorizontalAdvance: 19 - m_GlyphRect: - m_X: 1002 - m_Y: 961 - m_Width: 9 - m_Height: 19 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2022 - m_Metrics: - m_Width: 9 - m_Height: 19 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 19 - m_GlyphRect: - m_X: 686 - m_Y: 949 - m_Width: 9 - m_Height: 19 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2023 - m_Metrics: - m_Width: 23 - m_Height: 19 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 967 - m_Y: 894 - m_Width: 23 - m_Height: 19 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2024 - m_Metrics: - m_Width: 23 - m_Height: 19 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 580 - m_Y: 916 - m_Width: 23 - m_Height: 19 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2025 - m_Metrics: - m_Width: 23 - m_Height: 19 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 8 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 580 - m_Y: 954 - m_Width: 23 - m_Height: 19 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2026 - m_Metrics: - m_Width: 22 - m_Height: 19 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 622 - m_Y: 920 - m_Width: 22 - m_Height: 19 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2027 - m_Metrics: - m_Width: 38 - m_Height: 68 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 303 - m_Y: 865 - m_Width: 38 - m_Height: 68 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2028 - m_Metrics: - m_Width: 38 - m_Height: 68 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 300 - m_Y: 387 - m_Width: 38 - m_Height: 68 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2029 - m_Metrics: - m_Width: 24 - m_Height: 23 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 40 - m_HorizontalAdvance: 30 - m_GlyphRect: - m_X: 819 - m_Y: 929 - m_Width: 24 - m_Height: 23 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2030 - m_Metrics: - m_Width: 64 - m_Height: 9 - m_HorizontalBearingX: 11 - m_HorizontalBearingY: 9 - m_HorizontalAdvance: 86 - m_GlyphRect: - m_X: 661 - m_Y: 160 - m_Width: 64 - m_Height: 9 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2031 - m_Metrics: - m_Width: 21 - m_Height: 63 - m_HorizontalBearingX: -2 - m_HorizontalBearingY: 52 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 876 - m_Y: 737 - m_Width: 21 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2032 - m_Metrics: - m_Width: 21 - m_Height: 63 - m_HorizontalBearingX: -19 - m_HorizontalBearingY: 52 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 916 - m_Y: 734 - m_Width: 21 - m_Height: 63 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2033 - m_Metrics: - m_Width: 20 - m_Height: 70 - m_HorizontalBearingX: -10 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 388 - m_Y: 583 - m_Width: 20 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2034 - m_Metrics: - m_Width: 20 - m_Height: 70 - m_HorizontalBearingX: -10 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 397 - m_Y: 747 - m_Width: 20 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2035 - m_Metrics: - m_Width: 20 - m_Height: 70 - m_HorizontalBearingX: -10 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 360 - m_Y: 862 - m_Width: 20 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2036 - m_Metrics: - m_Width: 0 - m_Height: 0 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 0 - m_HorizontalAdvance: 17 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 0 - m_Height: 0 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2037 - m_Metrics: - m_Width: 82 - m_Height: 61 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 86 - m_GlyphRect: - m_X: 308 - m_Y: 10 - m_Width: 82 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2038 - m_Metrics: - m_Width: 12 - m_Height: 22 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 16 - m_GlyphRect: - m_X: 427 - m_Y: 363 - m_Width: 12 - m_Height: 22 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2039 - m_Metrics: - m_Width: 26 - m_Height: 22 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 30 - m_GlyphRect: - m_X: 730 - m_Y: 907 - m_Width: 26 - m_Height: 22 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2040 - m_Metrics: - m_Width: 35 - m_Height: 22 - m_HorizontalBearingX: -4 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 30 - m_GlyphRect: - m_X: 730 - m_Y: 866 - m_Width: 35 - m_Height: 22 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2041 - m_Metrics: - m_Width: 23 - m_Height: 34 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 39 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 883 - m_Y: 883 - m_Width: 23 - m_Height: 34 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2042 - m_Metrics: - m_Width: 23 - m_Height: 34 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 39 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 925 - m_Y: 883 - m_Width: 23 - m_Height: 34 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2043 - m_Metrics: - m_Width: 28 - m_Height: 59 - m_HorizontalBearingX: 9 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 43 - m_GlyphRect: - m_X: 583 - m_Y: 812 - m_Width: 28 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2044 - m_Metrics: - m_Width: 35 - m_Height: 5 - m_HorizontalBearingX: -3 - m_HorizontalBearingY: 68 - m_HorizontalAdvance: 29 - m_GlyphRect: - m_X: 968 - m_Y: 870 - m_Width: 35 - m_Height: 5 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2045 - m_Metrics: - m_Width: 44 - m_Height: 59 - m_HorizontalBearingX: -18 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 14 - m_GlyphRect: - m_X: 799 - m_Y: 181 - m_Width: 44 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2046 - m_Metrics: - m_Width: 10 - m_Height: 62 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 24 - m_GlyphRect: - m_X: 322 - m_Y: 474 - m_Width: 10 - m_Height: 62 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2047 - m_Metrics: - m_Width: 20 - m_Height: 70 - m_HorizontalBearingX: -10 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 399 - m_Y: 836 - m_Width: 20 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2048 - m_Metrics: - m_Width: 20 - m_Height: 70 - m_HorizontalBearingX: -10 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 794 - m_Y: 648 - m_Width: 20 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2049 - m_Metrics: - m_Width: 22 - m_Height: 70 - m_HorizontalBearingX: -11 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 833 - m_Y: 648 - m_Width: 22 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2050 - m_Metrics: - m_Width: 22 - m_Height: 70 - m_HorizontalBearingX: -11 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 874 - m_Y: 648 - m_Width: 22 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2051 - m_Metrics: - m_Width: 22 - m_Height: 70 - m_HorizontalBearingX: -11 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 915 - m_Y: 645 - m_Width: 22 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2052 - m_Metrics: - m_Width: 20 - m_Height: 70 - m_HorizontalBearingX: -10 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 0 - m_GlyphRect: - m_X: 456 - m_Y: 908 - m_Width: 20 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2075 - m_Metrics: - m_Width: 47 - m_Height: 61 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 60 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 351 - m_Y: 503 - m_Width: 47 - m_Height: 61 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2090 - m_Metrics: - m_Width: 70 - m_Height: 33 - m_HorizontalBearingX: 7 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 86 - m_GlyphRect: - m_X: 382 - m_Y: 170 - m_Width: 70 - m_Height: 33 - m_Scale: 1 - m_AtlasIndex: 0 - - m_Index: 2179 - m_Metrics: - m_Width: 52 - m_Height: 51 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 51 - m_HorizontalAdvance: 52 - m_GlyphRect: - m_X: 358 - m_Y: 287 - m_Width: 52 - m_Height: 51 - m_Scale: 1 - m_AtlasIndex: 0 - m_CharacterTable: - - m_ElementType: 1 - m_Unicode: 32 - m_GlyphIndex: 3 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 33 - m_GlyphIndex: 4 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 34 - m_GlyphIndex: 5 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 35 - m_GlyphIndex: 6 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 36 - m_GlyphIndex: 7 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 37 - m_GlyphIndex: 8 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 38 - m_GlyphIndex: 9 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 39 - m_GlyphIndex: 10 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 40 - m_GlyphIndex: 11 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 41 - m_GlyphIndex: 12 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 42 - m_GlyphIndex: 13 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 43 - m_GlyphIndex: 14 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 44 - m_GlyphIndex: 15 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 45 - m_GlyphIndex: 16 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 46 - m_GlyphIndex: 17 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 47 - m_GlyphIndex: 18 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 48 - m_GlyphIndex: 19 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 49 - m_GlyphIndex: 20 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 50 - m_GlyphIndex: 21 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 51 - m_GlyphIndex: 22 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 52 - m_GlyphIndex: 23 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 53 - m_GlyphIndex: 24 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 54 - m_GlyphIndex: 25 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 55 - m_GlyphIndex: 26 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 56 - m_GlyphIndex: 27 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 57 - m_GlyphIndex: 28 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 58 - m_GlyphIndex: 29 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 59 - m_GlyphIndex: 30 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 60 - m_GlyphIndex: 31 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 61 - m_GlyphIndex: 32 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 62 - m_GlyphIndex: 33 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 63 - m_GlyphIndex: 34 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 64 - m_GlyphIndex: 35 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 65 - m_GlyphIndex: 36 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 66 - m_GlyphIndex: 37 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 67 - m_GlyphIndex: 38 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 68 - m_GlyphIndex: 39 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 69 - m_GlyphIndex: 40 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 70 - m_GlyphIndex: 41 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 71 - m_GlyphIndex: 42 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 72 - m_GlyphIndex: 43 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 73 - m_GlyphIndex: 44 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 74 - m_GlyphIndex: 45 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 75 - m_GlyphIndex: 46 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 76 - m_GlyphIndex: 47 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 77 - m_GlyphIndex: 48 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 78 - m_GlyphIndex: 49 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 79 - m_GlyphIndex: 50 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 80 - m_GlyphIndex: 51 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 81 - m_GlyphIndex: 52 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 82 - m_GlyphIndex: 53 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 83 - m_GlyphIndex: 54 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 84 - m_GlyphIndex: 55 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 85 - m_GlyphIndex: 56 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 86 - m_GlyphIndex: 57 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 87 - m_GlyphIndex: 58 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 88 - m_GlyphIndex: 59 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 89 - m_GlyphIndex: 60 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 90 - m_GlyphIndex: 61 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 91 - m_GlyphIndex: 62 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 92 - m_GlyphIndex: 63 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 93 - m_GlyphIndex: 64 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 94 - m_GlyphIndex: 65 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 95 - m_GlyphIndex: 66 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 96 - m_GlyphIndex: 67 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 97 - m_GlyphIndex: 68 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 98 - m_GlyphIndex: 69 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 99 - m_GlyphIndex: 70 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 100 - m_GlyphIndex: 71 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 101 - m_GlyphIndex: 72 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 102 - m_GlyphIndex: 73 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 103 - m_GlyphIndex: 74 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 104 - m_GlyphIndex: 75 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 105 - m_GlyphIndex: 76 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 106 - m_GlyphIndex: 77 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 107 - m_GlyphIndex: 78 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 108 - m_GlyphIndex: 79 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 109 - m_GlyphIndex: 80 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 110 - m_GlyphIndex: 81 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 111 - m_GlyphIndex: 82 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 112 - m_GlyphIndex: 83 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 113 - m_GlyphIndex: 84 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 114 - m_GlyphIndex: 85 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 115 - m_GlyphIndex: 86 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 116 - m_GlyphIndex: 87 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 117 - m_GlyphIndex: 88 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 118 - m_GlyphIndex: 89 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 119 - m_GlyphIndex: 90 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 120 - m_GlyphIndex: 91 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 121 - m_GlyphIndex: 92 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 122 - m_GlyphIndex: 93 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 123 - m_GlyphIndex: 94 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 124 - m_GlyphIndex: 95 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 125 - m_GlyphIndex: 96 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 126 - m_GlyphIndex: 97 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 160 - m_GlyphIndex: 98 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 161 - m_GlyphIndex: 99 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 162 - m_GlyphIndex: 100 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 163 - m_GlyphIndex: 101 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 164 - m_GlyphIndex: 102 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 165 - m_GlyphIndex: 103 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 166 - m_GlyphIndex: 104 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 167 - m_GlyphIndex: 105 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 168 - m_GlyphIndex: 106 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 169 - m_GlyphIndex: 107 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 170 - m_GlyphIndex: 108 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 171 - m_GlyphIndex: 109 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 172 - m_GlyphIndex: 110 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 173 - m_GlyphIndex: 111 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 174 - m_GlyphIndex: 112 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 175 - m_GlyphIndex: 113 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 176 - m_GlyphIndex: 114 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 177 - m_GlyphIndex: 115 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 178 - m_GlyphIndex: 116 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 179 - m_GlyphIndex: 117 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 180 - m_GlyphIndex: 118 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 181 - m_GlyphIndex: 119 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 182 - m_GlyphIndex: 120 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 183 - m_GlyphIndex: 121 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 184 - m_GlyphIndex: 122 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 185 - m_GlyphIndex: 123 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 186 - m_GlyphIndex: 124 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 187 - m_GlyphIndex: 125 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 188 - m_GlyphIndex: 126 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 189 - m_GlyphIndex: 127 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 190 - m_GlyphIndex: 128 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 191 - m_GlyphIndex: 129 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 192 - m_GlyphIndex: 130 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 193 - m_GlyphIndex: 131 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 194 - m_GlyphIndex: 132 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 195 - m_GlyphIndex: 133 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 196 - m_GlyphIndex: 134 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 197 - m_GlyphIndex: 135 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 198 - m_GlyphIndex: 136 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 199 - m_GlyphIndex: 137 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 200 - m_GlyphIndex: 138 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 201 - m_GlyphIndex: 139 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 202 - m_GlyphIndex: 140 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 203 - m_GlyphIndex: 141 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 204 - m_GlyphIndex: 142 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 205 - m_GlyphIndex: 143 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 206 - m_GlyphIndex: 144 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 207 - m_GlyphIndex: 145 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 208 - m_GlyphIndex: 146 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 209 - m_GlyphIndex: 147 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 210 - m_GlyphIndex: 148 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 211 - m_GlyphIndex: 149 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 212 - m_GlyphIndex: 150 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 213 - m_GlyphIndex: 151 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 214 - m_GlyphIndex: 152 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 215 - m_GlyphIndex: 153 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 216 - m_GlyphIndex: 154 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 217 - m_GlyphIndex: 155 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 218 - m_GlyphIndex: 156 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 219 - m_GlyphIndex: 157 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 220 - m_GlyphIndex: 158 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 221 - m_GlyphIndex: 159 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 222 - m_GlyphIndex: 160 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 223 - m_GlyphIndex: 161 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 224 - m_GlyphIndex: 162 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 225 - m_GlyphIndex: 163 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 226 - m_GlyphIndex: 164 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 227 - m_GlyphIndex: 165 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 228 - m_GlyphIndex: 166 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 229 - m_GlyphIndex: 167 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 230 - m_GlyphIndex: 168 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 231 - m_GlyphIndex: 169 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 232 - m_GlyphIndex: 170 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 233 - m_GlyphIndex: 171 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 234 - m_GlyphIndex: 172 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 235 - m_GlyphIndex: 173 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 236 - m_GlyphIndex: 174 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 237 - m_GlyphIndex: 175 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 238 - m_GlyphIndex: 176 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 239 - m_GlyphIndex: 177 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 240 - m_GlyphIndex: 178 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 241 - m_GlyphIndex: 179 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 242 - m_GlyphIndex: 180 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 243 - m_GlyphIndex: 181 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 244 - m_GlyphIndex: 182 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 245 - m_GlyphIndex: 183 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 246 - m_GlyphIndex: 184 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 247 - m_GlyphIndex: 185 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 248 - m_GlyphIndex: 186 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 249 - m_GlyphIndex: 187 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 250 - m_GlyphIndex: 188 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 251 - m_GlyphIndex: 189 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 252 - m_GlyphIndex: 190 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 253 - m_GlyphIndex: 191 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 254 - m_GlyphIndex: 192 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 255 - m_GlyphIndex: 193 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8192 - m_GlyphIndex: 1997 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8193 - m_GlyphIndex: 1998 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8194 - m_GlyphIndex: 1999 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8195 - m_GlyphIndex: 2000 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8196 - m_GlyphIndex: 2001 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8197 - m_GlyphIndex: 2002 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8198 - m_GlyphIndex: 2003 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8199 - m_GlyphIndex: 2004 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8200 - m_GlyphIndex: 2005 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8201 - m_GlyphIndex: 2006 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8202 - m_GlyphIndex: 2007 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8203 - m_GlyphIndex: 2008 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8204 - m_GlyphIndex: 2009 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8205 - m_GlyphIndex: 2010 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8206 - m_GlyphIndex: 2011 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8207 - m_GlyphIndex: 2012 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8210 - m_GlyphIndex: 2013 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8211 - m_GlyphIndex: 2014 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8212 - m_GlyphIndex: 2015 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8213 - m_GlyphIndex: 2016 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8214 - m_GlyphIndex: 2017 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8215 - m_GlyphIndex: 2018 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8216 - m_GlyphIndex: 2019 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8217 - m_GlyphIndex: 2020 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8218 - m_GlyphIndex: 2021 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8219 - m_GlyphIndex: 2022 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8220 - m_GlyphIndex: 2023 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8221 - m_GlyphIndex: 2024 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8222 - m_GlyphIndex: 2025 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8223 - m_GlyphIndex: 2026 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8224 - m_GlyphIndex: 2027 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8225 - m_GlyphIndex: 2028 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8226 - m_GlyphIndex: 2029 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8230 - m_GlyphIndex: 2030 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8234 - m_GlyphIndex: 2031 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8235 - m_GlyphIndex: 2032 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8236 - m_GlyphIndex: 2033 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8237 - m_GlyphIndex: 2034 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8238 - m_GlyphIndex: 2035 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8239 - m_GlyphIndex: 2036 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8240 - m_GlyphIndex: 2037 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8242 - m_GlyphIndex: 2038 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8243 - m_GlyphIndex: 2039 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8244 - m_GlyphIndex: 2040 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8249 - m_GlyphIndex: 2041 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8250 - m_GlyphIndex: 2042 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8252 - m_GlyphIndex: 2043 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8254 - m_GlyphIndex: 2044 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8260 - m_GlyphIndex: 2045 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8286 - m_GlyphIndex: 2046 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8298 - m_GlyphIndex: 2047 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8299 - m_GlyphIndex: 2048 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8300 - m_GlyphIndex: 2049 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8301 - m_GlyphIndex: 2050 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8302 - m_GlyphIndex: 2051 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8303 - m_GlyphIndex: 2052 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8364 - m_GlyphIndex: 2075 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 8482 - m_GlyphIndex: 2090 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 9633 - m_GlyphIndex: 2179 - m_Scale: 1 - m_AtlasTextures: - - {fileID: 28684132378477856} - m_AtlasTextureIndex: 0 - m_UsedGlyphRects: - - m_X: 0 - m_Y: 0 - m_Width: 93 - m_Height: 93 - - m_X: 93 - m_Y: 0 - m_Width: 104 - m_Height: 78 - - m_X: 197 - m_Y: 0 - m_Width: 101 - m_Height: 78 - - m_X: 298 - m_Y: 0 - m_Width: 101 - m_Height: 80 - - m_X: 0 - m_Y: 93 - m_Width: 78 - m_Height: 95 - - m_X: 0 - m_Y: 188 - m_Width: 78 - m_Height: 95 - - m_X: 0 - m_Y: 283 - m_Width: 78 - m_Height: 95 - - m_X: 0 - m_Y: 378 - m_Width: 78 - m_Height: 94 - - m_X: 0 - m_Y: 472 - m_Width: 78 - m_Height: 94 - - m_X: 0 - m_Y: 566 - m_Width: 74 - m_Height: 97 - - m_X: 399 - m_Y: 0 - m_Width: 89 - m_Height: 80 - - m_X: 0 - m_Y: 663 - m_Width: 76 - m_Height: 94 - - m_X: 0 - m_Y: 757 - m_Width: 76 - m_Height: 94 - - m_X: 0 - m_Y: 851 - m_Width: 76 - m_Height: 94 - - m_X: 0 - m_Y: 945 - m_Width: 87 - m_Height: 78 - - m_X: 488 - m_Y: 0 - m_Width: 86 - m_Height: 78 - - m_X: 574 - m_Y: 0 - m_Width: 85 - m_Height: 79 - - m_X: 659 - m_Y: 0 - m_Width: 82 - m_Height: 84 - - m_X: 741 - m_Y: 0 - m_Width: 78 - m_Height: 92 - - m_X: 819 - m_Y: 0 - m_Width: 76 - m_Height: 93 - - m_X: 895 - m_Y: 0 - m_Width: 76 - m_Height: 93 - - m_X: 971 - m_Y: 0 - m_Width: 47 - m_Height: 94 - - m_X: 93 - m_Y: 78 - m_Width: 105 - m_Height: 25 - - m_X: 78 - m_Y: 103 - m_Width: 76 - m_Height: 91 - - m_X: 78 - m_Y: 194 - m_Width: 73 - m_Height: 93 - - m_X: 78 - m_Y: 287 - m_Width: 69 - m_Height: 95 - - m_X: 78 - m_Y: 382 - m_Width: 69 - m_Height: 94 - - m_X: 78 - m_Y: 476 - m_Width: 69 - m_Height: 94 - - m_X: 74 - m_Y: 570 - m_Width: 66 - m_Height: 93 - - m_X: 76 - m_Y: 663 - m_Width: 60 - m_Height: 100 - - m_X: 76 - m_Y: 763 - m_Width: 59 - m_Height: 99 - - m_X: 76 - m_Y: 862 - m_Width: 59 - m_Height: 83 - - m_X: 87 - m_Y: 945 - m_Width: 78 - m_Height: 78 - - m_X: 154 - m_Y: 103 - m_Width: 46 - m_Height: 99 - - m_X: 200 - m_Y: 78 - m_Width: 67 - m_Height: 94 - - m_X: 151 - m_Y: 202 - m_Width: 66 - m_Height: 89 - - m_X: 147 - m_Y: 291 - m_Width: 69 - m_Height: 92 - - m_X: 147 - m_Y: 383 - m_Width: 66 - m_Height: 94 - - m_X: 147 - m_Y: 477 - m_Width: 66 - m_Height: 93 - - m_X: 140 - m_Y: 570 - m_Width: 66 - m_Height: 91 - - m_X: 267 - m_Y: 80 - m_Width: 80 - m_Height: 80 - - m_X: 347 - m_Y: 80 - m_Width: 80 - m_Height: 80 - - m_X: 427 - m_Y: 80 - m_Width: 72 - m_Height: 80 - - m_X: 499 - m_Y: 78 - m_Width: 74 - m_Height: 80 - - m_X: 573 - m_Y: 79 - m_Width: 78 - m_Height: 80 - - m_X: 651 - m_Y: 84 - m_Width: 90 - m_Height: 66 - - m_X: 741 - m_Y: 92 - m_Width: 77 - m_Height: 78 - - m_X: 818 - m_Y: 93 - m_Width: 76 - m_Height: 78 - - m_X: 894 - m_Y: 93 - m_Width: 76 - m_Height: 80 - - m_X: 970 - m_Y: 94 - m_Width: 48 - m_Height: 81 - - m_X: 267 - m_Y: 160 - m_Width: 105 - m_Height: 25 - - m_X: 217 - m_Y: 172 - m_Width: 46 - m_Height: 99 - - m_X: 263 - m_Y: 185 - m_Width: 76 - m_Height: 78 - - m_X: 372 - m_Y: 160 - m_Width: 89 - m_Height: 52 - - m_X: 339 - m_Y: 185 - m_Width: 29 - m_Height: 78 - - m_X: 368 - m_Y: 212 - m_Width: 83 - m_Height: 65 - - m_X: 136 - m_Y: 663 - m_Width: 43 - m_Height: 99 - - m_X: 179 - m_Y: 661 - m_Width: 43 - m_Height: 99 - - m_X: 206 - m_Y: 570 - m_Width: 44 - m_Height: 91 - - m_X: 222 - m_Y: 661 - m_Width: 37 - m_Height: 99 - - m_X: 213 - m_Y: 383 - m_Width: 37 - m_Height: 99 - - m_X: 213 - m_Y: 482 - m_Width: 59 - m_Height: 88 - - m_X: 250 - m_Y: 570 - m_Width: 64 - m_Height: 90 - - m_X: 259 - m_Y: 660 - m_Width: 60 - m_Height: 96 - - m_X: 135 - m_Y: 763 - m_Width: 36 - m_Height: 99 - - m_X: 135 - m_Y: 862 - m_Width: 59 - m_Height: 83 - - m_X: 165 - m_Y: 945 - m_Width: 75 - m_Height: 78 - - m_X: 171 - m_Y: 762 - m_Width: 27 - m_Height: 99 - - m_X: 198 - m_Y: 760 - m_Width: 59 - m_Height: 89 - - m_X: 194 - m_Y: 861 - m_Width: 23 - m_Height: 84 - - m_X: 217 - m_Y: 849 - m_Width: 38 - m_Height: 93 - - m_X: 240 - m_Y: 942 - m_Width: 64 - m_Height: 81 - - m_X: 255 - m_Y: 849 - m_Width: 38 - m_Height: 93 - - m_X: 257 - m_Y: 760 - m_Width: 39 - m_Height: 89 - - m_X: 296 - m_Y: 756 - m_Width: 27 - m_Height: 99 - - m_X: 293 - m_Y: 855 - m_Width: 57 - m_Height: 87 - - m_X: 304 - m_Y: 942 - m_Width: 61 - m_Height: 81 - - m_X: 651 - m_Y: 150 - m_Width: 83 - m_Height: 28 - - m_X: 461 - m_Y: 160 - m_Width: 67 - m_Height: 78 - - m_X: 528 - m_Y: 158 - m_Width: 44 - m_Height: 81 - - m_X: 572 - m_Y: 159 - m_Width: 73 - m_Height: 78 - - m_X: 645 - m_Y: 178 - m_Width: 82 - m_Height: 64 - - m_X: 451 - m_Y: 238 - m_Width: 71 - m_Height: 78 - - m_X: 522 - m_Y: 239 - m_Width: 61 - m_Height: 80 - - m_X: 583 - m_Y: 237 - m_Width: 62 - m_Height: 82 - - m_X: 645 - m_Y: 242 - m_Width: 70 - m_Height: 78 - - m_X: 216 - m_Y: 319 - m_Width: 62 - m_Height: 64 - - m_X: 217 - m_Y: 271 - m_Width: 61 - m_Height: 48 - - m_X: 278 - m_Y: 263 - m_Width: 70 - m_Height: 80 - - m_X: 250 - m_Y: 383 - m_Width: 40 - m_Height: 89 - - m_X: 348 - m_Y: 277 - m_Width: 71 - m_Height: 70 - - m_X: 278 - m_Y: 343 - m_Width: 70 - m_Height: 34 - - m_X: 290 - m_Y: 377 - m_Width: 57 - m_Height: 87 - - m_X: 419 - m_Y: 277 - m_Width: 29 - m_Height: 76 - - m_X: 448 - m_Y: 316 - m_Width: 69 - m_Height: 78 - - m_X: 517 - m_Y: 319 - m_Width: 69 - m_Height: 78 - - m_X: 586 - m_Y: 319 - m_Width: 59 - m_Height: 79 - - m_X: 645 - m_Y: 320 - m_Width: 69 - m_Height: 79 - - m_X: 348 - m_Y: 347 - m_Width: 69 - m_Height: 78 - - m_X: 417 - m_Y: 353 - m_Width: 31 - m_Height: 41 - - m_X: 347 - m_Y: 425 - m_Width: 69 - m_Height: 68 - - m_X: 417 - m_Y: 394 - m_Width: 68 - m_Height: 78 - - m_X: 485 - m_Y: 397 - m_Width: 67 - m_Height: 78 - - m_X: 552 - m_Y: 398 - m_Width: 67 - m_Height: 78 - - m_X: 619 - m_Y: 399 - m_Width: 66 - m_Height: 78 - - m_X: 685 - m_Y: 399 - m_Width: 43 - m_Height: 82 - - m_X: 272 - m_Y: 472 - m_Width: 40 - m_Height: 89 - - m_X: 312 - m_Y: 464 - m_Width: 29 - m_Height: 81 - - m_X: 341 - m_Y: 493 - m_Width: 66 - m_Height: 80 - - m_X: 314 - m_Y: 573 - m_Width: 64 - m_Height: 83 - - m_X: 319 - m_Y: 656 - m_Width: 59 - m_Height: 83 - - m_X: 323 - m_Y: 739 - m_Width: 64 - m_Height: 83 - - m_X: 378 - m_Y: 573 - m_Width: 39 - m_Height: 89 - - m_X: 378 - m_Y: 662 - m_Width: 42 - m_Height: 75 - - m_X: 387 - m_Y: 737 - m_Width: 39 - m_Height: 89 - - m_X: 407 - m_Y: 493 - m_Width: 61 - m_Height: 80 - - m_X: 417 - m_Y: 573 - m_Width: 57 - m_Height: 83 - - m_X: 420 - m_Y: 656 - m_Width: 57 - m_Height: 81 - - m_X: 426 - m_Y: 737 - m_Width: 61 - m_Height: 83 - - m_X: 468 - m_Y: 475 - m_Width: 64 - m_Height: 82 - - m_X: 474 - m_Y: 557 - m_Width: 61 - m_Height: 83 - - m_X: 477 - m_Y: 640 - m_Width: 61 - m_Height: 83 - - m_X: 532 - m_Y: 476 - m_Width: 65 - m_Height: 78 - - m_X: 535 - m_Y: 554 - m_Width: 63 - m_Height: 82 - - m_X: 538 - m_Y: 636 - m_Width: 61 - m_Height: 83 - - m_X: 487 - m_Y: 723 - m_Width: 61 - m_Height: 83 - - m_X: 548 - m_Y: 719 - m_Width: 57 - m_Height: 83 - - m_X: 597 - m_Y: 477 - m_Width: 62 - m_Height: 71 - - m_X: 598 - m_Y: 548 - m_Width: 61 - m_Height: 82 - - m_X: 599 - m_Y: 630 - m_Width: 60 - m_Height: 82 - - m_X: 605 - m_Y: 712 - m_Width: 57 - m_Height: 83 - - m_X: 659 - m_Y: 481 - m_Width: 65 - m_Height: 78 - - m_X: 659 - m_Y: 559 - m_Width: 64 - m_Height: 79 - - m_X: 659 - m_Y: 638 - m_Width: 64 - m_Height: 66 - - m_X: 662 - m_Y: 704 - m_Width: 61 - m_Height: 82 - - m_X: 714 - m_Y: 320 - m_Width: 61 - m_Height: 79 - - m_X: 715 - m_Y: 242 - m_Width: 64 - m_Height: 78 - - m_X: 728 - m_Y: 399 - m_Width: 59 - m_Height: 82 - - m_X: 724 - m_Y: 481 - m_Width: 65 - m_Height: 78 - - m_X: 723 - m_Y: 559 - m_Width: 64 - m_Height: 79 - - m_X: 723 - m_Y: 638 - m_Width: 61 - m_Height: 80 - - m_X: 723 - m_Y: 718 - m_Width: 61 - m_Height: 79 - - m_X: 727 - m_Y: 178 - m_Width: 62 - m_Height: 64 - - m_X: 789 - m_Y: 171 - m_Width: 63 - m_Height: 78 - - m_X: 779 - m_Y: 249 - m_Width: 62 - m_Height: 78 - - m_X: 775 - m_Y: 327 - m_Width: 61 - m_Height: 66 - - m_X: 787 - m_Y: 393 - m_Width: 59 - m_Height: 82 - - m_X: 789 - m_Y: 475 - m_Width: 57 - m_Height: 82 - - m_X: 852 - m_Y: 171 - m_Width: 41 - m_Height: 81 - - m_X: 893 - m_Y: 173 - m_Width: 62 - m_Height: 79 - - m_X: 841 - m_Y: 252 - m_Width: 61 - m_Height: 79 - - m_X: 902 - m_Y: 252 - m_Width: 60 - m_Height: 80 - - m_X: 962 - m_Y: 175 - m_Width: 61 - m_Height: 79 - - m_X: 962 - m_Y: 254 - m_Width: 61 - m_Height: 66 - - m_X: 962 - m_Y: 320 - m_Width: 61 - m_Height: 62 - - m_X: 836 - m_Y: 331 - m_Width: 61 - m_Height: 62 - - m_X: 846 - m_Y: 393 - m_Width: 59 - m_Height: 81 - - m_X: 846 - m_Y: 474 - m_Width: 59 - m_Height: 80 - - m_X: 905 - m_Y: 332 - m_Width: 57 - m_Height: 80 - - m_X: 962 - m_Y: 382 - m_Width: 61 - m_Height: 62 - - m_X: 905 - m_Y: 412 - m_Width: 57 - m_Height: 79 - - m_X: 962 - m_Y: 444 - m_Width: 61 - m_Height: 53 - - m_X: 905 - m_Y: 491 - m_Width: 57 - m_Height: 78 - - m_X: 962 - m_Y: 497 - m_Width: 61 - m_Height: 53 - - m_X: 962 - m_Y: 550 - m_Width: 61 - m_Height: 43 - - m_X: 323 - m_Y: 822 - m_Width: 63 - m_Height: 30 - - m_X: 350 - m_Y: 852 - m_Width: 39 - m_Height: 89 - - m_X: 365 - m_Y: 941 - m_Width: 43 - m_Height: 82 - - m_X: 389 - m_Y: 826 - m_Width: 39 - m_Height: 89 - - m_X: 428 - m_Y: 820 - m_Width: 59 - m_Height: 78 - - m_X: 487 - m_Y: 806 - m_Width: 58 - m_Height: 78 - - m_X: 784 - m_Y: 638 - m_Width: 39 - m_Height: 89 - - m_X: 787 - m_Y: 559 - m_Width: 55 - m_Height: 79 - - m_X: 784 - m_Y: 727 - m_Width: 44 - m_Height: 78 - - m_X: 823 - m_Y: 638 - m_Width: 41 - m_Height: 89 - - m_X: 828 - m_Y: 727 - m_Width: 38 - m_Height: 82 - - m_X: 842 - m_Y: 557 - m_Width: 28 - m_Height: 81 - - m_X: 870 - m_Y: 554 - m_Width: 28 - m_Height: 81 - - m_X: 898 - m_Y: 569 - m_Width: 57 - m_Height: 66 - - m_X: 955 - m_Y: 593 - m_Width: 62 - m_Height: 58 - - m_X: 864 - m_Y: 638 - m_Width: 41 - m_Height: 89 - - m_X: 905 - m_Y: 635 - m_Width: 41 - m_Height: 89 - - m_X: 946 - m_Y: 651 - m_Width: 57 - m_Height: 79 - - m_X: 866 - m_Y: 727 - m_Width: 40 - m_Height: 82 - - m_X: 906 - m_Y: 724 - m_Width: 40 - m_Height: 82 - - m_X: 946 - m_Y: 730 - m_Width: 57 - m_Height: 66 - - m_X: 389 - m_Y: 915 - m_Width: 42 - m_Height: 26 - - m_X: 408 - m_Y: 941 - m_Width: 38 - m_Height: 82 - - m_X: 446 - m_Y: 898 - m_Width: 39 - m_Height: 89 - - m_X: 545 - m_Y: 806 - m_Width: 28 - m_Height: 78 - - m_X: 573 - m_Y: 802 - m_Width: 47 - m_Height: 78 - - m_X: 620 - m_Y: 795 - m_Width: 57 - m_Height: 65 - - m_X: 677 - m_Y: 786 - m_Width: 46 - m_Height: 56 - - m_X: 723 - m_Y: 797 - m_Width: 59 - m_Height: 59 - - m_X: 782 - m_Y: 805 - m_Width: 46 - m_Height: 55 - - m_X: 828 - m_Y: 809 - m_Width: 59 - m_Height: 58 - - m_X: 487 - m_Y: 884 - m_Width: 70 - m_Height: 25 - - m_X: 485 - m_Y: 909 - m_Width: 57 - m_Height: 65 - - m_X: 485 - m_Y: 974 - m_Width: 50 - m_Height: 49 - - m_X: 542 - m_Y: 909 - m_Width: 28 - m_Height: 78 - - m_X: 887 - m_Y: 809 - m_Width: 29 - m_Height: 64 - - m_X: 916 - m_Y: 806 - m_Width: 42 - m_Height: 65 - - m_X: 958 - m_Y: 796 - m_Width: 54 - m_Height: 64 - - m_X: 620 - m_Y: 860 - m_Width: 57 - m_Height: 50 - - m_X: 677 - m_Y: 842 - m_Width: 43 - m_Height: 54 - - m_X: 720 - m_Y: 856 - m_Width: 54 - m_Height: 41 - - m_X: 774 - m_Y: 860 - m_Width: 51 - m_Height: 52 - - m_X: 825 - m_Y: 867 - m_Width: 48 - m_Height: 52 - - m_X: 873 - m_Y: 873 - m_Width: 42 - m_Height: 53 - - m_X: 446 - m_Y: 987 - m_Width: 38 - m_Height: 32 - - m_X: 958 - m_Y: 860 - m_Width: 54 - m_Height: 24 - - m_X: 535 - m_Y: 987 - m_Width: 38 - m_Height: 32 - - m_X: 677 - m_Y: 896 - m_Width: 43 - m_Height: 43 - - m_X: 720 - m_Y: 897 - m_Width: 45 - m_Height: 41 - - m_X: 765 - m_Y: 912 - m_Width: 44 - m_Height: 38 - - m_X: 809 - m_Y: 919 - m_Width: 43 - m_Height: 42 - - m_X: 852 - m_Y: 926 - m_Width: 67 - m_Height: 25 - - m_X: 852 - m_Y: 951 - m_Width: 69 - m_Height: 23 - - m_X: 915 - m_Y: 873 - m_Width: 42 - m_Height: 53 - - m_X: 957 - m_Y: 884 - m_Width: 42 - m_Height: 38 - - m_X: 919 - m_Y: 926 - m_Width: 67 - m_Height: 25 - - m_X: 921 - m_Y: 951 - m_Width: 44 - m_Height: 27 - - m_X: 965 - m_Y: 951 - m_Width: 27 - m_Height: 38 - - m_X: 573 - m_Y: 880 - m_Width: 42 - m_Height: 26 - - m_X: 570 - m_Y: 906 - m_Width: 42 - m_Height: 38 - - m_X: 570 - m_Y: 944 - m_Width: 42 - m_Height: 38 - - m_X: 612 - m_Y: 910 - m_Width: 41 - m_Height: 38 - - m_X: 612 - m_Y: 948 - m_Width: 35 - m_Height: 37 - - m_X: 573 - m_Y: 982 - m_Width: 29 - m_Height: 39 - - m_X: 602 - m_Y: 985 - m_Width: 28 - m_Height: 38 - - m_X: 630 - m_Y: 985 - m_Width: 28 - m_Height: 38 - - m_X: 986 - m_Y: 922 - m_Width: 29 - m_Height: 29 - - m_X: 992 - m_Y: 951 - m_Width: 28 - m_Height: 38 - - m_X: 647 - m_Y: 948 - m_Width: 29 - m_Height: 28 - - m_X: 676 - m_Y: 939 - m_Width: 28 - m_Height: 38 - m_FreeGlyphRects: - - m_X: 78 - m_Y: 93 - m_Width: 15 - m_Height: 10 - - m_X: 74 - m_Y: 566 - m_Width: 4 - m_Height: 4 - - m_X: 198 - m_Y: 78 - m_Width: 2 - m_Height: 25 - - m_X: 151 - m_Y: 194 - m_Width: 3 - m_Height: 8 - - m_X: 147 - m_Y: 287 - m_Width: 4 - m_Height: 4 - - m_X: 267 - m_Y: 78 - m_Width: 31 - m_Height: 2 - - m_X: 488 - m_Y: 78 - m_Width: 11 - m_Height: 2 - - m_X: 573 - m_Y: 78 - m_Width: 1 - m_Height: 1 - - m_X: 651 - m_Y: 79 - m_Width: 8 - m_Height: 5 - - m_X: 818 - m_Y: 92 - m_Width: 1 - m_Height: 1 - - m_X: 970 - m_Y: 93 - m_Width: 1 - m_Height: 1 - - m_X: 200 - m_Y: 172 - m_Width: 17 - m_Height: 30 - - m_X: 263 - m_Y: 172 - m_Width: 4 - m_Height: 13 - - m_X: 368 - m_Y: 185 - m_Width: 4 - m_Height: 27 - - m_X: 140 - m_Y: 661 - m_Width: 39 - m_Height: 2 - - m_X: 250 - m_Y: 660 - m_Width: 9 - m_Height: 1 - - m_X: 136 - m_Y: 762 - m_Width: 35 - m_Height: 1 - - m_X: 179 - m_Y: 760 - m_Width: 19 - m_Height: 2 - - m_X: 171 - m_Y: 861 - m_Width: 23 - m_Height: 1 - - m_X: 198 - m_Y: 849 - m_Width: 19 - m_Height: 12 - - m_X: 217 - m_Y: 942 - m_Width: 23 - m_Height: 3 - - m_X: 259 - m_Y: 756 - m_Width: 37 - m_Height: 4 - - m_X: 293 - m_Y: 849 - m_Width: 3 - m_Height: 6 - - m_X: 499 - m_Y: 158 - m_Width: 29 - m_Height: 2 - - m_X: 572 - m_Y: 158 - m_Width: 1 - m_Height: 1 - - m_X: 645 - m_Y: 159 - m_Width: 6 - m_Height: 19 - - m_X: 451 - m_Y: 212 - m_Width: 10 - m_Height: 26 - - m_X: 522 - m_Y: 238 - m_Width: 6 - m_Height: 1 - - m_X: 572 - m_Y: 237 - m_Width: 11 - m_Height: 2 - - m_X: 216 - m_Y: 291 - m_Width: 1 - m_Height: 28 - - m_X: 263 - m_Y: 263 - m_Width: 15 - m_Height: 8 - - m_X: 348 - m_Y: 263 - m_Width: 20 - m_Height: 14 - - m_X: 278 - m_Y: 377 - m_Width: 12 - m_Height: 6 - - m_X: 448 - m_Y: 277 - m_Width: 3 - m_Height: 39 - - m_X: 517 - m_Y: 316 - m_Width: 5 - m_Height: 3 - - m_X: 417 - m_Y: 347 - m_Width: 2 - m_Height: 6 - - m_X: 347 - m_Y: 377 - m_Width: 1 - m_Height: 48 - - m_X: 485 - m_Y: 394 - m_Width: 32 - m_Height: 3 - - m_X: 552 - m_Y: 397 - m_Width: 34 - m_Height: 1 - - m_X: 619 - m_Y: 398 - m_Width: 26 - m_Height: 1 - - m_X: 250 - m_Y: 472 - m_Width: 22 - m_Height: 10 - - m_X: 290 - m_Y: 464 - m_Width: 22 - m_Height: 8 - - m_X: 272 - m_Y: 561 - m_Width: 69 - m_Height: 9 - - m_X: 341 - m_Y: 464 - m_Width: 6 - m_Height: 29 - - m_X: 312 - m_Y: 545 - m_Width: 29 - m_Height: 25 - - m_X: 314 - m_Y: 545 - m_Width: 27 - m_Height: 28 - - m_X: 314 - m_Y: 656 - m_Width: 5 - m_Height: 4 - - m_X: 319 - m_Y: 739 - m_Width: 4 - m_Height: 17 - - m_X: 378 - m_Y: 737 - m_Width: 9 - m_Height: 2 - - m_X: 416 - m_Y: 425 - m_Width: 1 - m_Height: 68 - - m_X: 417 - m_Y: 656 - m_Width: 3 - m_Height: 6 - - m_X: 416 - m_Y: 472 - m_Width: 69 - m_Height: 3 - - m_X: 416 - m_Y: 472 - m_Width: 52 - m_Height: 21 - - m_X: 468 - m_Y: 557 - m_Width: 6 - m_Height: 16 - - m_X: 474 - m_Y: 640 - m_Width: 3 - m_Height: 16 - - m_X: 532 - m_Y: 475 - m_Width: 20 - m_Height: 1 - - m_X: 532 - m_Y: 554 - m_Width: 3 - m_Height: 3 - - m_X: 535 - m_Y: 636 - m_Width: 3 - m_Height: 4 - - m_X: 477 - m_Y: 723 - m_Width: 10 - m_Height: 14 - - m_X: 538 - m_Y: 719 - m_Width: 10 - m_Height: 4 - - m_X: 597 - m_Y: 476 - m_Width: 22 - m_Height: 1 - - m_X: 597 - m_Y: 548 - m_Width: 1 - m_Height: 6 - - m_X: 598 - m_Y: 630 - m_Width: 1 - m_Height: 6 - - m_X: 599 - m_Y: 712 - m_Width: 6 - m_Height: 7 - - m_X: 659 - m_Y: 477 - m_Width: 26 - m_Height: 4 - - m_X: 659 - m_Y: 704 - m_Width: 3 - m_Height: 8 - - m_X: 734 - m_Y: 150 - m_Width: 7 - m_Height: 28 - - m_X: 734 - m_Y: 170 - m_Width: 84 - m_Height: 1 - - m_X: 734 - m_Y: 170 - m_Width: 55 - m_Height: 8 - - m_X: 779 - m_Y: 242 - m_Width: 10 - m_Height: 7 - - m_X: 775 - m_Y: 320 - m_Width: 4 - m_Height: 7 - - m_X: 775 - m_Y: 393 - m_Width: 12 - m_Height: 6 - - m_X: 787 - m_Y: 475 - m_Width: 2 - m_Height: 6 - - m_X: 893 - m_Y: 171 - m_Width: 1 - m_Height: 2 - - m_X: 841 - m_Y: 249 - m_Width: 11 - m_Height: 3 - - m_X: 1018 - m_Y: 0 - m_Width: 5 - m_Height: 175 - - m_X: 955 - m_Y: 173 - m_Width: 15 - m_Height: 2 - - m_X: 955 - m_Y: 173 - m_Width: 7 - m_Height: 79 - - m_X: 836 - m_Y: 327 - m_Width: 5 - m_Height: 4 - - m_X: 897 - m_Y: 331 - m_Width: 5 - m_Height: 62 - - m_X: 897 - m_Y: 332 - m_Width: 8 - m_Height: 61 - - m_X: 386 - m_Y: 822 - m_Width: 1 - m_Height: 30 - - m_X: 323 - m_Y: 852 - m_Width: 27 - m_Height: 3 - - m_X: 350 - m_Y: 941 - m_Width: 15 - m_Height: 1 - - m_X: 386 - m_Y: 826 - m_Width: 3 - m_Height: 26 - - m_X: 426 - m_Y: 820 - m_Width: 2 - m_Height: 6 - - m_X: 789 - m_Y: 557 - m_Width: 53 - m_Height: 2 - - m_X: 846 - m_Y: 554 - m_Width: 24 - m_Height: 3 - - m_X: 898 - m_Y: 554 - m_Width: 7 - m_Height: 15 - - m_X: 955 - m_Y: 569 - m_Width: 7 - m_Height: 24 - - m_X: 870 - m_Y: 635 - m_Width: 35 - m_Height: 3 - - m_X: 946 - m_Y: 635 - m_Width: 9 - m_Height: 16 - - m_X: 905 - m_Y: 724 - m_Width: 1 - m_Height: 3 - - m_X: 428 - m_Y: 898 - m_Width: 18 - m_Height: 17 - - m_X: 431 - m_Y: 898 - m_Width: 15 - m_Height: 43 - - m_X: 548 - m_Y: 802 - m_Width: 25 - m_Height: 4 - - m_X: 605 - m_Y: 795 - m_Width: 15 - m_Height: 7 - - m_X: 662 - m_Y: 786 - m_Width: 15 - m_Height: 9 - - m_X: 782 - m_Y: 797 - m_Width: 2 - m_Height: 8 - - m_X: 485 - m_Y: 898 - m_Width: 2 - m_Height: 11 - - m_X: 906 - m_Y: 806 - m_Width: 10 - m_Height: 3 - - m_X: 1003 - m_Y: 651 - m_Width: 20 - m_Height: 145 - - m_X: 946 - m_Y: 796 - m_Width: 12 - m_Height: 10 - - m_X: 720 - m_Y: 842 - m_Width: 3 - m_Height: 14 - - m_X: 774 - m_Y: 856 - m_Width: 8 - m_Height: 4 - - m_X: 825 - m_Y: 860 - m_Width: 3 - m_Height: 7 - - m_X: 873 - m_Y: 867 - m_Width: 14 - m_Height: 6 - - m_X: 446 - m_Y: 1019 - m_Width: 39 - m_Height: 4 - - m_X: 484 - m_Y: 987 - m_Width: 1 - m_Height: 36 - - m_X: 535 - m_Y: 974 - m_Width: 7 - m_Height: 13 - - m_X: 765 - m_Y: 897 - m_Width: 9 - m_Height: 15 - - m_X: 720 - m_Y: 938 - m_Width: 45 - m_Height: 85 - - m_X: 809 - m_Y: 912 - m_Width: 16 - m_Height: 7 - - m_X: 852 - m_Y: 919 - m_Width: 21 - m_Height: 7 - - m_X: 916 - m_Y: 871 - m_Width: 42 - m_Height: 2 - - m_X: 957 - m_Y: 871 - m_Width: 1 - m_Height: 13 - - m_X: 557 - m_Y: 884 - m_Width: 16 - m_Height: 22 - - m_X: 557 - m_Y: 884 - m_Width: 13 - m_Height: 25 - - m_X: 615 - m_Y: 880 - m_Width: 5 - m_Height: 30 - - m_X: 612 - m_Y: 906 - m_Width: 8 - m_Height: 4 - - m_X: 535 - m_Y: 1019 - m_Width: 38 - m_Height: 4 - - m_X: 570 - m_Y: 982 - m_Width: 3 - m_Height: 5 - - m_X: 535 - m_Y: 1021 - m_Width: 67 - m_Height: 2 - - m_X: 602 - m_Y: 982 - m_Width: 10 - m_Height: 3 - - m_X: 647 - m_Y: 978 - m_Width: 318 - m_Height: 7 - - m_X: 658 - m_Y: 978 - m_Width: 307 - m_Height: 45 - - m_X: 658 - m_Y: 989 - m_Width: 365 - m_Height: 34 - - m_X: 1012 - m_Y: 651 - m_Width: 11 - m_Height: 271 - - m_X: 999 - m_Y: 884 - m_Width: 24 - m_Height: 38 - - m_X: 957 - m_Y: 922 - m_Width: 29 - m_Height: 4 - - m_X: 1017 - m_Y: 593 - m_Width: 6 - m_Height: 358 - - m_X: 1020 - m_Y: 593 - m_Width: 3 - m_Height: 430 - - m_X: 1015 - m_Y: 651 - m_Width: 8 - m_Height: 300 - - m_X: 653 - m_Y: 910 - m_Width: 24 - m_Height: 29 - - m_X: 653 - m_Y: 910 - m_Width: 23 - m_Height: 38 - - m_X: 704 - m_Y: 939 - m_Width: 61 - m_Height: 84 - - m_X: 704 - m_Y: 950 - m_Width: 105 - m_Height: 73 - - m_X: 704 - m_Y: 961 - m_Width: 148 - m_Height: 62 - - m_X: 647 - m_Y: 977 - m_Width: 274 - m_Height: 8 - - m_X: 647 - m_Y: 976 - m_Width: 29 - m_Height: 9 - - m_X: 658 - m_Y: 977 - m_Width: 263 - m_Height: 46 - - m_X: 658 - m_Y: 976 - m_Width: 18 - m_Height: 47 - - m_X: 704 - m_Y: 974 - m_Width: 217 - m_Height: 49 - m_fontInfo: - Name: Liberation Sans - PointSize: 86 - Scale: 1 - CharacterCount: 250 - LineHeight: 98.90625 - Baseline: 0 - Ascender: 77.84375 - CapHeight: 59.1875 - Descender: -18.21875 - CenterLine: 0 - SuperscriptOffset: 77.84375 - SubscriptOffset: -12.261719 - SubSize: 0.5 - Underline: -12.261719 - UnderlineThickness: 6.298828 - strikethrough: 23.675 - strikethroughThickness: 0 - TabWidth: 239.0625 - Padding: 9 - AtlasWidth: 1024 - AtlasHeight: 1024 - atlas: {fileID: 0} - m_AtlasWidth: 1024 - m_AtlasHeight: 1024 - m_AtlasPadding: 9 - m_AtlasRenderMode: 4169 - m_glyphInfoList: [] - m_KerningTable: - kerningPairs: [] - m_FontFeatureTable: - m_GlyphPairAdjustmentRecords: - - m_FirstAdjustmentRecord: - m_GlyphIndex: 3 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 3 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 3 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 20 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 20 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 3 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 89 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 90 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 92 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 2020 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 41 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -9.53125 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 15 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 41 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -9.53125 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 17 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 41 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 47 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 3 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 47 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 47 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 47 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 47 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 47 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 92 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 47 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 2020 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 51 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 3 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 51 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -11.09375 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 15 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 51 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -11.09375 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 17 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 51 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 53 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 53 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 53 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 53 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 3 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -9.53125 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 15 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 16 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -9.53125 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 17 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -9.53125 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 29 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -9.53125 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 30 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 50 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -9.53125 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 68 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -9.53125 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 70 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -9.53125 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 72 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 76 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -9.53125 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 82 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 85 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -9.53125 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 86 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 88 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 90 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 55 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 92 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -7.890625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 15 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 16 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -7.890625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 17 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 29 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 30 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 68 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 72 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 76 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 82 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 85 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 88 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 57 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 92 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 15 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 16 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 17 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 29 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 30 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 68 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 72 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 82 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 85 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 88 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 58 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -0.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 92 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 3 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -11.09375 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 15 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -7.890625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 16 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -11.09375 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 17 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 29 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -5.578125 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 30 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 36 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 68 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -7.890625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 72 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 76 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -7.890625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 82 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 83 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -7.890625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 84 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 88 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 60 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 89 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 73 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 73 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 73 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 2020 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 85 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 15 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 85 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 17 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 85 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 2020 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 89 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 15 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 89 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 17 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 90 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 15 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 90 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -4.75 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 17 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 92 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 15 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 92 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -6.390625 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 17 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 2019 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 2019 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 2020 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -3.1875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 3 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 2020 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 86 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - - m_FirstAdjustmentRecord: - m_GlyphIndex: 2020 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: -1.546875 - m_YAdvance: 0 - m_SecondAdjustmentRecord: - m_GlyphIndex: 2020 - m_GlyphValueRecord: - m_XPlacement: 0 - m_YPlacement: 0 - m_XAdvance: 0 - m_YAdvance: 0 - m_FeatureLookupFlags: 0 - fallbackFontAssets: [] - m_FallbackFontAssetTable: - - {fileID: 11400000, guid: 2e498d1c8094910479dc3e1b768306a4, type: 2} - m_CreationSettings: - sourceFontFileName: - sourceFontFileGUID: e3265ab4bf004d28a9537516768c1c75 - pointSizeSamplingMode: 0 - pointSize: 86 - padding: 9 - packingMode: 4 - atlasWidth: 1024 - atlasHeight: 1024 - characterSetSelectionMode: 1 - characterSequence: 32 - 126, 160 - 255, 8192 - 8303, 8364, 8482, 9633 - referencedFontAssetGUID: 8f586378b4e144a9851e7b34d9b748ee - referencedTextAssetGUID: - fontStyle: 0 - fontStyleModifier: 0 - renderMode: 4169 - includeFontFeatures: 1 - m_FontWeightTable: - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - fontWeights: - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - - regularTypeface: {fileID: 0} - italicTypeface: {fileID: 0} - normalStyle: 0 - normalSpacingOffset: 0 - boldStyle: 0.75 - boldSpacing: 7 - italicStyle: 35 - tabSize: 10 ---- !u!28 &28684132378477856 -Texture2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LiberationSans SDF Atlas - m_ImageContentsHash: - serializedVersion: 2 - Hash: 00000000000000000000000000000000 - m_ForcedFallbackFormat: 4 - m_DownscaleFallback: 0 - serializedVersion: 2 - m_Width: 1024 - m_Height: 1024 - m_CompleteImageSize: 1048576 - m_TextureFormat: 1 - m_MipCount: 1 - m_IsReadable: 0 - m_StreamingMipmaps: 0 - m_StreamingMipmapsPriority: -92 - m_AlphaIsTransparency: 0 - m_ImageCount: 1 - m_TextureDimension: 2 - m_TextureSettings: - serializedVersion: 2 - m_FilterMode: 1 - m_Aniso: 1 - m_MipBias: 0 - m_WrapU: 0 - m_WrapV: 0 - m_WrapW: 0 - m_LightmapFormat: 0 - m_ColorSpace: 0 - image data: 1048576 - _typelessdata: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0d0f101112121313131212100f0e0c0a08060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a1313131313131313130e0d0b08030000000000000000000000000000000000000002070a0c0d1313131313131313130b0a0805000000000000000000000000000000000000000000000000000000000000050a0d0f10131313131313130e0d0b0803000000000000000000000000000000000000000000000004080a0a13131313131313131313131313131313131313131313131313131313131313131313131313131313130a09070400000000000000000000000000000000000000000006060606060600000000000000000000000000000000000000000000020507080c0f1112131211100c080806020000000000000000000000030607090d1011121312110e0a070604010000000000000000000000000000000000000000000000000000000000000000000000000606060606060000000000000000000000000000000000000000000000000000000000010507070c0f1112131312100c08080602000000000000000000000000000000000000000000000000000000000000000000030608091313131313120707050100000000000000000000000000000000000000000000000000000000000105070713131313130c0b09060100000000000000000000000000000000000000000000000000000000000306080913131313131207070501000000000000000000000000000000000000000000000000000000000105070713131313130c0b09060100000000000000000000000000000000000004080a0a0b0b0b0b0b0b0b07060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607090b0d0f1111121313121211100f0d0a0807050200000000000000000000000000000000000000000000000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c0803000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c080300000000000000000000000000000000000000000000040613131313131313131312110e09040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205070c10131315171a1c1d1e1e1f20201f1f1e1d1c1b19171513120f0b06060401000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101316172020202020202020201b1a18140f080100000000000000000000000000000000070e1317191a202020202020202020181715110c060000000000000000000000000000000000000000000000000000030a10161a1c1d202020202020201b1a18140f080100000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020171614100b0500000000000000000000000000000106090b0c131313131313080705020000000000000000000000000000000002090e111414181c1e1f201f1e1c191514120e090300000000000000060b101213161a1d1e1f201e1d1b171413110d0701000000000000000000000000000000000000000000000000000000000000030608091313131313130b0a0805000000000000000000000000000000000000000000000002080d111314191c1e1f201f1e1c191514120e09030000000000000000000000000000000000000000000000000000000000040a0f12151520202020201f1413110d08020000000000000000000000000000000000000000000000000002080d1113142020202020191815120d060000000000000000000000000000000000000000000000000000040a0f12151520202020201f1413110d080200000000000000000000000000000000000000000000000002080d1113142020202020191815120d06000000000000000000000000000000050b10141617181818181818181413110d07010000000000000000000001030405060606060504040200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060b10121315171a1c1d1e1f1f201f1f1e1d1b19171514120e0906030000000000000000000000000000000000000000000000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f09010000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f0901000000000000000000000000000000000001070c10132020202020202020201f1d1a150f0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104090e1214181c1f20222426282a2a2b2c2c2c2c2c2b2a2927262422201f1c171413110d0705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f161c2022232d2d2d2d2d2d2d2d2d282724201a130b0200000000000000000000000000010a12191f2326272d2d2d2d2d2d2d2d2d2424211d171009000000000000000000000000000000000000000000000000040d151c2126292a2d2d2d2d2d2d2d2727241f1a130b0200000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423201c161008000000000000000000000000060d1215181920202020201f1514120e090300000000000000000000000002080e141a1e202125292a2b2c2c2b292622211e1a150e0903000000020a11171c1f2023272a2b2c2c2b2a282420201d18130c07000000000000000000000000000000000000000000000000000000030a0f121515202020202020181715110c060000000000000000000000000000000000000002080d13191e202125292b2c2d2c2b292622211e1a150e09030000000000000000000000000000000000000000000000000000060e151b1f21222c2d2d2d2d2c21201d19130c040000000000000000000000000000000000000000000000050c13191d20212d2d2d2d2d2524221e181109010000000000000000000000000000000000000000000000060e151b1f21222c2d2d2d2d2c21201d19130c0400000000000000000000000000000000000000000000050c13191d20212d2d2d2d2d2524221e181109010000000000000000000000000810171c2023242525252525252520201d18130c0400000000030607090b0e0f1112121313121211100f0d0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1113171c1f20222426292a2b2b2c2c2c2b2b2a28262422211e1a1312100c0600000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b030000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b03000000000000000000000000000000030b12181c1f2d2d2d2d2d2d2d2d2c2c2a2620191209000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11141a1e2123282c2d2f31333537373838393939383837353433302e2d2b282221201d1814120e0904000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111921272c2f303939393939393939393433302b251d140b010000000000000000000000000a141c242a2f323339393939393939393931302d28221b120900000000000000000000000000000000000000000000030d161f262d323536393939393939393433302b251d140b0000000000000000000000000000000008111a22282d30313939393939393939393939393939393939393939393939393939393939393939393939393939393939302f2c28211a1108000000000000000000010911181e2224252d2d2d2d2d2c22211e1a140d0600000000000000000000050d14191f252a2d2e3235373839383736322f2e2b26201a150e0600070c141c23282b2d303336383939383734312d2c29241d18120b03000000000000000000000000000000000000000000000000060e151a1f21222c2d2d2d2d2d2424211d1710090000000000000000000000000000000000050c13191e252a2d2e3235373939393836332e2d2b261f1a150e0600000000000000000000000000000000000000000000000006101820262b2e2f3939393939382e2d29251e160e04000000000000000000000000000000000000000000050e161e252a2d2e393939393932312e29231b13090000000000000000000000000000000000000000000006101820262b2e2f3939393939382e2d29251e160e040000000000000000000000000000000000000000050e161e252a2d2e393939393932312e29231b1309000000000000000000000008121a22282d3031313131313131312d2c29241d160d0405060b10121316181a1c1d1f1f20201f1f1e1d1b19171514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13181d2023282b2d2f3133353737383939393837373533312e2d2a26201f1c17110d0802000000000000000000000000000000000000000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b01000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b0100000000000000000000000000030d151d23292c3939393939393939393836312b241b1208000000000000000000000000000000000000000000000000000000000000000000000000000003090e13181d20262a2d2e34383a3c3e40424344454546464645454342413f3d3b3938332d2d2c2924201e1a14100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19232b33383c3d46464646464646464641403c362f261d1308000000000000000000000007121c262e353b3f404646464646464646463e3d39342c241b10060000000000000000000000000000000000000000000a151f2831383e42434646464646464641403c362f261d0f05000000000000000000000000000005101a232c33393c3d46464646464646464646464646464646464646464646464646464646464646464646464646464646463d3c38332c231a1005000000000000000009131b23292e31323939393939392e2d2a261f180f060000000000000000080e171e252a30363a3b3f424445464544433f3b3a37312b2620180f0b12181e262e34383a3c40434445464544413d3a39352f28231c150c050000000000000000000000000000000000000000000006101820262b2e2f39393939393931302d28221a1209000000000000000000000000000000070e161e252a3036393a3f424445464645433f3b3a37312b2620180f0900000000000000000000000000000000000000000000040e18222a31373a3c4646464646453a3935302820160c0200000000000000000000000000000000000000020c1620283036394646464646463f3e3a342d251b11060000000000000000000000000000000000000000040e18222a31373a3c4646464646453a3935302820160c02000000000000000000000000000000000000020c1620283036394646464646463f3e3a342d251b110600000000000000000005101a242c33393c3d3e3e3e3e3e3e3e3a39352f281f160b1113171c1f20222527292a2b2c2c2d2c2b2b2a28262422211e1a1312100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f151a1d24292c2e34383a3c3e404244444546464545444342403d3b3a36312d2c28231c19130d08020000000000000000000000000000000000000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d130900000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d1309000000000000000000000000010b151f272f343846464646464646464645423d352d24190f04000000000000000000000000000000000000000000000000000000000000000000000001070c141a1d24292c31363a3b404546484a4d4f505151525353525251504f4e4c4a4846443f3d3a39352f2d2a251f1d18120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d44484a5353535353535353534e4c4841382f251a0f03000000000000000000020e19242e3840474b4d5353535353535353534b49453e362c22170c000000000000000000000000000000000000000005101c26313a43494e50535353535353534e4c4841382f21170d03000000000000000000000000000b17222c363e44494a53535353535353535353535353535353535353535353535353535353535353535353535353535353534a48443e352c21160b0000000000000006111b252d343a3e3f4646464646463b3a36312921180b0200000000000008111a202930363b4246474b4f51525352514f4c4847423c37312a211b151c232830383f4446494d5051525351504e4a4745403a342e271e170e050000000000000000000000000000000000000000030e18222a31373a3c4646464646463e3d39342c241a0e0500000000000000000000000000071019202830363a4146474c4f51525352514f4c4847423c37312a211b12090100000000000000000000000000000000000000000a15202a343c4347485353535353524746413a32281e13080000000000000000000000000000000000000008131e28323a41465353535353534c4a463f372d23180d01000000000000000000000000000000000000000a15202a343c4347485353535353524746413a32281e130800000000000000000000000000000000000008131e28323a41465353535353534c4a463f372d23180d0100000000000000000b17222c363e44494a4b4b4b4b4b4b4b4745403a31281d191d2023282b2d2f3234363738393939393837373533312e2d2a26201f1c17110d08020000000000000000000000000000000000000000000000000000000000000000000000000000070c151b20262b2f35393a3f4446484a4d4f5051525253525251504e4c4a4846423d3a38342e29251e19140d050000000000000000000000000000000000030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f0300030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f03000000000000000000000007121d2731394045535353535353535353524e473f352b20150900000000000000000000000000000000000000000000000000000000000000000000030b12181f252a2f35393b4246484b51535557595b5d5d5e5f5f5f5f5f5e5d5c5a59575553504a4a4745413b3a36302c29241d1a140f0a03000000000000000000000000000000000000000000000000000000000000000000000000000004101c27333d474f54566060606060606060605b58534a41362b20140400000000000000000007131f2a35404a52575a606060606060606060575550483e34281d1101000000000000000000000000000000000000000a16212d38434c545a5d606060606060605a58534a4133291f140900000000000000000000000004101c28333e48505557606060606060606060606060606060606060606060606060606060606060606060606060606060606057554f473e33281c10040000000000010d18232d373f464a4c5353535353524846423b33291d140a000000000008111a232c323b41464d5254585c5d5e5f5f5e5c5955534d47423c332d241e272e343e424a5053565a5d5e5f5f5e5d5b5753514b444039302920170f05000000000000000000000000000000000000000a15202a343c4347485353535353534b49453e362c20170d020000000000000000000000071119222b323a41464c5254585c5e5f605f5e5c5955534d47423c332d241b130900000000000000000000000000000000000000030f1b26313c464e53555f606060605f54524c443a3025190c030000000000000000000003030303030303010d1925303a444c525f6060606060585651493f34291e1206000000000000000000000000000000000000030f1b26313c464e53555f606060605f54524c443a3025190c0300000000000000000003030303030303010d1925303a444c525f6060606060585651493f34291e12060000000000000004101c28333e485055575858585858585853514b433a2f2625292d2e34383a3c3e414244454546464545444342403d3b3a36312d2c28231c19130d080200000000000000000000000000000000000000000000000000000000000000000000030b121820262b31373a4145474a50535557595c5d5e5e5f5f5f5e5e5d5b595755534d4946443f3835302a251e170e08020000000000000000000000000000000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b201408000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b20140800000000000000000000000c18232f39434b515f606060606060605f5e5951473d31261a0e010000000000000000000000000000000000000000000000000000000000000000060d151d232930363a4045474d5355545c60626466686a6a6b6b6c6c6c6b6b6a6867666361605b545654514b4846423b39352f2a251f1a150e08020000000000000000000000000000000000000000000000000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c6c6c67645c53483c3020150a0000000000000000000a17232f3b47525c63666c6c6c6c6c6c6c6c6c64615a5045392d1d1207000000000000000000000000000000000000000d1a26323e49545e66696c6c6c6c6c6c6c67645c53453b30251a0e0200000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6361594f44382c201407000000000006121e29343f4951565860606060605f55534d453b2f261b1106000000050f1a232c353e444c52575e6165686a6b6c6b6a6965625f57534d453f372d27303940444f545c606366696b6c6c6b6a6764605d55514a423b322921170b020000000000000000000000000000000000030f1a26313c464e53555f6060606060575550483e32291e130800000000000000000000050e19232b343d444c52565e6165686a6c6c6c6b6966615f57534d453e362d251b110800000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6b615e564c4135291e150b00000000000004080a0a1010101010101010111d2a36414c565e6c6c6c6c6c6c65625b51463a2e22150900000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6b615e564c4135291e150b000000000004080a0a1010101010101010111d2a36414c565e6c6c6c6c6c6c65625b51463a2e221509000000000000000814202d3944505a616464646464646464605d554b41382d3035393a3f4446494b4d4f5052525353525251504e4c4a4846423d3a38342e29251e19140d050000000000000000000000000000000000000000000000000000000000000000070c151d232831373c42474b5154545c60626466686a6a6b6c6c6c6b6a6a686664615f575653504a46413a3630292019130d0500000000000000000000000000000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c0000000000000000000004101c2934404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d1104000000000000000000000000000000000000000000000000000000000000030a11171f272f343b42464b5153575f6165666d6f71737576777878797979787876757472706e6c666663605d5554524d4745403936312b262019140d0500000000000000000000000000000000000000000000000000000000000000000000000916222f3c4854606b70797979797979797979746e64584c3c32261b0f0300000000000000000c1926323f4b57636e73797979797979797979716c615549392f23180c000000000000000000000000000000000000000f1c2935424e5a66707679797979797979746e64574d42362a1f140900000000000000000000000a1623303c4955616c707979797979797979797979797979797979797979797979797979797979797979797979797979797979706b6155483c2f23160900000000000915222e3a46515b62656c6c6c6c6c6c615f574d41382d22170b0300030d17212c353e474f565e61696e7275777879787776726e69625f5751493f373039424a515961666d6f7376777879787774706d67605c544d443b33291d140a000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6c64615a50443a3025190e040000000000000000020d17202b353d464f565e61686d7275777879797876726e69625f5750483f372d23190d0400000000000000000000000000000000000815212e3a47535f6a6f7979797979786d685e52463d30271c1207000000050b101416171d1d1d1d1d1d1d1d1d202d3946525e68767979797979726d62564a3e312418080100000000000000000000000000000000000815212e3a47535f6a6f7979797979786d685e52463d30271c12070000050b101416171d1d1d1d1d1d1d1d1d202d3946525e68767979797979726d62564a3e31241808010000000000000a1623303c4955616c70717171717171716d675d53493f383a4146474a505355585a5c5d5e5f5f605f5e5e5d5b595755534d4946443f3835302a251e170e080200000000000000000000000000000000000000000000000000000000000810191e272e343c43474d53555d6064666d6f7173757777787979787877767573706e696763605c54524c46413b322a251e170e06000000000000000000000000000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e0000000000000000000006131f2c3845515c67767979797979797979756a5e5245382c1f12060000000000000000000000000000000000000000000000000000000000040c151c2328313940454d52555d6065696e7276797b7d80828384848586868585848382817f7d7b797673706d6765615e5753514b46423b37312a251e170e07000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495363707d868686868686868686807467584e43372b1f12060000000000000005111e2a36424d576673808686868686868686867e7164554b4034291c1004000000000000000000000000000000000000101d2a3643505d697682868686868686868074695e52463b30251a0e02000000000000000000000a1724313d4a5764707d86868686868686868686868686868686868686868686868686868686868686868686868686868686867d7063574a3d3024170a00000000000b1824313e4a56626d727979797979796e695f53493f33271f14090009141f29333e474f5961686e747b7e828485868584827f7b756e69625b51493f39424b545c606c70787c80838485868483817d7a726d665e564d453b2f261c1106000000000000000000000000000000000815212e3a47535f6a6f797979797979716c61564c41362a20160c020000000000000009141f29333d474f5960686d747a7f828485868584827f7b756e69625a51493f352b1f160c01000000000000000000000000000000000915222f3c4855626f7c8786868686857a6d61594f42392e23180c03000810171c202324292929292929292929292e3a4754616d7a86868686867f7265584c3f322519130c04000000000000000000000000000000000915222f3c4855626f7c8786868686857a6d61594f42392e23180c030810171c202324292929292929292929292e3a4754616d7a86868686867f7265584c3f322519130c0400000000000a1724313d4a5764707e7e7e7e7e7e7e7e796d655b504443484c5254545c60626567696a6b6c6c6c6c6b6a6a686664615f575653504a46413a3630292019130d0500000000000000000000000000000000000000000000000000000009111a222a303940454e53575f62676d7175797b7d8082838485858685858483817f7d7b7874706d66615e56524c443e36302920180f070000000000000000000000000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e000000000000000000000714202d3a4753606d798686868686868687796c5f5346392c20130600000000000000000000000000000000000000000000000000000000060d161e262e343d434b51575e61676d72777b7f8286888a8c8e909091929292929291908f8d8c8a888583807d7a76726e6964605d55534d47433c36302920191007000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6574818d939393939393939184786a5f53473b2e211508000000000000000714202d3a46525e69778390939393939393938e8275675c5145382c1f13060000000000000000000000000000000000000a1723303d4a5663707d89959393939392867b6e61574d42362a1f1409000000000000000000000a1724313d4a5764707d8a9393939393939393939393939393939393939393939393939393939393939393939393939393938a7d7063574a3d3024170a00000000000c1925323f4c5865727f8686868686867b6e655b50443b31251a0e050e1a25313b454f59616b707a81878b8f90919292918f8c88827b726d625b5147404b545c666d757d84898d9091929291908e8a857f786e695e574d42382d22170b010000000000000000000000000000000915222f3c4855626f7b8786868686867e71685e52463e32281e1308000000000000020e1a25303b454f59606b6f7a81868b8f91929392918f8c87827b716c625b51473d31281d1307000000000000000000000000000000000815212e3a47535f6a73808d9693978e81746b60544a4034281f140908111a21282d303136363636363636363636363a4754616d7a879393938b7f7265584c3f3229241e160d040000000000000000000000000000000815212e3a47535f6a73808d9693978e81746b60544a4034281f1409111a21282d303136363636363636363636363a4754616d7a879393938b7f7265584c3f3229241e160d04000000000a1724303d4a5763707d868b8b8b8b8b8b81776c605a504e54565e6165666d6f7174757778787979787877767573706e696763605c54524c46413b322a251e170e060000000000000000000000000000000000000000000000000009121b232c343c424b51585f62696e747a7d8185888a8c8f9091919292929191908e8c8a8884807d79736d68615e565046413a322a2119100700000000000000000000000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c30231609000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c30231609000000000000000000000714202d3a4753606d7a8693939393939286796c5f5346392c201306000000000000000000000000000000000000000000000000000000060f171f2830383f444f555c60696e737a7f84888b8f929897999b9d9d9e9e9f9f9f9e9e9d9b9a99969892908c8986827f7b76716d67615e57534e46413b322b22190f04000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919e9f9f9f9f9fa196887c6f6255483c3025190d010000000000000814212e3b4754616e7b8795a09f9f9f9f9f9f9285796d6053473a2d22170b0000000000000000000000000000000000000916222f3c4854606b7683909da79fa3998d8074695e52463b3025190e020000000000000000000a1724313d4a5764707d8a979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f968a7d7063574a3d3024170a00000000000613202d394653606c7782909893988f82776c60574d42362a20170d121e2a36424d57616b707d868e939a9b9d9e9d9d9d9c98948f877f726d62594f45515c666d78818a9196999c9e9d9d9e9d9a98928c837b6e695e544a3f33281d12070000000000000000000000000000000815212e3a47535f6a737f8c95939392857a6d615a50443a3024190d04000000000005111e2a36424d57606b6f7d858d92999b9d9c9b9c9e9c9a938f867e726d62594f433a2f24180d0100000000000000000000000000000006121f2b37434e58606d7984919e9f93887d6f665c51443b31261a0d101a232c33393c3d4343434343434343434343434754616d7a87949f988b7f7265584c3f39352f281f160c01000000000000000000000000000006121f2b37434e58606d7984919e9f93887d6f665c51443b31261a0d1a232c33393c3d4343434343434343434343434754616d7a87949f988b7f7265584c3f39352f281f160c010000000a16232f3c4855616b727f8c93979797938d80736c6158586062686d7175797c7e8082838585868685858483817f7d7b7874706d66615e56524c443e36302920180f07000000000000000000000000000000000000000000000009121b242d353e464e545c606a6f757b81868a8e929797999b9d9d9e9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b22191007000000000000000000000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f221509000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f221509000000000000000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000000050e172129313a424a505960676d737b80858b9195989c9fa3a39f9d9b9a999898989898999b9c9d9fa3a29f9c9999928f8b87837e79746e69625f58524c443d342b21160a000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8996a1adacacacb2a8998c7f7266564c41362a1d1105000000000004101c2834404b5465717e8b98a7b1acacacaea2988a7d7063544a3f33281c0f0300000000000000000000000000000000000714202c38444f5963707d8a959fabab9f92867b6e61564d42362a1f14080000000000000000000a1724313d4a5764707d8a97a3acacb2acaba6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a3968a7d7063574a3d3024170a000000000005121f2b3744505b656e7b86929f9f948b7e72695e53463f32291f1414212d3a46535e69707d8692989f9d9b9691909192999f9e99928b7f726b60554e58606d78818e939ea09e9892909091979d9f9f9590847b6e665b5044392f23180c00000000000000000000000000000006121f2b37434e58606d78839099a1978e81756c61564c4135291f160c01000000000714202d3a46525e696f7d8691979f9f9892908e8f91979f9f98928b7f726b60554b4035291d1307000000000000000000000000000000030f1b26313c45515d67707d8a939e9a9183786d60574d42362a1f1617212c353e44494a5050505050505050505050505054616d7a8794a0988b7f726558504745413a31281e13080000000000000000000000000000030f1b26313c45515d67707d8a939e9a9183786d60574d42362a1f16212c353e44494a5050505050505050505050505054616d7a8794a0988b7f726558504745413a31281e13080000000714202c38444f59636d74818e959fa59c928a7e716a60626a6f757a7e8285888b8d8f9091929293929191908e8c8a8884807d79736d68615e565046413a322a2119100700000000000000000000000000000000000000000007101b242d363e474f585f666d737c82878e92989b9ea2a9a6a8aaa8a7a6a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e0500000000000000000007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f13070007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f1307000000000000000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000000030d172029333b434c545c606b707980868d92979da0a29f9b989892908e8d8c8c8b8b8b8c8d8e8f919299979a9d9fa39f9c9a938f8b85807b756e6a615e564e463d32271b0f03000000000000000000000000000000000000000000000000000000000006121e2b37424d576673808d99a8b1acaaacaea99d908376685e5246392d201306000000000006131f2c3845515c6675828f9ba8b0aba9abb0aa9a8e8174665b5044382b1f1206000000000000000000000000000000000004101c27333d4855616b7783909da7aea3988d8074695e52463b3025190e0200000000000000000a1724313d4a5764707d8a97a3b0b2a8a19e9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a968a7d7063574a3d3024170a0000000000030f1b27333f49535f69727f8c959f9f92867b6e615a50443b3025191f2c38434e58616e7b869298a29c938e88848384868c9299a39f93887d6f675c535f6a73808d939ea197928b858483858990959fa0969083786c60554b4034291c10040000000000000000000000000000030f1a26313c44515c666f7c87929f9e938a7d70685d52453d31281d130700000007131f2c38434f59616e7b859298a19a938c86838282858a9297a29f93877d70675d51453a2f24180d010000000000000000000000000000000a15202935404b55616b75818e98a0958c7f72695f53463e31281e1c28333e474f55575c5c5c5c5c5c5c5c5c5c5c5c5c5c616d7a8794a0988b7f72655c5c54524c433a2f24190d0100000000000000000000000000000a15202935404b55616b75818e98a0958c7f72695f53463e31281e28333e474f55575c5c5c5c5c5c5c5c5c5c5c5c5c5c616d7a8794a0988b7f72655c5c54524c433a2f24190d01000004101c28333e47515b606d79839096a1a49f92867c6f6a6f767c81868b8f9298989a9c9d9e9f9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b2219100700000000000000000000000000000000000000050e19222d363e485059616a6f7980878f93999fa3aaabaaaaa29f9d9b9a9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c030000000000000000030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f0300030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f03000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000000020b151f29323b454d565d666d747d848c92999fa29f9c98928f8b88858381807f7f7e7e7f7f8081828486888a8d9092999b9ea19f9c98928d86817c746e6860584e43382c1f130700000000000000000000000000000000000000000000000000000000000814212e3a47535f697784919daaa7a09d9fa2aa9f93867a6d6154473a2e23170c00000000000713202d3a4653606d7985929faca69f9c9fa6ab9e9285796c605346392d20130a0000000000000000000000000000000000000b16212c38444f5964707d8a95a0acaa9f92867b6e61564d41362a1e140800000000000000000a1724313d4a5764707d8a97a3b0aca196918d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8a7d7063574a3d3024170a0000000000000b17222d38414d57606d78839099a2988f82766c62564d41362a20222e3b4854606a75828f98a29c918c817b7876777a7f87929aa49a9184796d6056626e7c87929fa19791857e797776787c838f949f9f958b7f72675c5145382c1f13060000000000000000000000000000000a15202834404a54606a73808d96a09e91857a6d60594f433a2f24180d0300000915222f3b4854606b75828f97a19f9388807a767576797e859297a2999184796d60554b4035291d1104000000000000000000000000000000040c18242f39434f59616e7b85929f9f92867b6e615a50433a2f24202d39444f5961646969696969696969696969696969696d7a8794a0988b7f72696969605d564c4135291d11040000000000000000000000000000040c18242f39434f59616e7b85929f9f92867b6e615a50433a2f242d39444f5961646969696969696969696969696969696d7a8794a0988b7f72696969605d564c4135291d11040000000b17212c353f45515c676e7a849198a2a39891857b747c82898e92999c9fa2aaa7a8aaa8a8a7a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e050000000000000000000000000000000000020d17202b343e48505a616b707c838c92999fa4abaca7a09d999892908f8d8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b0000000000000000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a0000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a00000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000a141d27313a444d575f686d78808991969fa39e9b948f8a85827e7b7977757373727171727273747677797b7e8083868a8e92979b9fa29f99928e87817a6f6a6054483b2e22150900000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a0aca095909298a2a4998a7e7164544a3f34281c1003000000000a1723303d4a5663707d8998a2a99f9490949faba197897c6f6356493c31261b0f03000000000000000000000000000000000005101c28333e4653606c7883909da7aea3988d8074685e52463b3025190e02000000000000000a1724313d4a5764707d8a97a3b0ab9e91848080808080808080808080808080808080808080808080808080808080808080807c6e6255483b2f22150800000000000006111b262f3c44505c666f7c86929f9f948b7e71685e52463e32292834404b54626f7c89939e9f948c7f746e696a686d737e88939fa0968b7f72655e6875828f99a39e91857b716d676a6a6f78828f98a29f9285796d6053473a2e23170b000000000000000000000000000000030c18232e39424e58606d7984919aa1978e81746b60554b4035291f150b0105111e2a36414c56636f7c89939e9e938b7e736d6868666d717c85929fa1968c8073675d5145392c2013070000000000000000000000000000000007121d27313e46525e69727f8b959f988f82756c61554c41352923303c4955616c70767676767676767676767676767676767a8794a0988b7f767676766d685d5245392c20130600000000000000000000000000000007121d27313e46525e69727f8b959f988f82756c61554c413529303c4955616c70767676767676767676767676767676767a8794a0988b7f767676766d685d5245392c20130600000005101a232834404b555e686f7c86929aa4a197908381878f949b9fa3abacaaaba39f9d9c9b9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c030000000000000000000000000000000009141f29323d46505a626c717d8690959fa3ababa49f9b95908c898584828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d1207000000000000000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f0400000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f0400000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000006111c262f39434c565f696e7a828d929ea0a09d938e88827d7975716e6c666867666565656565666869666d6e7174767a7d81858a8e92989ea19f99928e867c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000005111e2a36414c5666727f8c99a7aa9d908386929fab9b8e8175665c5044382c1f120600000005121e2a36424d576774808d9aaaa1979083909ca9a99a8d807367584e43372b1f12060000000000000000000000000000000000000b161f2b3744505b65717e8a95a0acaa9f92867b6e61564c41362a1e14080a0a0a0a0a0a0a0a1724313d4a5764707d8a97a3b0a99c8f827673737373737373737373737373737373737373737373737373737373737373736e6a5f53473a2e211408000000000000000a141d28343f4a545f6a737f8c95a09f92857b6e615a50443a302c3845515c6674818e9aa59c9082786c615f575d616c74818d99a49d9083776a616d7a86929fa0958a7d7069605c5860666e7b86929fa2978a7e7164544a3f34281c100300000000000000000000000000000007121c27303c45515c676f7d88939f9d93897d70675d51453d31271d12070714202d3946525e6875828f9ca59b8e81756c615d565c606a717e8b96a09f92857a6d6053473a2f24180c00000000000000000000000000000000010b151f2a36424d56606c788390999e948a7e71675d51453c3026313d4a5764707d8283838383838383838383838383838383909ca99e9184838383827a6d6054473a2d211407000000000000000000000000000000010b151f2a36424d56606c788390999e948a7e71675d51453c30313d4a5764707d8283838383838383838383838383838383909ca99e9184838383827a6d6054473a2d21140700000000081118232e39434c565f6a717e88939fa5a095908d93999fa6acaaa8a09d999992908f8e8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b000000000000000000000000000000030d1925303b444e58626c717e879298a0a7afa79f99938e88837f7c79777574737373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c0300000000000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f24190700000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f2419070000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000b17222d38424b555e686e7b838f949da49c969189817c76706d666561605b545a5959585858595a5b545c60626467676d7174797d81868c91969da09e9285796d6053473a2d201407000000000000000000000000000000000000000000000000000000000714202d3946525e687683909da9a79a8d80828f9ca99f9285796d6053463a2d2013090000000714212d3a46535f697784919daa9e91857e8a97a8aa9e9184776a5f53473a2e211509000000000000000000000000000000000000030f1b27333f4953606c7884919da8aea3988d8074685e52463b3025191616161616161616161724313d4a5764707d8a97a3b0a99c8f82766967676767676767676767676767676767676767676767676767676767676767625f584e43372b1f120600000000000000020b17232e38424e58606d78839099a2978f82756c61564c41362d3a4653606d7985929fa2988a7d70655b534d5259616e7b87939f9f95887b6f65727e8b99a39d9184786c6057514e545e6874818d9aa99c8f8276665c5044382b1f1206000000000000000000000000000000000b151e2934404b55606b74808d96a19e9184796d60594f43392f24180c0814212e3b4754616e7a86929f9f94887b6e615a524c5058606c7884919da2978b7e7164554b4035291d100400000000000000000000000000000000030d1925303b44505b666f7c87929f9e91847a6d60584e42382e323f4b5865727e8b8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f90949faba096918f8f8f877a6d6154473a2e21140700000000000000000000000000000000030d1925303b44505b666f7c87929f9e91847a6d60584e42382e3f4b5865727e8b8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f90949faba096918f8f8f877a6d6154473a2e211407000000000007121d27303b444e58616c73808c939ea7a09d9a9fa4abaca59e9b96918c898684828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d120700000000000000000000000000010b151f2a36424d56606a717e889299a2aaafa49c959087817c77726f6d6668676766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b403428201509000000000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e1308000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e13080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000030f1c28333f4a545d676d7a8491959fa39f928d847d756f6a64605c545553504a4d4c4c4b4b4c4c4d4e4a51535557555d6064666d70757a7f848a9095978c7f72675d5145392c1f1306000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87939faca7978a7e7f8c99aba297897c6f6356493c31251a0e0200000815222e3b4855616e7b8896a0a89b8e827a8796a0aca096887b6f6255483c31251a0e020000000000000000000000000000000000000b17222d3844505b66717e8a96a0acaa9f92867a6e61564c41362a232323232323232323232324313d4a5764707d8a97a3b0a99c8f8276695c5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c31261a0f02000000000000000006111c26303c44515c666f7c87929f9e938a7e71685e52463e323c4956626f7c8997a29f9285796d6053494246535f697683909da7988b7f726875828f9bab998c8073655b5045424d5663707c8998a39f9285796d6053463a2d20130700000000000000000000000000000000030c18232f39434f59606d7984919ea1968d80746b60554b4035291e150b1825323e4b5865717e8b99a39c908376695f53464144505b65727f8c99a99c8f8276675d5145392c1f1306000000000000000000000000000000000009141f28333f4a545f6a74808d96a1978d80746a60544a3f34323f4b5865727e8b989c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa6b0a8a09e9c9c94877a6d6154473a2e211407000000000000000000000000000000000009141f28333f4a545f6a74808d96a1978d80746a60544a3f343f4b5865727e8b989c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa6b0a8a09e9c9c94877a6d6154473a2e2114070000000000000b151e29323c46505a606c77818e96a0acaaa7acafa7a09d938e89847f7c7a777575747373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c0300000000000000000000000007121d27313946525e696f7c86929aa3ababa39f928d837c756f6a6662605c545a5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e0500000000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c010000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c010000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000005101a232b3844505b666d79839096a0a299928b8079706b625f5853514b4846443f40403f3e3e3f3f4041404446484b4c5154545c6063686d72797e838a91857a6d60554b4035291d100400000000000000000000000000000000000000000000000000000004111d2935414c5565727e8b9aa4aca095877a7d8999a3a9998d807366574d42362a1e12050004101d2935404b5565727f8b98a8a9988b7f7784919daaa8998c7f7366574d42362a1e120500000000000000000000000000000000000006111b28333f4a54606d7884919ea8aea2988d8073685e52463a30303030303030303030303030313d4a5764707d8a97a3b0a99c8f8276695c4f4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847433c332a201509000000000000000000000a141e2834404a545f6a73808d95a09e92857a6d615a50443a3f4b5865727e8b98a99c8f8276665c504138424d576673808d99a69b8e8174677784919eab96897d706353493f3b4653606d7986929fa298887b6e6255483b2f221508000000000000000000000000000000000007121d27313d45515d67707d89939e9f93887d6f675d51453d30271c121d2935414c566875828e9bab998c7f7266574d42353f4953626e7b8897a29f92867a6d6053473a2d2014070000000000000000000000000000000000020b17222d38424e58606d7984919e9f93877c6f665c50443b303f4b5865727e8b98a9a49f969393939393939393939394979ea8a39b98939393877a6d6154473a2e2114070000000000000000000000000000000000020b17222d38424e58606d7984919e9f93877c6f665c50443b3f4b5865727e8b98a9a49f969393939393939393939394979ea8a39b98939393877a6d6154473a2e211407000000000000030c17202a343e44505b656d7a84919daab6b4b3a9a0959189817c7773706d6769686766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b4034282015090000000000000000000000000c18232f3943505a616e7b859198a3acaca399928b80786f6a625f585653504a4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b00000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c201304000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c201304000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000b17212a36424d57606c78818f959fa29892877e736d676059534e46454040434546464544423f3b3a373134383a3b3e4145474a5053565d60666d71787e847f73675d5143392f24180c000000000000000000000000000000000000000000000000000000000613202c3945515d6776828f9cacaa9d9184777a86929faa9d908477695e53463a2d2114070006131f2c3945515d6776828f9ca9a197887c74818d9aa7aa9d908377695e53463a2d211408000000000000000000000000000000000000000b17222d3844505c66717e8b96a1acaa9f92867a6e61564c413d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4a5764707d8a97a3b0a99c8f8276695c4f43404040404040404040404040404040404040404040404040404040403b3a37312a21180e0300000000000000000000020c18232e39424e58606d79839199a1978e81756c61564c41414e5b6774818e9aa79a8d807467544a3f2f3e4b5764717e8a97a49d9083776d7a86939fa399877b6e6154473b3845515c677784909daa978a7e7164574b3e3124180b0000000000000000000000000000000000010b151f2935404b55616b74818e97a19a9184796d60584e42392e2318202d3946525d687884919ea996897c706356493d31394653606c7985929fa398897c6f6356493c3023160900000000000000000000000000000000000006111c262f3c45515d67707d8a949e999083786d60574d42363f4b5865727e8b97a19a938a86868686868686868686878c97a39b918b868686867a6d6154473a2e21140700000000000000000000000000000000000006111c262f3c45515d67707d8a949e999083786d60574d423f4b5865727e8b97a19a938a86868686868686868686878c97a39b918b868686867a6d6154473a2e2114070000000000000008131e28313a46535e696f7d86929facb9b9ada29791837d75706b6663605d555b5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e050000000000000000000004101c2934404b55616c76828f97a1aaafa49a92877e736d665f58534e4946443f41404040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c10040000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d11040000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d1104000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000004101c28333a46525e69727f8b939ea39992867d716c605c554f47434446494d5051525352514f4c4847433c37332d2f2f35393a3f44464c52545c60656c7179796d60554b4131271f1911060000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929faca79a8d81747683909da9a095877b6e6154483b2f24180c000714202d3a4753606d7a86929fab9e928579717e8a97a7aca095877b6e6154483b3025190d0100000000000000000000000000000000000006111c28343f4a54606d7984919ea8aea2988d8073685e52494949494949494949494949494949494a5764707d8a97a3b0a99c8f8276695c4f43363434343434343434343434343434343434343434343434343434342f2e2b2620180f0600000000000000000000000007121c27303c45515c676f7c87939f9e938a7e70685d5246434f5c6976828f9ca5988b7f7265584c3f2e3c4956636f7c8996a29f9285786f7b889aa49f9286796c6053463934404b556975828f9ca5998c7f7266594c3f3326190c000000000000000000000000000000000000030d18242f3a434f59606d7a85919ea0968d80736a60544a4034281e212e3a4754616d7a8796a1a297877a6d6054473a2d3744505b6576828f9caa988b7f7265584c3f3225190c000000000000000000000000000000000000000a141d2935414b55616c75828f98a0958b7f72695e52463e3a4754616d7a85919a93867d797979797979797979797a8794a0988b7f7979797976685e5246392d201307000000000000000000000000000000000000000a141d2935414b55616c75828f98a0958b7f72695e52463e4754616d7a85919a93867d797979797979797979797a8794a0988b7f7979797976685e5246392d201307000000000000010d19242f3a43505a616e7b859299a3aebbb8ab9e92857a706b6360595653514b4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b0000000000000000000006131f2c3845515c67707d8a949fa9b0a69f93887e716c605c544e47433c3a38342e3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a00000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d0100000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d01000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000714202c38444f59616e7b86929fa59f92877d706b615a514b4344495053565a5c5e5f5f5f5e5c5955534e46443f382f27343c424a5053565b5d5f5f5b60666c6d675c51454039312b2317110a0200000000000000000000000000000000000000000000000004101c2834404b5464717e8a99a3aea7978a7e7173808d99aba7988b7f7265554b4035291d10040a1724303d4a5763707d8a98a3a89b8f82756e7a8795a0aca7988b7f7265564c4135291d1105000000000000000000000000000000000000000b17232e3844515c66727e8b96a1adaa9f92867a6d615656565656565656565656565656565656565764707d8a97a3b0a99c8f8276695c4f433629272727272727272727272727272727272727272727272727272722211f1a150e0600000000000000000000000000000b151e2834404b55606a73808d96a09e91857a6d61594f43505d6a7683909da4978a7e7164574b3e313b4855616e7b8894a19f9286796f7c8996ac9e918578655b5044372e414e5b6774818e9aa6998d8073665a4d4033271a0d0000000000000000000000000000000000000007131d28313d45525d68717e8a939e9f92877c6f665c51443c3026232f3c4956626f7c8995a89f928578685d5245392c333f49536774818e9aa79a8d8174675a4e4134271b0e00000000000000000000000000000000000000020b18242f3a43505a616e7b86929f9f92867b6e61594f433946525e68707d88939a92857a6e656c6c6c6c6c6c6d7a8794a0988b7f726c6c6c6c5e564c41362a1d110500000000000000000000000000000000000000020b18242f3a43505a616e7b86929f9f92867b6e61594f4346525e68707d88939a92857a6e656c6c6c6c6c6c6d7a8794a0988b7f726c6c6c6c5e564c41362a1d110500000000000004111d2935414c55626c76828f97a1abb5afacada2978e81776c605a504947454042414040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c1004000000000000000003101c28343f4a54606d7984919ea6b0aa9e948c7f736c625a504a423c37322d2c282327272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f000000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e130800000000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e130800000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000a16232f3c4855616b75828f98a29d938b7e716b60595045414950535b606366696b6c6c6c6b6866625f58535049413d333d464e545b6063676a6b6c6c6b696663605c54514b433d3528221c140b02000000000000000000000000000000000000000000000006131f2c3845515c6675818e9babaca095877a6e707d8999a3a89c8f8275675d5145392c1f1306121f2b37434e586774818d9aaaa8988b7f72687784919daaa99c8f8376685e5246392d2013070000000000000000000000000000000000000006111c2834404a54606d7984919ea9aea2988d8073686363636363636363636363636363636363636364707d8a97a3b0a99c8f8276695c4f4336291c1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1514120f0903000000000000000000000000000000030c18232e39434e58606d7984919aa1978e81746b61564c515e6a7784919da3978a7d7064574a3d313b4754616e7a8794a1a399867a707d8a96a39e9184776b5e493f3334414d5a6774808d9aa79a8d8174675a4e4134271b0e000000000000000000000000000000030608090d0c161f2935414c56616c75818f97a2999083786d60584e42382e23313e4a5764717d8a97a49d9084776a564c4135292d404c5966737f8c99a69c8f8276695c4f4336291c10000000000000000000000006060606060606060007131d28313e46535e69727f8c95a0988e81756b61554b40414c56616b74808d95978f82776c6058606060616d7a8794a0988b7f726560605f524c443a3025190d010000000000000000000000000000020608080c0e07131d28313e46535e69727f8c95a0988e81756b61554b414c56616b74808d95978f82776c6058606060616d7a8794a0988b7f726560605f524c443a3025190d010000000000000613202c3945515d67717e8b949fa9b3aba39fa3a99e938c80736c61584e453b352f3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a000000000000000006121f2b3844505c66727f8c96a0acaea2988f82776c605a50443f38302b26201f1c171a1a1a171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d120700000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c01000000000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c0100000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000007131f2c38434f5963707d8a949ea1978e81746c62594f47444c535b60656c6f7376787979787775726e6a64605b534e443f464e585f666c707477787979777673706d66605d554f4740332d261d140a00000000000000000000000000000000000000000000000713202d3a4653606d7985929fabaa9d908477686d7a86929fac9f92867a6d6053473a2d20140a15212e3a47535f6a7884919eaba196887b6e6774818d9aabac9f92867a6d6154473a2f24180c00000000000000000000000000000000000000000c18232e3945515c66727f8b97a1adaa9f92867a707070707070707070707070707070707070707070707d8a97a3b0a99c8f8276695c4f4336291c100d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0808060200000000000000000000000000000000000007121d27303d45515d67707d88939f9e938a7d70685d52515e6b7884919ea3968a7d7063574a3d303a4754616d7a8794a0a194877a717d8a97a49d9184776a5e51442d34404d5a6773808d9aa69b8e8175685b4e4235281b0f00000000000000000000000000040a0f1315161a1d1f1924303a44505a616e7a85929ea0958c7f736a5f544a3f3428323f4b5865727e8b98a59c8f8376695c50432f24323e4b5865717e8b98a49d9083776a5d5044372a1d1100000000000002060a0c0d131313131313131313130c161f2a36424d57606d788390999e938a7d70675d51453c444f59606d79839098948c7f726a60554b54616d7a8794a0988b7f726558535346413a32281e13080000000000000000000000000003090e121415191b1d1e161f2a36424d57606d788390999e938a7d70675d5145444f59606d79839098948c7f726a60554b54616d7a8794a0988b7f726558535346413a32281e130800000000000004111d2935414c55606d7a85929ea6b0aaa2999299a1a59c928a7e716a60574d43392f26272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f00000000000000000713202d3a4653606d7884919ea8b2a99f92867b6e655b50483e342e261e1b1312100c060d060b0f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c000000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c201304000000000000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c2013040000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000915222f3b4854606b7683909da69e91857a6d605a5047454d565e656c71787c80838485868584827f7b77716c65605850494e58606a6f787d81838586858483807c78726d67605952443f382f261c1106000000000000000000000000000000000000000000030f1b27333f495363707d8a98a2aeaa9a8d807367677683909ca9a3988a7d7063574a3d31261b0f15222f3c4855626f7b8896a1ab9e9184786a64717d8a99a3afa3998b7e7164554b4035291d10040000000000000000000000000000000000000007121c2834404b54606d7985919ea9aea2988e817c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7f8c99a6b2a99c8f8276695c4f4336291c1003010101010101010101010101010101010101010101010100000000000000000000000000000000000000000000000b151e2935404b55606b74818d96a19e91847a6d60594f5e6a7784919da3978a7d7064574a3d313b4754616e7a8794a1aa93877a707d8a96a39e9184776b5e51442f34414d5a6774808d9aa79a8e8174675b4e4134281b0e0000000000000000000000040a0f151b1f212226292b2c2c28323e46525e68717e8b949e9f92877c6f665c50443c2f33404c5966737f8c99a69c8f8275695c4f423629313e4b5764717e8a97a49e9184786b5e5145382b1e120000000000070d121619192020202020202020202020201a25313b44505c666f7c87939f9e9184796d60584e413d45515c676f7c86929f92867c6f675d5154616d7a8794a0988b7f7265584c3f3936302820160c020000000000000000000000060c11151a1e212226282a2b2c2c25313b44505c666f7c87939f9e9184796d60584e4145515c676f7c86929f92867c6f675d5154616d7a8794a0988b7f7265584c3f3936302820160c020000000000000613202c3945515d67737f8c97a2adaea29892869196a1a49f92867c6f695e554b41382d2217171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d120700000000000005111e2a36414c5664707d8a96a1adada1978c7f72695e53493f3628231c140c0a060300000000000306090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c10040000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d1104000000000000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d11040000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000005111e2a36424d56636f7c89959f9f958a7e71685d5248434d575e686d777e84898d8f91929292918f8c88837e786f6a605b5354606a6f7c83898e9092929291908c89847f796f6b635c504a42382d22171007000000000000000000000000000000000000000005121f2b3744505b6574818e9aaaaea398897d70636673808c99a9aa9a8d817467584e43372b1f121d2935414c5666727f8c99a8ac9b8e817468606d7a86929facab9b8f8275675d5145382c1f130600000000000000000000000000000000000000000c18232e3945515d67727f8c97a1adaa9d938e898989898989898989898989898989898989898989898c919ca8b5a99c8f8276695c4f4336291c100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f39434f59606d7984919ea1968e81746b60555d6a7783909da4978a7d7164574a3e313b4855616e7b8894a1a2988679707c8996a39e9184786b564c413534414e5b6774818e9aa69a8d8073675a4d4034271a0d00000000000000000000070e151b20262b2e2f3336383939393736414c56626c76828f98a2999083786d60574d41382d404d596673808c99a69b8e8275685b4f423528313d4a5764707d8a97a39e9285786b5f5245382c1f12000000010a12191e2325262d2d2d2d2d2d2d2d2d2d2d2d2d2d28343f4a54606a74808d97a1968d80736a5f53493f404b555f6a727f8b94999184796d605a54616d7a8794a0988b7f7265584c3f322a251e160e050000000000000000000002090e171d1f262b2e2f3235373839393938343f4a54606a74808d97a1968d80736a5f5349404b555f6a727f8b94999184796d605a54616d7a8794a0988b7f7265584c3f322a251e160e05000000000000000714212d3a4754606d7a85929fa9b3a99f92867c849198a2a29891847b6e675d53493f332722190f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c0000000000000714202d3946525e6876828f9ca8b2ab9e9185796d60574d41382d2417110a02000000000000000000000002091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f130600000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d010000000000000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d010000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000714202d3a46525e6975828f9ba79d9083766c61564c414b555e696e7a828b9196999c9e9f9f9f9e9b9995908a837c726c655c5c666f7c8690959a9d9e9f9f9e9c9996918b847d736e605b544a3f332822190c02000000000000000000000000000000000000000613202d394653606c7885919eabac9f9286796d60636f7c8997a2ab9e9184786a5f53473a2e2115202c3945525d687683909ca9a49a8a7e71645d687683909ca9ac9f9285796d6053473a2e23170b000000000000000000000000000000000000000007121d2935404b55606d7985929ea9afa59d9a96969696969696969696969696969696969696969696999ca3adb5a99c8f8276695c4f4336291c100c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0706040000000000000000000000000000000000000000000000000007121d27313d45515d67707d89939d9d93897d70675d5c6976838f9ca4988b7e7165584b3e323c4855626f7b8895a29f9285796f7c8895a99f928578685d52453935424e5b6875818e9ba6998c807366594d4033261a0d00000000000000000109101920272b32373b3c40434546464544423e44505a616e7b86929f9f958c7f72695f53493f33404d5a6673808d99a69b8e8174685b4e413528303d4a5663707d8996a39f9285786c5f5245392c1f120000000a131c232a2f32333939393939393939393939393939392e38424e58606d7a85919e9f92877c6f655b50443a434e58626d75828f97968e81746c6157616d7a8794a0988b7f7265584c3f322519130c0500000000000000000000050d141a22282d31373a3b3f414445454646454441424e58606d7a85919e9f92877c6f655b5044434e58626d75828f97968e81746c6157616d7a8794a0988b7f7265584c3f322519130c050000000000000006121e2b37424d5765727e8b97a2adada1978c7f727c86929aa4a1969083796d655b50443e342b20170d090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c100400000000000814212e3b4754616e7a87939facafa3998c7f72675d51453b2f261b1206000000000000000000000000000000071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d201308000000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e13080000000000000000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e1308000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000814212e3b4754616e7b87939fa1968a7e71645a504445515d676e7b848f949ea0a8a39f9c9a999a9b9e9f9d9590877f776d66606d79849198a0a79f9d979595989c9f9e96918780746c665b50443f342b1e140a00000000000000000000000000000000000000091623303c4956636f7c8997a1ada99c8f8276675d606d7985929faba196887b6f6255483c302419212d3a4754606d7a86929fac9f93877a6e615666737f8c99a8aea2988a7d7064544a3f34281c100300000000000000000000000000000000000000000c18242f3945515d67727f8c97a2adafa9a7a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a6a8adb5b5a99c8f8276695c4f4336291c1919191919191919191919191919191919191919191313100c070000000000000000000000000000000000000000000000010b151f2935414b55606b74818e97a19e9184796d60596875818e9ba6998c807366594d40313d4a5763707d8a96a39e9184776e7a8797a1a298877a6d6054473a36424d57697683909cac988b7e7265584b3f3225180c00000000000000010a131b222b32373c4347494d5052525352514e4b4746535e69727f8b949f9f92867b6e655b50443b404d5a6673808d99a69b8e8174685b4e413528303d4a5663707d8996a39f9285786c5f5245392c1f12000007121c252e353b3e4046464646464646464646464646464646464645525d68717e8a949f999083776c60564c413c46515b616d7a85919a938a7e71695e616d7a8794a0988b7f7265584c3f322519080200000000000000000000060f171f252a34393c4247484c4e505152535252514e4c48525d68717e8a949f999083776c60564c4146515b616d7a85919a938a7e71695e616d7a8794a0988b7f7265584c3f322519080200000000000000000814212e3a47535f697683909da9b3ab9e9185796d717e88939fa59f958e81776c605a50463c32291f150b02091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f130600000000030f1b27333f495364717e8b9aa4afac9f92867a6e61554b4033291d140a000000000000000000000000000000000007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d0100000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c0100000000000000000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c01000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000004101d2935404b5565727e8b99a49e9184786d605346434e58606d798391969fa6a49f9992908e8d8d8e91969a9f99928c81786d66717e8a96a0a89f95908a88898b8f949da099938c81786c605b51463d30261c1106000000000000000000000000000000000006121f2b37434e586773808d9aa9b2a8988c7f7265555c6675828f9ba8a8998c7f7266564c4135291d27333f495364717d8a99a3aa9d908377685e55626f7c8896a1adaa9b8e8174665c5044382b1f1206000000000000000000000000000000000000000007121d2935404b55606d7a85929faab3b5b4b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa3a6abb4b5a99c8f8276695c4f43362926262626262626262626262626262626262626262626201f1c18120b0300000000000000000000000000000000000000000000030d18242f3a434f59606d7a84919ea1968d80746b6066727f8c99ab9b8e817568574d42373f4a5465727f8b98a59b8f8275697885929eaa95887c6f6255493c3a46535e697885919ea49a897c6f6256493c2f231609000000000000000a131c252d343c43474e5355595c5e5f5f5f5d5b5853514d57606c77829098a3989082776c60574d42404d596673808c99a69b8e8175685b4e423528303d4a5763707d8a96a39e9285786b5f5245382c1f1200020d19232e3740464b4c535353535353535353535353535353535353534c56616c76828f989f948b7e71685e52463d3f46525e68707d88939f92857b6e66616d7a8794a0988b7f7265584c3f3225190c00000000000000000000060f18212930363e45494d5355595b5d5e5f5f5f5e5d5b58555356616c76828f989f948b7e71685e52463f46525e68707d88939f92857b6e66616d7a8794a0988b7f7265584c3f3225190c0000000000000000000815222f3b4855626e7b88959fabafa3998c7f73676c73808c939ea79e938c7f736c61584e443b31271d120700071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d2013080000000005121f2b3744505b6575818e9bacb6a99c8f8276685e5243392f21170b020000000000000000000000000000000000010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d1104000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c20130400000000000000000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c20130400000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000613202c3945515d6775828f9ca8998c7f72665c50444854606a74808d95a0a8a499938d87838180808184888d92989f938e81786c74818e9ba8a09690837d7b7c7e828991969f9f938e81746d62584e42382e23170b01000000000000000000000000000000000815212e3a47535f6a7784919eaaaca196887c6f62555465717e8b98a7a99c908376685d5246392d202b3744505b6574818e9babaa9a8d80736756535f6a7884919eabab9e9285796d6053463a2d20130a0000000000000000000000000000000000000000010d18242f3945515d6773808c98a2aebab1a7a09d93939393939393939393939393939393939393979aa2abb5a99c8f8276695c4f433633333333333333333333333333333333333333333333332d2c28231d150c030000000000000000000000000000000000000000010407131d28313d45525d68707d8a939e9f93887d6f6763707d8a99a39e918478695f53473f44505c6675818e9ba9998c7f736976838f9ca5988b7f7265574d423f4854616e7b8796a19f93867a6d6053473a2d20140700000000000008121c252e373f464e54585f6266696b6c6c6c6a6864605d55515b656e7b86929f9f948b7f72695e5346404c5966737f8c99a69b8f8275685c4f423529313e4a5764717d8a97a49e9184786b5e5145382b1e120006121e2a3540495157596060606060606060606060606060606060606060605a616e7b86929f9e92857a6d61594f4239414c56616b74808d95979083786d616d7a8794a0988b7f7265584c3f3225190c000000000000000000030d18212a333b42465055575f6265686a6b6c6c6c6b6a6865615f575a616e7b86929f9e92857a6d61594f42414c56616b74808d95979083786d616d7a8794a0988b7f7265584c3f3225190c0000000000000000030f1c28333f4a5465727f8b98a7b1ac9f92867b6e61606c77818e95a0a59f93887e716a60564d43392f231812080007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d010000000613202d394653606c7885929eabb3a9988b7f7265564c4131271d0f050000000000000000000000000000000000000006111c2935414c5665727f8b98aab4aa9d918477685d5245392c201306000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d110400000000000000000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d110400000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000714202d3a4753606d7a86929fa096887b6e62544a414d56626f7c87939fa7a4999387807a7674737375777b80868e939f938c807376838f9ca99e918478706e6f71767d848f949f9d938b7f726a60544a3f34281d1207000000000000000000000000000000000915222f3c4855626f7b8896a0acab9e9184786a5f5354616e7b8795a0ac9f92867a6d6154473a2d222d394653606c7885929eaba298897d7063564e586774818e9aaaada197897c706356493d32261b0f03000000000000000000000000000000000000000007121d2935414c55606d7a85929faab4aca09591868686868686868686868686868686868686868a909aa6b5a99c8f8276695c4f433f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a38342e271e150b00000000000000000000000000000000000001080d111314161f2935414c56616c75818e97a19a9184796d616d7a86929fa196887b6e6259504a4e56606d7985919ea197897d706673808d99a79c8f8275695f544d4a505b65717e8b98a99d908377675d5145392c2013060000000000040e1a242e374049515860626a6f7376787979787775716d67605c555f69727f8c959f9f92867b6e615a50444b5865727e8b98a59c8f8276695c4f432f24313e4b5864717e8b97a49d9083776a5d5044372a1d11000a16232f3b46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b69727f8c95a0978e81746b60544b403a444f59606d79839098958c80736b6d7a8794a0988b7f7265584c3f3225190c0000000000000000010b151f2a333c454d525a6164696e72747778787979787774726e6963605f69727f8c95a0978e81746b60544b40444f59606d79839098958c80736b6d7a8794a0988b7f7265584c3f3225190c000000000000000006121f2b3844505b6676828f9ca9b5a99c8f8276685e5b656d79839097a1a49a92867c6f685e554b403429241a1006010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d11040000000815222e3b4855616e7b8897a1adada197887b6e6255483b3022150b0000000000000000000000000000000000000000000d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d2114070000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d01000000000000000000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d0100000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000a1724303d4a5763707d8a98a39e9184776a5f534246525e6875828f99a4a89f93877e746d6867666768696e737a818b929893887d7783909da5988c7f72666262656b707a828f959f9f92877c6f665c5044392f24180d00000000000000000000000000000005121e2a36424d5766737f8c99a8b2aa9a8d807467584e525e697783909daaa3998a7e7164544a3f33282f3c4956626f7c8997a1ab9f9285796d60534a5764707d8a98a3aea99a8d807467584e43372b1f13060000000000000000000000000000000000000000010d19242f3a45525d6873808d98a2aeaa9d9184777979797979797979797979797979797979797e8a97a3b0a99c8f8276695c4f4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4645403930271d120700000000000000000000000000000001070c13191d20212428242f3a444f59616d7a85929ea0968d80736a6876828f9ca89a8d80746b605b54585f68707d8a97a19e9185796d626f7b8895a09f93877b6e665e57545c606d7683909da4998c7f7266554b4035291d110400000000020c16202c364049525b626a6f767c80838585868584817e7a736d675e57606d78839099a2988f82766c62564d4a5764717d8a97a49d9083776a554b403529323f4c5965727f8c98a59c8f8276695c4f4336291c10000c1925323e4b57636d737979797979797979797979797979797979797979797978736d7883919a9e93897d70665c51453c3d45515c676f7c86929f93877d706d7a8794a0988b7f7265584c3f3225190c000000000000000007121d27313c464e575e616c71777b7f8183848586858584817f7b76706b60606d7883919a9e93897d70665c51453d45515c676f7c86929f93877d706d7a8794a0988b7f7265584c3f3225190c00000000000000000613202d394653606c7985929facb3a9988b7f726556535d676e7b859198a3a29891847a6e675c514540362c22180e0506111c2935414c5665727f8b98aab4aa9d918477685d5245392c2013060000000a1724303d4a5763707d8a96a9b3ab9e928578695f53473a2e2114030000000000000000000000000000000000000000000813202d394653606c7985929facb1a795897c6f6256493c2f23160900000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e1308000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e13080000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000c1926333f4c5966727f8c99aa9a8d807467584e434754616e7b86929faba1968c7f736c615e565a5a575f61686d757e86929891857a83909ca3968a7d706354565960686d79839096a1999083786d60554b4035291c110600000000000000000000000000000714202d3a46525e697783909daaaea298897d7063564a4d566673808d99a9ab9b8e8175665b5044382b36414c566673808c99a9ab9b8e8275665c514753606d7a86929facab9e9184786a5f53473b2e21150900000000000000000000000000000000000000000008131e2935414c56616d7a86929faaaca0958a7d706c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c707d8a97a3b0a99c8f8276695c595959595959595959595959595959595959595959595959595953514b43392e23180c0000000000000000000000000000030b12181e24292c2d31353738323e46525e68717e8a939e9f93877c6f67717e8a95a09f92877d716c6667676a6e7a84919ea2988d8073665f6a7783909da4998f82786e696767666d727f8b959f9f93877b6e6154483b2f24180d010000000008131e28323e48525b636d727c82888c8f91929292908e8b857f796e695e5c666f7c87929f9f948b7e71685e524956626f7c8995a99e918578675d5145392c34404d5a6773808d9aa69a8e8174675b4e4134281b0e000d192633404c5966737f868686868686868686868686868686868686868686868578666f7d88939f9d9184796d60574d4237404b555f6a727f8b94999184796d7a8794a0988b7f7265584c3f3225190c00000000000000000c18242f39434e585f696e767e83888c8e909192929291908e8b87827d746d67666f7d88939f9d9184796d60574d42404b555f6a727f8b94999184796d7a8794a0988b7f7265584c3f3225190c00000000000000000815222f3b4855626e7b8898a2aeada197887b6e62554b555e696f7c86929fa4a1969083796d605b51483e342a20170c030d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d2114070000000c1926323f4c5965727f8c98a5b2a99c8f837669574d42372b1e120600000000000000000000000000000000000000000006121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c010000000000000000000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c010000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000030f1b27333f49536874818e9bab978a7e7164574b3f4c5965727f8c99a3ab9e9184796d605a524c4d4d4d53565e616c717d8692978d80828f9ca396897c706356494f565d676e7a84919ea0958b7f72675d5145382d22170b00000000000000000000000000000815212e3b4854616e7b87939facab9f9285796d6053464956636f7c8997a1ab9e9285796c605346392d3946525e687783909daaa4998b7e7164544b45515d6776828f9ca9aca196887c6f6255493c31261a0e020000000000000000000000000000000000000000010d1924303a46525e6873808d98a3aea79c9083766b606060606060606060606060606064707d8a97a3b0a99c8f827669666666666666666666666666666666666666666666666666666666605c554b4034281c1004000000000000000000000000060d151d24292f35393a3e4144454645414c56616c75828f97a2999183796d6d7984919da39992857e78757474767b839096a19f92867b6e615864717d8a949e9f948f827b76747475797f87929fa1978e8174695e52463a2d1d130700000000010d1924303a44505a636e737f878f94999c9e9e9d9e9d9b98928c837b6e695e5f6a73808c95a09f92857b6e615a5054616d7a8797a1a197867a6d6053473a2d35414c566875828f9bac998c7f7266594c3f3326190c000d192633404c5966737f8c93939393939393939393939393939393939393939185786b6b74818e97a0968c7f73695f53463e39434e58626d75828f97968d80747a8794a0988b7f7265584c3f3225190c0000000000000004101d2935404b555f6a6e7b838a9095989b9c9a989898999c9b9a938f8981796d676b74818e97a0968c7f73695f53463e434e58626d75828f97968d80747a8794a0988b7f7265584c3f3225190c00000000000000000b1824313e4b5764717e8a97aab4ab9e928578695f53474d57606a717e8a929ca59f958e81756d635a50463c32291e150b0813202d394653606c7985929facb1a795897c6f6256493c2f2316090000000e1b2834414e5b6774818e9aa7b3a79a8d8074675a4d4131261a0e02000000000000000000000000000000000000000000030f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d0000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c2013040000000000000000000000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c201304000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000005121f2b3744505b657783909da499887c6f625549424d566875828f9baba9998c7f73675c514641404042474c525a626b707d8792928785919ea3968a7d7063574a434c555e68707d8a939e9f9285796d60544a3f33281c0f0300000000000000000000000004111d2935414c5665727f8b9aa4afab9b8e8275665c51444653606d7985929eaba197897c6f6356493c303a4754616d7a87939fac9f93867a6d615447404b5565727e8b98a7b1a8998c807366574d42362a1e120500000000000000000000000000000000000000000008131e2a36414c56616e7a86929fabab9f94897c6f63574e535353535353535353535764707d8a97a3b0a99c8f8276727272727272727272727272727272727272727272727272727272726d675c5145382c1f13060000000000000000000000060f181f272f353a4145474a4e505253525150505a616e7a85929fa0958d80736a707d89919fa297928a8482808183879095a09e938c7f72695e55616c75828f95a09f948f8783818082858b9299a29892857a6d61574d42362a1e0c010000000005111d2935414c56616c73808c92999f9f9992919091979c9e9f9590847b6e675c606d79839099a2978f82756c6156525e687885919ea995897c6f6256493c303946525d687784919ea49a897d7063564a3d3023170a000d192633404c5966737f8c999999999999999da0a7a9a29f999999999999999185786b616d7a85929e9f92867b6e615a50443a3c46515b616d7a85919a93887d7a8794a0988b7f7265584c3f3225190c0000000000000006131f2c3945515d676e7c8490959d9d9993908d8b8b8b8d8f92999f9c938e82796d616d7a85929e9f92867b6e615a50443c46515b616d7a85919a93887d7a8794a0988b7f7265584c3f3225190c00000000000000000d1a2633404d596673808c99a6b3a99c8f827669574d42454e58616c73808d939ea79e938c7f736c61584e443b30271d1207121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b000000101c2936434f5c6976828f9ca9b2a5998c7f7266594c3f3326190900000000000000000000000000000000000000000000000b17222d404d5a6773808d9aa6b3a89b8e8175685b4f4235281c0f00000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d110400000000000000000000000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d1104000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000613202d394653606c7985929f9f93867a6d60534746525e697885919eaba297887b6e62554b40363031373a41465059616b727f8b93929197a1a4978b7e7164584b3e434c56616c75828f9ba2978b7f72665b5044382b1f12060000000000000000000000000713202c3945525d6876828f9cacafa3998a7e7164544a4044505c6675818e9baba9998c807366574d42363f4a5464717e8b9aa4a99d908376685e52463b4854616e7b8795a0acaa9d908377695f53463a2d211408000000000000000000000000000000000000000000020d1925303a46525e6874808d99a3aea69b8f82756a5f534746464646464646464a5764707d8a97a3b0aa9d91847f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6053463a2d20130700000000000000000000060f18212a313940454c5254575b5d5e5f5f5e5d59565e68717e8b949e9f92877c6f6b737f8c93999e9f97918e8d8e90939aa09e938e81786d6056505a616e7a8390959e9f9993908e8d8e92979f9f9892867d70685e52453b30251a0e00000000000713202d3946525d68717e8a929fa198928b86848385888f949da0969083796d605c666f7c87939f9e938a7e71685e52566975828f9ca5988b7f7265574d42363b4754616d7a86939f9f93867a6d6154473a2e211407000d192633404c5966737f8c8c8c8c8c8c8c8c9095a0a297928c8c8c8c8c8c8c8c85786b5d68717e8b949f988f82766c61564c41353f46525e68707d88939a91847a8794a0988b7f7265584c3f3225190c00000000000004111d2935414c55606d798391969f9b938e8783807f7e7f8082878f949e9d948e81746a68717e8b949f988f82766c61564c413f46525e68707d88939a91847a8794a0988b7f7265584c3f3225190c00000000000000010e1b2834414e5b6774818e9aa7b4a79a8d8174675a4e413d46505a606c77818f95a0a59f93887e706a5f564c43392e2318110f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d000000101d2a3643505d697683909ca9b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f00000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d0100000000000000000000000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d01000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000714212d3a4754606d7a8798a29e918478675c51454754616e7a8797a1ab9e928578695f5343392f25262b30363e474f59626d74818e979ea1a9a6998c7f7366594c403b444f59626f7c88949e9e9184786c605346392d22170b0000000000000000000000000714212d3a4754606d7a86929facac9f92867a6d6054473a3f4a5464717e8a99a3aa9d908377695e52463a44505c6675828e9baca8998c7f7366564c413a46535e697783909daaaca095887b6e6155483b3025190d0100000000000000000000000000000000000000000008131e2a36414c56616e7b86929fabac9f93877b6e62564d423639393939393d4a5764707d8a97a3b0aca096918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877a6d6054473a2d211407000000000000000000030c18212a333c434b51565d6064686a6b6c6c6b69666260626c76828f98a2999083786d6d737f878f94989b9d9b9a9a9d9c9996918a81786d665c5046525e686e7a838b92979a9c9c9a9a9b9d9b9a938e867d706b60564c4133291f14090000000004111d2935414c56616d7a85929ea19792867f7a7776787c828d929d9f958c7f73685e606a73808d96a09e92857a6d61595965727f8c98a79c8f8275695e524641444f5964717e8a9aa49d908377685e5246392d20130700091623303c4956636f7d808080808080808083909d9f928580808080808080807f726556626c76828f989f948a7e71685d52453d36414c56616b74808d95958c808c99a5988b7f7265584c3f3225190c0000000000000613202c3945515d6773808d95a09b918c817b767372717273767b828f939e9f93877c6f626c76828f989f948a7e71685d52453d414c56616b74808d95958c808c99a5988b7f7265584c3f3225190c0000000000000003101c2936434f5c6976828f9ca9b2a5988c7f7265594c3f343e44505b656d79839097a1a49a92867c6f685e554b403428231a1017222d404d5a6773808d9aa6b3a89b8e8275685b4f4235281c0f020000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a99c908376695d5043362a1d10000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e130800000000000000000000000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e130800000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000815212e3b4854616e7b8794aa9d9083776a554b404955626f7c8895a9a99c8f837669574d4231271d1a1e252a353e47515b616d7a85929ea7b1a79a8e8174675b4e41323e47535f6a75828f9ca096897d7063544a3f33281c0f030000000000000000000004101c2934404b5564717e8b99a3afa99c8f8376685d5245393a4754606d7a86929faca095877b6e6154473b4653606d7985929faba196887c6f6255493c36424d576673808d99a9b1a7988c7f7265564c41362a1d1105000000000000000000000000000000000000000000020e1925303b46525e6974818d99a3afa49a8e8174695e52463a2f242d2d313d4a5764707d8a97a3b0b2a8a09d99999999999999999999999999999999999999999999999999999993877a6d6054473a2d2114070000000000000000000b151e2a333c454d555d60686d7174777879787776736f6c65616e7b86929fa0958c7f736a6d727c82888b8f9091929291908d89847d756d665c544a414c565e686d787e85898d9091929291908f8b87817b706b60594f443a3021170d02000000000713202c3945525d6873808d97a19e92857c726d676a6a6f77808d95a09f92867a6e6158606d7984919aa1978e81756b6155616e7b88959f9f92867b6e615a524d5056606b75828f9ca4998c7f7366564c4135291d1105000915222f3b4854606b6f7373737373737374818e9b9e91847873737373737373726d62575a626e7b86929f9e91857a6d60584e42383a444f59606d798390989285929fa5988b7f7265584c3f3225190c0000000000000714212d3a4754606d7a85929f9e948c7f746e696765656566696e78818f98a39a8e817566626e7b86929f9e91857a6d60584e423a444f59606d798390989285929fa5988b7f7265584c3f3225190c0000000000000004111d2a3744505d6a7783909daab1a4978a7e7164574b3e31333f49535d676e7b859299a3a29891847a6e675c51453f352c22181926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f030000111e2b3844515e6b7784919eaaafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d110000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c01000000000000000000000000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c0100000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000815222f3b4855626e7b8895a19c8f8376695c5043495663707c8996a3a89b8e8175685b4e423128150e1319232c353f46525d68717e8a95a0aca99c90837669574d423637434e5864707d8a97a29a8e8174665b5044382b1f12060000000000000000000006131f2c3845515c6775828f9babb1a7988b7f7265564c41353945525d687683909ca9a7988b7e7165544b40495663707c8997a2ab9e9184786a5f53473b313c4956636f7c8997a1ada99c908376685e5246392d2013070000000000000000000000000000000000000000000008141e2a36424d57616e7b87929fabac9f92867b6e61564c4135291d24313d4a5764707d8a97a3b0bab2acaaa5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a093877a6d6054473a2d211407000000000000000007121d27303c454e575f676d737a7e81838586858483807c78706b69727e8b949f9f92867c6f666a6f757b7f82848586858483807c79706c605c544a423b444c565e666d72797d80838485868584827e7b746e6860594f473d32281e0f0500000000000714212d3a4754606d7a86929f9f958a7e716a605d585f656d7883919da3988d8073665c5d67707d88939f9e938a7d70675d5f697683909da3998e81756c615e565b60686f7d87939f9f93877b6e6155483b3025190d01000713202c38444f5960636666666666666874818e9b9e9184786b66666666666665625b51535f6973808c96a0978d80746a60544a3f343d45515c676f7c8692989298a2a5988b7f7265584c3f3225190c0000000000000b1825323e4b5865717e8b989e9c8f82756d615e57585858575e666e7b86929f9e9285796d606973808c96a0978d80746a60544a3f3d45515c676f7c8692989298a2a5988b7f7265584c3f3225190c0000000000000004111e2b3744515e6a7784919daab0a3968a7d7063574a3d302d38414b555e696f7d87929fa4a1969083796d605b51473e342a201725323e4b5865717e8b98a4b1a99c908376695d5043362a1d10030000121f2b3845525e6b7885919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e1100000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c201304000000000000000000000000000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c2013040000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000916232f3c4956626f7c8995a29c8f8275695c4f424a5764707d8a97a3a79a8e8174675b4e4134281b0e08111a232935414c56616c7783909da8ab9f928578695e52463a323c4653606d7985929e9e9285796c605346392d201306000000000000000000000714202d3a4753606d7985929facaca095887b6e6155483b3035414c5666727f8c99a8a89b8f8275665c51454d576673808d99a9aa9a8d817467584e43372d394653606c7985929eabac9f93867a6d6154473a2f24180d01000000000000000000000000000000000000000000020e1a25303b46535e6974818e99a3aea3998d8073685d5245392e2324313d4a5764707d8a97a3b0b8b0aaa99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93877a6d6054473a2d21140700000000000000000c18232e39424e575f696e7980868a8e9091929291908c89837d746c6c77828f98a2999083786d6062696e7275777879787776736f6d66615a504a4238323b444c545c60676d707376777879787775716e69615e564f473d352b20160c000000000004101d2935404b5565727e8b98a29d9083766c6158514e535c66707d8a97a19e9185796d6055606b74818e96a19e91847a6d605964717e8a95a09e938b7e736e6869666c707a84919aa3998f8275695f53463a2d1e13080000030f1b27323d474f545659595959595b6874818e9b9e9184786b5e5959595959595751494d57606d7984919e9f93877c6f665c50443b34404b555f6a727f8b949fa2aaa5988b7f7265584c3f3225190c0000000000000e1b2835414e5b6874818e909192897c6f635b524d4c4b4c4d545e6976828f9ca297887b6e61606d7984919e9f93877c6f665c50443b404b555f6a727f8b949fa2aaa5988b7f7265584c3f3225190c0000000000000005121e2b3845515e6b7884919eabafa396897c706356493d30262f3a434d57606b717e8b929da69f958e81756d635a50463c32291e24313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d11040000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e1100000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d1104000000000000000000000000000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d11040000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000a1623303d495663707c8996a39b8e8275685b4f424b5764717e8a97a4a79a8d8074675a4d4134271a0e0008111924303a44505a64717e8a96a1aca297877b6e6154473b2e3845515c6674818e9ba197897c6f6356493c30231608000000000000000000030f1c28333f4a5463707d8a98a2aeaa9d908477695f53463a2d303c4855626f7b8896a1ac9f9285796d605346535e697784909daaa2988a7d7063574a3d322b3844505b6674818e9babafa4998b7e7165554b4035291d10040000000000000000000000000000000000000000000009141f2a36424d57616e7b87929fabab9f92857a6d60554b40342824313d4a5764707d8a97a3b0b0a69f9c93939393939393939393939393939393939393939393939393939393877a6d6054473a2d2114070000000000000004101c2834404b545f6a6e7b848c92989b9d9e9d9d9e9c9995908980776c6e7b86929f9f958c7f72695f5f6165686a6b6c6c6b696663605c5450443f383029323a424a50555c606367696b6c6c6b6a6865615e57524d443d352b23190e04000000000006131f2c3945515d6776828f9ca8988b7f72655a5045414a54606d7985919ea197897c70635659606d7a84919ea1968e81746b60606c78839098a39b908b807b777576797d849196a09f92877c6e62574d42362a1e0c020000000b16212b353d4448494d4d4d4d4e5b6874818e9b9e9184786b5e514d4d4d4d4c4a463f45515c67707d89939e999083786d60574d423639434e58626d75828f97a19f9f988b7f7265584c3f3225190c0000000000000c1926323f4c5965727f8283848586786d605346423f3e3f424d576773808d9aa995897c6f625c67707d89939e999083786d60574d4239434e58626d75828f97a19f9f988b7f7265584c3f3225190c0000000000000005121f2c3845525f6b7885929eabafa296897c6f6356493c302328313b454f59626c73808d949ea79e938c7f726c61584e443a302724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e11050000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d10000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d010000000000000000000000000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d010000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000091623303c4956636f7c8996a29b8f8275685c4f424a5763707d8a96a3a79a8e8174675b4e4134281b07000008131e28323e4653606d7984919eaba9978a7d7064574a3d2d34404b5464717e8a97a8998c7f7266594c3f2f24190d01000000000000000006121f2b3844505b6674818e9baab3a9998d807366574d42362a2e3a47535f6a7884919eaba298897d7063564954616e7b8795a0ac9f9286796d6053473a2d28333f4a5464717d8a99a3aeab9c8f8275675d5145392c20130600000000000000000000000000000000000000000000020e1a25313b46535f6975818e99a4aea2988c7f72675c5145382d22313d4a5764707d8a97a3b0aa9f948f86868686868686868686868686868686868686868686868686868686867a6d6054473a2d2114070000000000000006131f2c3845515c666e7c8591969f9f9c9791909092989fa09d928d81786c727f8c959f9f92867b6e665b55585c5d5e5f5f5e5d5a5653504a423e342e26202930383f444b5153565a5d5e5f5f5e5d5c5854524d46413b322b231911080000000000000714202d3a4753606d7a86929fa196877a6e6154473e3944505c6674818d9aa9998d80736654515d67707d8a939e9f93887d70675d666f7c869299a29b928d86838283858a9196a09d938c80736a5f53453b31261a0e00000000040f19232b32383b3c404040414e5b6874818e9b9e9184786b5e51454040403f3e3a34404b55606b75818e97a0958c7f72695e52463e313c46515b616d7a85919a9393938b7f7265584c3f3225190c0000000000000c1825313e4a57636d7275767778796d665c5044383030363f4c5966727f8c99ab96897d706355606b75818e97a0958c7f72695e52463e3c46515b616d7a85919a9393938b7f7265584c3f3225190c0000000000000005121f2b3845525e6b7885919eabafa296897c6f6356493c30231f29333d47505a606c78828f95a0a59f93887e706a5f564c42392e23313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e11040000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d100000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e13080000000000000000000000000000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e1308000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000916232f3c4956626f7c8995a29c8f8275695c4f42495663707c8996a3a89b8e8175685b4e422e23180c0000020c16202c3844505c6673808d99a9a6998c807366544a3f332e3a4754616d7a8796a19b8f827568564c4135291d110400000000000000000613202d394653606c7985929eabada197897c6f6256493c31262b37434e586774808d9aaaaa9a8d807367574d5565727e8b98a7a89c8f8275675d5145382c222d3a4754606d7a86929facac9f92867a6d6053473a2e23170c000000000000000000000000000000000000000000000009141f2b37424d57626e7b87939facaa9e9184796d6053493f3327313d4a5764707d8a97a3b0a99c8f82797979797979797979797979797979797979797979797979797979797976685d5245392c20130700000000000004111d2935414c56606d79849197a19e949089858384858b9297a29d938c7f726c78839098a3989083786c60574d4f5152535251504d4946443f383028231c171e262e34394045474a4d5051525352514f4b4846423b3630292019110800000000000000091623303c4956636f7c8998a39e918478685e524639343f4a5464717e8b97ac9c908376665b5055616b75818e97a19a9184796d60606a717e8792989f9d9992908f8f91979ea09d938e81786d60584e4333291f1409000000000007111921272c2f30333335414e5b6874818e9b9e9184786b5e514538333332312e2e39434f59616d7a85929f9f92867b6e61594f4339343f46525e68707d8786868686867f7265584c3f3225190c0000000000000916222e3a46515b636568696b676d675c544a3f41414142464e586673808d99a399887c6f625559616d7a85929f9f92867b6e61594f43393f46525e68707d8786868686867f7265584c3f3225190c0000000000000005111e2b3844515e6b7784919eaab0a396897d7063564a3d302317212b353f44505b666d79839197a2a49a92867c6f685e544b403428313e4b5864717e8b97a4b1aa9d9084776a5d5144372a1e11040000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3a89b8f8275685c4f4235291c0f00000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c0100000000000000000000000000000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c01000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000915222f3c4855626f7b8895ab9c908376695d50434955626f7c8895a9a99c8f837669554b4034281c1004000004101c28343f4a54626f7c8996a1a99c8f8276665b5044382d3946525e687884919e9e918578685d5245392c2013070000000000000000091623303c4956636f7c8997a1adab9e9185786c605346392d2026313d4a5663707d8998a2aa9d918477695e535c6775828f9ca8a7988b7e7265554b403529202c3945515d6776828f9ca9aea3988a7d7164544a3f34281c100300000000000000000000000000000000000000000000030e1a26313c47535f6a75818e9aa4ada1978b7e71655b5044372b313d4a5764707d8a97a3b0a99c8f82766c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5d564c4135291d11040000000000000613202c3945525d68737f8c96a09e938e827c787677797e859298a29f92867b6e6e7b86929f9f948b7f72695f53493f4546454443403c3a38342e261e17110c151c23282f34383a3d40434445464544423e3b3a36302a251f170e0800000000000000000c1925323f4c5865727f8b98aa9b8f827568564d41362e3b4855626e7b889aa49f9285796c60534f59616d7a85929ea0968d80746a60616c717e868e92999b9d9d9c9c9e9c9a96918a81786d665c50463c3121180d03000000000000070f161b202223262835414e5b6874818e9b9e9184786b5e5145382b2626251d27303d46525e68717e8b949f988f82756c61554b403536414c56616b70797979797979726d62564a3e3124180b00000000000006121e2a353f495157595b5d555c605c554b474e4e4e4e4d52575f6a76838f9c9f92867a6d6054525e68717e8b949f988f82756c61554b4036414c56616b70797979797979726d62564a3e3124180b0000000000000004111e2a3744515d6a7784909daab0a3978a7d7064574a3d312417192328333f4a545d676e7b859299a3a29891847a6d665c51453f35323f4b5865727e8b98a5b1a99d9083766a5d5043372a1d100400000f1c2835424f5b6875818e9ba8b3a6998c807366594d402f23180c00000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c20130400000000000000000000000000000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c20130400000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000714212e3a4754616d7a8799a49d9184776a564c414754606d7a8797a1ab9e918478675c5145382c1f13060000000c17232e394653606c7884919eab9f9285796c605346392d36414c566975828f9ca197877a6d6054473a2d2114070000000000000006121f2b37434e586773808d9aa9b3aa9a8e8174655b5044372b1f202d3a4653606d7985929faca095877b6e6154606d7985929faca095877b6e6154483b2f241d2935414c5565727f8b98a7b1aa9b8e8175665c5044382c1f1206000000000000000000000000000000000000000000000009141f2b37434e58626f7c87939faca99d9184786c6053463d32313d4a5764707d8a97a3b0a99c8f8276696060606060606060606060606060606060606060606060606060605f524c443a2f24190d010000000000000714212d3a4754606d7a86929fa1978e81786f6a6a676d717c86929fa2988e81746a727f8c95a09f92867b6e655b50443b3039383633302d2c28231c150c06030a11171d23292c2d303436383939383735322e2d2a251f19140d050000000000000000000e1b2734414e5a6774818d9aa69a8d8073675a4d40302d3a4653606d7986939fa298877b6e615448525e68717e8a939e9f93877c6f675c616c717b81868b8f9192929291908d89847d746d665c544a3f342a200f060000000000000000040b0f1315161b2835414e5b6874818e9b9e9184786b5e5145382b1e1918151e2a36414c56606c778390999e938a7d70675d51453c2f3a444f5961636c6c6c6c6c6c65625b51463a2e221509000000000000010d18232d373f464a4c4f504b5153514c52545a5a5a5b575e61696f7c87929f9c8f8376675d514c56606c778390999e938a7d70675d51453c3a444f5961636c6c6c6c6c6c65625b51463a2e2215090000000000000003101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225181017222d38424c555f69707d87929fa4a1969082786d605b51473e34404d596673808c99a6b3a89c8f8275695c4f4236291c0f0300000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100400000000000000000000000000000000000000000005121e2a36424d576976838f9ca9b2a5988c7f7265594c3f3226190c0000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d1104000000000000000000000000000000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000613202d394653606c7986939f9f928578685d524545515d677885919eab9f9386796d6053463a2d20130800000006121f2b3744505b6575818e9ba8a298887b6f6255483c2f30404d5a6673808d99a995887c6f6255493c2f221609000000000000000815212e3b47535f6a7784919eaaaea2988a7d706453493f33271b1f2c3845515c6775828f9baca7988b7e72655463707d8998a2aa9d908377695e52463a2d1d19242f3b4855616e7b8895a0acab9f9285796d6053463a2d20130a0000000000000000000000000000000000000000000000030f1a26313c47535f6a75828f9ba6aca0968a7d7064594f4438313d4a5764707d8a97a3b0a99c8f8276695c53535353535353535353535353535353535353535353535353535345413a32281e130800000000000004101c2934404b5565717e8b98a29e92857a6d6660585c606a717e8b96a19f92857a6d6d78839099a2988f82776c60574d42362a2b2a2723201f1c17110a03000000060c12181c1f2023272a2b2c2c2b2a292521201e1a140e0802000000000000000000000f1c2936424f5c6975828f9ca5988c7f7265594c3f322c3845515c667885929eaa96897c706356494c56616c75828f97a2999183796d605a61696e757b7f82848586858583807c78706c605c544b42382e22180e00000000000000000000000307090e1b2835414e5b6874818e9b9e9184786b5e5145382b1e120b0c1925303a44505b656f7c87929f9e9184796d60584e4138323d474f5556606060606060585651493f34291e12060000000000000007111c252d353a3e3f42434045474c565d616767676869696e727b8491999e938a7d7063554b44505b656f7c87929f9e9184796d60584e41383d474f5556606060606060585651493f34291e120600000000000000020f1c2835424f5b6875828e9ba8b3a6998c807366594d402f23180c111c262f3a434d57606b727f8b929da69f948e81746d63594f463c414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e0100000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a0000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d01000000000000000000000000000000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000006121f2b3844505b667884919ea297877a6d605447414c556976838f9ca9a499897c6f6356493c3025190d000000030f1b27333f495365727e8b98acaa988b7e7265584b3f30323f4b5865727e8b98a3978a7d7064574a3d3124170a000000000000000915222f3c4855626f7c8896a0acac9f9286796d6053473a2d22171c2834404b5565717e8b9aa4a89c8f8275665c6774808d9aaaa9998d807366574d42362a1e14212d3a46535f697784919daaada297897d706356493d32271b0f0300000000000000000000000000000000000000000000000915202b37434e58626f7c88949eaaa89d9083766b6054483c313d4a5764707d8a97a3b0a99c8f8276695c4f464646464646464646464646464646464646464646464646464639352f2820160c0100000000000006131f2c3845515c677683909ca9998c7f73675d544e5157606d7984919ea2988b7e71666f7c87929f9f948b7e72695e52463e32291f1a161312100c0600000000000001070c101314171a1d1e1f201f1e1c181514120e0902000000000000000000000000111d2a3744505d6a7783909da4978a7d7164574a3e312834404b546a7783909da4978a7d7164574a44505a616e7b85929fa0958c80736a5f575f61696e727577787979787673706c65615a514b423930261c0f0600000000000000000000000000020e1b2835414e5b6874818e9b9e9184786b5e5145382b1e120008131e27333f49535f6a73808d96a0968d80736a5f53493f33353d44484a5353535353534c4a463f372d23180d0100000000000000000a131c232a2e3132352f343946525d686d7474747475777b7f8591969e938e81746b6155433f49535f6a73808d96a0968d80736a5f53493f333d44484a5353535353534c4a463f372d23180d0100000000000000010d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100a141d28313b454f59626d74808d949fa69d938c7f726b61584e44424d57697683909ca9b2a6998c7f7366594c403326190d000000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8897a2adaea298887b6e6155483b2e22150800000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e1308000000000000000000000000000000000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e13080000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000030f1c28333f4a546976838f9ca995897c6f625649404d5a6673808d99aaab998c7f7266564c41362a1c11060000000b17222d3c4956626f7c899aa4a89b8e817568564c4136313d4a5764707d8a97a3988b7f7265584c3f3225190c00000000000005121e2a36424d5766737f8c99a8b2ac9c8f8275675d5145382c1b1118232e3b4754616e7a87939fac9f9285796d60697784919daaa197897c6f6256493c30251a121e2a36424d576673808d99a9b3a99a8d807467584e43372b1f13060000000000000000000000000000000000000000000000030f1b26313c4754606a75828f9ca6ab9f95897c6f63584e43373d4a5764707d8a97a3b0a99c8f8276695c4f43393939393939393939393939393939393939393939393939392c29241e160d04000000000000000714202d3a4753606d7986929fa197887b6f62554b4245515c6674818d9aaa9b8e8174686a73808c95a09f92867b6e615a50443b3025190e07060300000000000000000000000406070a0d1011121312110f0b080705020000000000000000000000000000121e2b3845515e6b7884919ea3968a7d7063574a3d30232e43505d697683909ca5988b7e7265584b3f46525e69717e8b949f9f92877c6f665c53575e6165686a6c6c6c6b696763605b535045403930271e140a0000000000000000000000000205070e1b2835414e5b6874818e9b9e9184786b5e5145382b1e1205020b17222d38414e58606d7984919e9f92877c6f655b50443b3033383c3d4646464646463f3e3a342d251b1106000000000000000000010a11181e22252628232e3a4754616d7a808181818284878c929796918b81796d60594f4438414e58606d7984919e9f92877c6f655b50443b33383c3d4646464646463f3e3a342d251b11060000000000000000000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060b161f2a333d47515b606d78828f96a0a59f93877d706a5f564c47535f697885929eabb4aa978a7e7164574b3e3124180b0000000714202d3a4753606d7a86939facaea399897d706353493f33271b0f030000000000000000000000000000000000000004111d2935414c5565717e8b98a9b3ac9f9285786d6053463a2d201307000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000b17222d414e5b6774818e9aa4978b7e7164584b3e495663707c8998a2a99c8f8276685e5246382d22170b0000000614202d3a4753606d7a86939faa9e918477685e5246392f3c4956626f7c8995a2998c7f7266594c3f3326190c0000000000000714212d3a46535e697783909daaafa49a8b7e7165554b4035291d0a14202d3946525e687783909daaa298897c70636e7b8796a0ab9e9285796c605346392d20130e1a26313c4956636f7c8997a1adab9e9184786a6054473b2e2215090000000000000000000000000000000000000000000000000a15202b37434e58626f7c89949faba79c8f82756a5f53473b3d4a5764707d8a97a3b0a99c8f8276695c4f43362d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d201d19130c0400000000000000000916232f3c4956626f7c8999a39e9285796c6053463a404a5464717d8a97ac9d90847767606d79839099a2988f82766c62564d41362a20170c0200000000000000000000000000000000010305060605040200000000000000000000000000000000000000121f2c3845525f6b7885929ea396897c706356493d302936434f5c6976828f9ca5988c7f7265594c3f424d56626c76828f98a2999083786d60584e5254585c5e5f5f5f5e5d5a56535049413e342e271e150c020000000000000000000002090e1114141b2835414e5b6874818e9b9e9184786b5e5145382b1e12050006111b262f3c45515d67707d8a939e999083776c60564c41362a2c2f3039393939393932312e29231b1309000000000000000000000000070d121618191c212e3b4854616e7b878d8d8e8f9193938f8d89847e756d675c51473e2f3c45515d67707d8a939e999083776c60564c41362c2f3039393939393932312e29231b130900000000000000000000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b040d18212b353f44505c666d7a849197a2a49992867c6f685e544b55626e7b8897a2adaea298887b6f6255483c2f2215090000000613202c3945515d677784909daab4ab9a8d8073655b5044372b1f140a000000000000000000000000000000000000010c13202c3945515d6775828e9ba8b5a89c8f8275665c5044382b1f12060000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c2013040000000000000000000000000000000000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c201304000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000061825323f4b5865727e8b98aa9a8d817467564c414653606d7986929fac9f92867a6e61544a3f33281d1207000006131f2c3945515d677885919eaba096877a6e6154473b2f3c4955626f7c8895a2998c807366594d4033261a0d0000000000000815212e3b4854616e7b8795a0acac9f93877a6e6154473b2f24180c111e2a36414c5666737f8c99a9aa998d807366717e8b97a8ab9b8e8174665b5044382b1f120913202d3a4653606d7985929eabada196887c6f6255493c31261a0e020000000000000000000000000000000000000000000000040f1b27323c4854606a76828f9ca6ac9f93877c6f62574d423d4a5764707d8a97a3b0a99c8f8276695c4f433629202020202020202020202020202020202020202020201413110d08010000000000000000000b1825323e4b5865717e8b98ab9c908376655b5044373b4855626e7b889aa49f9286796d60666f7c87929f9e948b7e71685e52463e32291e130800000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3945525f6c7885929fa296897c6f6356493c302935424f5c6875828f9ba6998c7f7366594c403b44505a616e7b86929fa0958c7f726a5f544a484c4f5152535252504d4946443f382f28231d150c0300000000000000000000050d14191e2021272835414e5b6874818e9b9e9184786b5e5145382b1e120500000a141d2935404b55616b75818e989f958b7e72685e52463d302723232d2d2d2d2d2d2524221e18110901000000000000000000000000000106090c0c15212e3b4854616e7b87949a9b9c9e938682807d78716c605c554b40352935404b55616b75818e989f958b7e72685e52463d3027232d2d2d2d2d2d2524221e18110901000000000000000000000714202d3a4753606d7a86939facaea399897d706353493f33271b0f03060f192328343f4a545d686e7b859299a3a29891847a6d665c515665717e8b98a9b3ac9f9285796d6053463a2d20130700000004101d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b1106000000000000000000000000000000000007131d28333f4a54606d7a86929facb1a7988b7f7265544a3f34281c100300000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d1104000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000916222f3c4955626f7c8898a29d908377685d524545515c6775828e9ba8a3998b7f72665b5044392e23180f060004101d2935404b556a7784909daaa8978a7d7064574a3d2f3b4855626e7b8895a19a8d8074675a4d4134271a0e000000000005111d2a36414c5665727f8b98a7b1a99d908376685e5246392d1d12070e1925303c4955626f7c8896a1a99d9083766774818e9ba7a3998a7d7164544a3f33281c0f06121f2b3844505c6674818e9babb2a8998c807366574d42372b1e12060000000000000000000000000000000000000000000000000a15202c38434e5863707d89949faba49a8e8174695e52463d4a5764707d8a97a3b0a99c8f8276695c4f4336291c1313131313131313131313131313131313131313130707040100000000000000000000000d1a2633404d596673808c99a69b8e81746853493f333a4653606d7986939fa399887b6e61606a73808d96a09f92857b6e615a50443a3025190e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3945525f6c7885929fa295897c6f6256493c2f2935424f5c6875828f9ba6998c7f7366594c40323f46535e69727f8b949f9f92867c6e665b50443f42444546464543403d3937332d261d18120b0300000000000000000000050e171f252a2d2e342d35414e5b6874818e9b9e9184786b5e5145382b1e12050000020b18242f39434f59616e7b85929f9f92857a6e61594f43392e2318202020202020191815120d06000000000000000000000000000000060b0f12131c212e3b4854616e7b8793939495989a9285817d756e685e574d43392e242f39434f59616e7b85929f9f92857a6e61594f43392e23182020202020191815120d060000000000000000000000000613202c3945515d677784909daab5ab9a8d8073655b5044372b1f140a00071117232e38424c565f69707d87929fa5a0969082786d605b5d6875828f9ca8b5a99c908376665c5044382b1f1206000000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000000000000000000000000000000071118242f3844505b66717e8b98a2aeaca095887b6e6155483b2e23170b0000000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d01000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000713202d3a4653606d7985929f9f93867a6d605447404b5563707d8996a1ab9e9184786c60554b4034282118100b09111d2a36414c566a7784919daaa69a8d807367554b40343b4855616e7b8894a19a8d8174675a4e4134271b0e00000000000713202d3946525e6876838f9ca9b2a8998c7f7266564c41362a1e0b010815222e3b47545f6a7884919eab9f92867a6d7784919eaa9f92867a6d6054473a2d22170b03101c28343f4a5464717d8a99a3aeaa9d908477695f53473a2d211408000000000000000000000000000000000000000000000000040f1b27323d4854606b7683909ca7ac9f92867b6e61564c414a5764707d8a97a3b0a99c8f8276695c4f4336291c100d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0a0a08040000000000000000000e1a2734414d5a6774808d9aa69a8d8073675a4d402d3845515c677885929fab95887c6f6258606d79849199a2978f82756c61564c41362a20160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929ea296897c6f6356493c302936434f5c6976828f9ca5998c7f7266594c3f3336424d57606c78839098a3989083786c60574d41382d393939383634302d2b27221b140b070000000000000000000000020d17202930363a3b413a38414e5b6874818e9b9e9184786b5e5145382b1e120500000007121d27313e46525e68727f8b959f978e81756b60554b4034281f1509131313130c0b0906010000000000000000000000000000020a11171c1f2028232e3b4854616e7b86868687898c9195928e89827a6e695e544a40342827313e46525e68727f8b959f978e81756b60554b4034281f15091313130c0b0906010000000000000000000000000004111d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b11060006111c26303a444d57606b727f8b939da69f948e81746d62606d7a86929facb2a8998c7f7266544a3f34281c1003000000000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f0802000000000000000000000003091119232935404b55606c7884919daab3a99d908477695f53463a2d1c110600000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e130800000000000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e130800000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000006121f2c3844515c6676828f9ca4998a7d7164554b404653606c7884919ea8a0968a7d71675c51453d332a221c18181a222d3946525e687885929eaba99d908376675c5145383c4955626f7c8895a2998d8073665a4d4033271a0d00000000000714212e3a4754616d7a86929facaca096887b6f6255483c3025190d0006131f2b37434e586774818e9aaaa399897d707b8796a0a99c8f8276675d5145392c1c1106000b17232e3a4754606d7a86929facaca095887b6e6155483b3025190d010000000000000000000000000000000000000000000000000a16212c38444f5963707d89959faba3998d8073685d52454a5764707d8a97a3b0a99c8f8276695c4f4336291c1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171614100b05000000000000000e1b2835414e5b6874818e9ba6998d8073665a4d403334404b556b7885919ea396897c7063565c676f7c87939f9e938a7e71685e52463e32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919ea396897d7063564a3d30293643505c6976838f9ca5988b7f7265584c3f32313b44505b666e7b86929f9f958b7f72695f53493f33272c2c2b2a2723201f1b17110a0200000000000000000000000009141f29323b4246474d4745404e5b6874818e9b9e9184786b5e5145382b1e1205000000010b151f2a36414d56606c788390999e93897d70675c51453c31261a0e04060606000000000000000000000000000000000000020b141c22282b2d352e343a46535e69767979797a7c7f848c9399948f847b6e665c5144382c1f2a36414d56606c788390999e93897d70675c51453c31261a0e040606000000000000000000000000000000000000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000a151e28323c454f59626d74818e949fa69d938c7f726b66727f8b98a3aeaca096887c6f6255493c2e23170b000000000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e09060400000100000406090e141a232b353d45515d67717e8a95a0acada2978b7e7265574d42362a1e0a00000000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c02000000000000000000000000000000000000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000004101c2834404a5465727f8c98a79b8e8175675c514544505b66727f8c96a1a89e9184796d60594f453c342c272524262a343c4754616d7a86939facac9f9286796d6053473a3d495663707c8996a3998c7f7266594c3f3326190c0000000004101d2935404b5564717e8b99a3afaa9e9184776a5f53473a2e1e140800030f1b26323d4a5763707d8a98a2ab998c80737e8a97a8a8988c7f7265554c4135291d0a00000613202c3945515d6776828f9ca9b1a7988c7f7265564c41362a1e110500000000000000000000000000000000000000000000000004101b27323d4854606b7683909da7ab9f92857a6d60554b4a5764707d8a97a3b0a99c8f8276695c4f4336292727272727272727272727272727272727272727272727272423201c1710080000000000000f1c2835424f5b6875828e9ba6998c7f7366594c40332e44515e6b7784919ea3968a7d70635755606b74808d96a09e92857a6d615a50443a3024190d0400000000000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7784909da3978a7d7064574a3d312a3743505d6a7683909da4978b7e7164584b3e3128333f4a545f6a737f8c95a09f92867b6e655b50443b30251a1f1d1a1613120f0b0600000000000000000000000000020e1925303b444d52545a53514b4e5b6874818e9b9e9184786b5e5145382b1e120500000000030d1925303b44505b666f7c87929f9e9184796d60574d42372b20160c0200000000000000000000000000000000000000000a141d262d33383942434045464d575e6c6c666d6d6f72787f87939f969083786d6053463c312625303b44505b666f7c87929f9e9184796d60574d42372b20160c0200000000000000000000000000000000000000000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f08030c16202a333d47515b606d78828f96a0a59f93877d706d7984919eaab4aa9d9184776a5f53473b2e1c1106000000000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312100c070e070c1013131a1f262a353d47505a606d7984919ea7b1a99f9285796d6053473b31261a0e000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c201304000000000000000000000000000000000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c2013040000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000c18232e3b4855616e7b88959f9f9285796d6053473f4a54606d7984919ea6a0968c7f736b60574e463f3833313131363d46505a64717e8a9aa4afaea399897c6f6356493c3d4a5764707d8a97a3988b7f7265584c3f3225190c0000000006131f2c3945515d6775828f9babb3a99a8d807467584e43372b1f0d0200000a14202d3a4753606d7986929fa99c908376818d9aa7a096887b6e6155483b2f24190d000004111d2935414c5565727f8b98a7b1a99c908376685e5246392d201407000000000000000000000000000000000000000000000000000b16212c38444f5963707d8a95a0aba2988c7f72675c514a5764707d8a97a3b0a99c8f8276695c4f43363434343434343434343434343434343434343434343434343431302d28221a110800000000000f1b2835424e5b6875818e9ba6998c807366594d40333845525e6b7885919ea396897c7063564f59606d7984919ea1978e81756c61564c4135291f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9ca4988b7e7165584b3e322935414c566b7784919eac968a7d7063574a3d30222d38424e57606d78839099a2988f82776c60574d42362a20170d0d0a06050300000000000000000000000000000005111e2a36424d565e6167605c554e5b6874818e9b9e9184786b5e5145382b1e1205000000000008141f28333f4a545f6a73808d96a0968c8073695f53473e32281e13080000000000000000000000000000000000000006111c262f383f44464f504b51535452535f605c606162666c727f8b95a0958c7f7265574e42372b1f28333f4a545f6a73808d96a0968c8073695f53473e32281e1308000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e090e18212c353f44515c666d7a849198a2a49992867c717e8b96a0acaea3988c7f7265584e43372b1f0a000000000000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c181b1a1b181c1f20262b31363f474f59616c74808d96a1adada2978d8073675d5145392a1f14090000000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d11040000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000714212d3a46535f697783909da2988a7e7164584e4345515c67717e8b949fa89f92877d70695f585048443f3e3e3f42464f58616c7683909cacaab0ab998c7f7266594c3f3f4c5865727f8b98a4978b7e7164584b3e3125180b000000000714202d3a4753606d7a86929facada297897c706356493d31261a0f00000006131f2c3845515d6775828f9ca89f92867983909daa9d918477695f53473a2d1e13080000010d19242f3b4855616e7b8895a0acac9f93867a6e6154473b2f24180d0100000000000000000000000000000000000000000000000004101c27333d4855616b7783909da7aa9e9285796d60544a5764707d8a97a3b0a99c8f8276695c4f4340404040404040404040404040404040404040404040404040403d3c39332c231a1005000000000e1b2734414e5a6774818d9aa69a8d8073675a4d40343744505b657885929ea295897c6f625649515d67707d89939d9e938a7d70685d52453e31281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba6998c7f7366594c402e2c3945525d687985929fa49a887b6f6255483c2f22262f3c44505c666f7c87929f9f948b7e71695e52463e32291e1308000000000000000000000000000000000000000714202d3a46525e696e746d675f585b6874818e9b9e9184786b5e5145382b1e12050000000000020b17222d38424e58606d7984919e9f92867b6e625a50443a3024190c030000000000000000000000000000000000000b17222d38424a50535b5d555c60605d564c4a505354545b606c7883909d9e9184786a5f53473a2e21222d38424e58606d7984919e9f92867b6e625a50443a3024190c030000000000000000000000000000000000000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312101a232834404a545e686f7c869299a4a29891847b85929ea8b2aa9f92867a6d6154473c32261b0f0000000000000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c282327272723282c2d31373b42465159606b717e8a929da8b1a79f92857a6d61554b4035291d10040000000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d010000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000005121e2b37424d5765727f8c98a39c9083766a605447404b55606c77828f97a2a39992857b6f6a625a554f4c4b4b4c4d5359606a707d8a949f9b9ea6a89b8f827568574d42404b546774818e9aa896897c6f6356493c3023160900000003101c28343f4a5464707d8a98a2aeab9f9285796d6053463a2d20130a00000004101d2935404b5565727e8b98a7a3988a7d87939fa99a8d807367574d42372b1e0c010000000814212d3a46535f697784919daaafa4998b7e7165554b4135291d1104000000000000000000000000000000000000000000000000000b16212c38444f5964707d8a95a0aca1978b7e72665b505764707d8a97a3b0a99c8f8276695c4f4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49443e362c22170b000000000d1a2734404d5a6773808d9aa69a8e8174675b4e4130394653606c7986929fa895887b6e6255484b55606b74818e96a19e91857a6d60594f433a2f24190d0400000000000000000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a69a8e817467544b40342d3a4754606d7a8798a29f93867a6d6053473a2d201d28343f4a545f6a73808d95a09f92857b6e615a50443a3025190e040000000000000000000000000000000000000814212e3b4754616e7b80796f6a605b6874818e9b9e9184786b5e5145382b1e120500000000000006111c262f3c45515d67707d8a939e988f82766c61564c4135291e150a0000000000000000000000000000000000030f1c28333f4a545b6068696b676d6d685d52454446474a505b6573808c99a196887b6e6255483b2f221c262f3c45515d67707d8a939e988f82766c61564c4135291e150a00000000000000000000000000000000000000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c1818232e39424c565f6a707d87939fa5a09691859297a1adaea2988d8074685e5246392a20150a00000000000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa4aeaaa0958b7f72685e5243392f24180d0100000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e13080000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e1308000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000020e1a26313c4754616d7a86929f9f94887c6f62584e4244505b656e7b859299a4a19791857c716c63615959585758575f616b707c869299938f939eab9e928578695f534745515c667683909da196877a6d6054473a2d21140700000006121f2c3844505c6674818e9baab4ab9b8e8175665c5044382c1f1206000000000c18242f3b4754616e7b8795a0aa9c8f838f99a4a297897c706356493d31261a0e0000000005121e2a36424d576673808d99a9b3ab9c8f8275675d5145392c2013070000000000000000000000000000000000000000000000000005101c28333e4653606c7883909da8a99e9184786c60555764707d8a97a3b0a99c8f8276695c5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c10040000000c1926323f4c5965727f8c98a59c8f827669564c41363b4754616e7a8799a3a196877a6d605447434f59606d7a84919ea1978e81746b61554c4135291f160c01000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a89d908376665c514538303d495663707c8996aa9e918477675d5145392c1f17232e38424e58606d79849199a2988f82756c61564c41362a20160c0200000000000000000000000000000000000815212e3b4854616e7b87837c726c656874818e9b9e9184786b5e5145382b1e1205000000000000000a141d2935404b55616c75828f989f948a7e71685d52453d30261c11060000000000000000000000000000000006121f2b3844505b666c75767778797a6d60544b403a3a3f495364717e8b97a8978a7d7164574a3e3124141d2935404b55616c75828f989f948a7e71685d52453d30261c11060000000000000000000000000000000000000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c2823272727303a444e58616b727f8c939ea7a0989298a1a9b1a79f92867a6e61564c41362a1e1105000000000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d494644404141414141404546494d53575f616d727d869298a2aeaca2989083786c60564c4131281d120700000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c02000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000914202d3946525e6874818e9aa49b8f82756a60544a3f49535e69717e87939fa3a19791867e76706b686564646567696e747d8592989387828f9baaa197887b6e6255484653606d7985929f9e918478675d5145392c2013060000000713202d3a4653606d7985929eabaea3998a7e7164544a3f34281c1003000000000714202d3a46525e697783909daa9f948f949fab9f9285796d6053463a2d20130900000000020e1a26313c4956636f7c8997a1adac9f92867a6d6054473a2e23180c00000000000000000000000000000000000000000000000000000b161f2b3744505b65717e8a95a0aca0968a7d7064626264707d8a97a3b0a99c8f827669676767676767676767676767676767676767676767676767676767676764615a5044392d2014080000000a1723303d4a5663707d8996a89e918477685e5246393c4956626f7c8995ab9e918478685d52453d45515d67707d8a939e9e938a7d70675d51453d31281d1207000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8796a09f9286796d6053463c36414c5665727f8c98ab9b8e817568554b4035291d111c26303c45515c676f7c87939f9e948a7e71685e52463e32281e130800000000000000000000000000000000000815212e3b4854616e7b8790867f776e6974818e9b9e9184786b5e5145382b1e120500000000000000020b18242f3a43505a616e7b86929f9e92857a6d60594f42382e23170c030000000000000000000000000000000613202d394653606c7881838485868275665c5145403f414a5464717e8b97a4988b7e7165584b3e32251818242f3a43505a616e7b86929f9e92857a6d60594f42382e23170c03000000000000000000000000000000000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e34343430353c464f59636d74818e959faaa29fa2aab3aaa0958c7f72685e52443a3025190d010000000000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa49a92867c6f665b50443a301f160c01000000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c20130400000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c20130400000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000005111d2935414c56626f7c87939f9f93877c6f665b5044414d57616c727f8b919fa3a198928b827d78757271717274777b81879297978e817d8998a3a9978b7e7164584b4a5463707d8a98a29c8f827569554c4135291d11040000000a1623303d495663707d8997a2adac9f92867a6d6054473a2e23170c000000000005111e2a36424d576673808c99a9a69f9c9fa6ab9b8e8275665c5044382c1f120600000000000913202d394653606c7985929eabaea3988a7d7164544a4034281c100400000000000000000000000000000000000000000000000000030f1b27333f4953606c7884919da8a89c9083766e6e6e6e707d8a97a3b0a99c8f8276737373737373737373737373737373737373737373737373737373737373706c6155493c3023160a0000000714212e3a4754616d7a8796a0a096877a6d61544740414d5765727f8c98ac9c8f827569564c4135414c55616b75818e97a19e91847a6d60594f43392f24180d030000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e697784919ea398897d7063584e433f46525e6876828f9ca3998b7e7164584b3e2f24180c151e2834404b55606b74808d96a19e92857a6d615a50443a3024190d04000000000000000000000000000000000815212e3b4854616e7b8798928c827b7174818e9b9e9184786b5e5145382b1e1205000000000000000007131d28313e46525e69727f8c95a0978e81746b60544a3f34281f140900000000000000000000000000000006121f2b3844505b6677849091929285796d6058514a4c4b515b6673808d99a9978a7d7164574a3e312417131d28313e46525e69727f8c95a0978e81746b60544a3f34281f14090000000000000000000000000000000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d49464440414141414241464749505b606d79839098a2aeacaeb4aea2989083786d60564c4132291e13080000000000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5a5b545c606266696e747b828b9299a2aaaea39f93887e706a5f544a3f32291e0d04000000000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d1104000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d110400000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000010d1925303a47535f6a75828f9aa49a9083786c60564c4145505a626d737f8a9298a0a29f948f8984817f7e7e7f8083878e92999992857b7986929fa79a8e817467564c505c6674818e9aa7988c7f7265594c3f2f24190d01000006131f2b37434e586774808d9aa9b3a99c8f8276675d5145392c1c11060000000000020e1a25303c4955626f7c8897a1adaba9abafa4998b7e7164544a3f34281c1003000000000006121f2b3844505b6674818e9babb4aa9b8e8175665c5144382c1f120600000000000000000000000000000000000000000000000000000b17222d3844505b66717e8b96a0ab9f948a7d7b7b7b7b7b7f8b98a5b1ab9e9184808080808080808080808080808080808080808080808080808080808080807e7064574a3d3124170a0000000713202d3946525e687784919ea8978a7e71645b514b4c535f6976828f9ca49a8c7f7266594c3f2f3a434f59616d7a85919ea1968e81746b60554b4035291f150b01000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576773808d9aa69b8e81746a5f554e4a5059616d7a86929f9f92867a6d6154473a2e2114070c18232e39434f59606d7984919ea1978e81756c61564c4135291f160c010000000000000000000000000000000815212e3b4854616e7b879298948f857e74818e9b9e9184786b5e5145382b1e12050000000000000000010c161f2a36424d57606d788390999f93887c6f665c50443b31251a0d040000000000000000000000000000030f1c28333f4a546774818e9a9f978b7e716a605c5459555d606c7884919da297897c6f6356493c3023160c161f2a36424d57606d788390999f93887c6f665c50443b31251a0d04000000000000000000000000000000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4f4c5254535b60636b6f7a85929facb8bab2a89f92867c6f665c50443b3020170d0200000000000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39f918c7f726c61584e42382d20170d000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000008131e2b37434e58626f7c87939f9f958b7f72685e53493f48515b636d737e8691969fa39f9c96918e8c8b8a8b8d9093999f9993877d707683909ca99d918477685d5253606d7985919ea095887b6e6155483b2e2215080000000815222e3b4754606a7884919eabb1a7988b7f7265554c4135291d0a000000000000000913202d394653606c7884919eabb8b6b9ac9f93867a6d6154473a2e23170c000000000000030f1c28333f4a5464717d8a99a3aeab9f9285796d6053463a2d22170b000000000000000000000000000000000000000000000000000006111b28333f4a54606d7884919ea8a69a8f8a88888888888b919ba7b3aca196918d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8074675a4e4134271b0e01000005111d2a36414c566673808c99a59d9083766d605c55565e656e7b87939f9f93877b6e6154483b2e313e46525d68717e8a939e9d93897d70675d51453d31271d12070000000000000000000000000000000000000000000000000000000000000000000000020e1a25303c4855626f7c88949f9f92867c6f676058545c606b73808d99a39c8f8275685e5246392d20130707121d27303d45515d67707d89939d9e938a7d70685d52453d31281d13070000000000000000000000000000000613202d394653606c787f86909597928a81818e9b9e9184786b5e5145382b1e1205000000000000000000040d1a25303b44505c666f7c87939f9a9083786d60574d42362a1f160c0100000000000000000000000000000b17222d3c4956626f7c89949f9f92857c716d66666666676d737f8c96a09f9285796d6053463a2d2013070d1a25303b44505c666f7c87939f9a9083786d60574d42362a1f160c0100000000000000000000000000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5b5c565d6163656c70757d839098a2aebab9aca0968a7e716a5f544a3f32291e0e0500000000000000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6aea8a199928b7f736d635a50463c2f261c0e05000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e13080000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000020f1b26323c47535f6a74818e97a29f92857a6d655b50443f49515b636c717c848c92989ea1a19e9b989797989a9d9f9f9791877e716b73808c99a09f93867a6d61545b65717e8a97a19d918477695f53473a2d2114080000000916222f3c4955626f7c8896a1adaca095877b6e6154483b2f24190d0000000000000005121f2b3744505b6574818e9aaab4bfb6a99c908376685e5246392d1c1106000000000000000b17222d3a4754606d7a86929facada297897d706353493f33271b0f0300000000000000000000000000000000000000000000000000000b17222d3844505c66717e8b96a1aca19a969595959595989ba3adb8b2a8a19e9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8d8174675a4e4134271b0e010000010d1925303b4855626e7b88939e9f958b7f736d676767686d77828f99a49c908376695e53463a2d2935414c56616c75818e97a19e9184796d60594f43392f24180c0400000000000000000000000000000000000000000000000000000000000000000000000915212e3b47535f6a76828f9aa3999083796f6a6867666d717d87929f9f94897d7063564c41362a1e1105000b151e2935404b55606b74818e97a19e91857a6d60594f433a2f24180d04000000000000000000000000000006121f2b3844505b666c727c838c9299938e8e939e9e9184786b5e5145382b1e12050000000000000000000009141f28343f4a54606a74808d97a0958c7f72695e53463e31281d130700000000000000000000000000000615222e3b4754606a76828f98a29792857e7975737273757a8088939fa1978d8074665c5144382c1f120609141f28343f4a54606a74808d97a0958c7f72695e53463e31281d1307000000000000000000000000000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869686d7073787d82899095a0aab4b4b7aa9e9184796d605b51473e342a20160c030000000000000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808181828486898c90959a9fa3ababa49f9691877e736d635b51473e342a1d140a000000000000000000000000000000000000000000000000000000000c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000000000000000104000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060503000000000000000000000000000000000000000a15202b37434e58616d7a85929fa2978f81776c605a50464049515a616a6f797f868c9196999c9d9e9f9f9e9c9a98928d857d716c63707d899994949a8a7d706355606c7883909da3998c807366574d42372b1e1206000005121e2a36424d576673808c99a8b2aa9d908377695e53463a2d1e130800000000000000030f1b27333f495364707d8a98a2aeacb2a8998c7f7266564c41362a1d0a00000000000000000613202c3945515d6776828f9ca9b3a99a8d8174655b5044372b1f1205000000000000000000000000000000000000000000000000000006111c28343f4a54606d7984919ea8aba5a3a1a1a1a1a1a5a7adacacacb2acaba6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8d8174675a4e4134271b0e010000000814212e3a47535f6975818e98a29f92877f79757474767a818f949f9e93897d7063574d42362a24303a44505a616d7a85929ea0968d80746b60554b40352920150a000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e58626f7c87939f9f9590837c77757475797e869299a2988f82766b6054443a3025190d0100030c18242f39434f59606d7a84919ea1978e81746b60554b40352921160a0000000000000000000000000000030f1c28333f4a545b606a6e787f8690959b9b9ea59e9184786b5e5145382b1e120500000000000000000000030b17232e38424e58606d7a84919e9f92867b6e615a50433a2f24180d010000000000000000000000000006131f2b37434e58616e7b869298a097928b8582807f8082858d939aa19892857a6d61544a4034281c1004030b17232e38424e58606d7a84919e9f92867b6e615a50433a2f24180d0100000000000000000000000000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c797776747474747576777a7d8084898e939da0a7afaaa8abaca0968e81746d62594f463c32281e150b000000000000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8d8e8f919298999d9fa7acaca69f99938d847d716c635b51493f352c22180b020000000000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaaa8aab0a79b8e8174685d5245392c2013040000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaaa8aab0a79b8e8174685d5245392c201304000000000000000000000000000000000000000000000000000004090e11131314202d3a4753606d7a8693a0acac9f9286796c5f5346392c201312110f0c070100000000000000000000000000000000040f1b26323c46525e68717e8b949e9e938c80736c61584f474048505860676d737b8084898c8f9192929291908d8a85807a706b61606d798787878787878073665d67707d8a95a09f92867b6e6154483c31261a0e0200000714212d3a46535f697784909d9f9fa9998c807366574d42362a1e120500000000000000000b17222d3a4753606d7a86929f9f9f9fa196887b6f6255483c3025190d000000000000000004111d2935414b5565727f8b98a79f9f9e9184786c605346392d2013060000000000000000000000000000000000000000000000000000000b17232e3844515c66727e8b96a19f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8174675a4e4134271b0e0100000006121e2b37424d57616e7b859298a299928c8582818182868f939e9f958e81756b6054453b31251e28323e46525e68717e8a949e9f93887d6f675d51453d32271b0f0300000000000000000000000000000000000000000000000000000000000000000000030f1b26323c4754606a74808d949e9f95908983818082848b9298a29992857b6e61594f4432291e130800000007121d28313d45525d68707d8a939e9d93897d70675d51453d32271b0f0300000000000000000000000000000b17222d38424a50585f666d727c838c9299a0a79e9184786b5e5145382b1e1205000000000000000000000006111c26303d45515d67717e8a949e988f82756c61554b4035291d110400000000000000000000000000030f1b27323d46535f69707d8691969e9f97928e8c8c8d8f92989f9f9691867d6f685e5242392e23180c000006111c26303d45515d67717e8a949e988f82756c61554b4035291d1104000000000000000000000000000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808182838487898c91969b9ea5acaba59e9b9ea1a89d938c7f726b61584e443a30271c1207000000000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3aaaaababa39f9b948f878079706b625a514940372e231a10060000000000000000000000000000000000000000000000000000000000000e1a25313b4653606c7884919e9f9f9f9f9fa095897c6f63564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25313b4653606c7884919e9f9f9f9f9fa095897c6f63564c4135291d110400000000000000000000000000000000000000000000000000080f151a1d1f2020202d3a4753606d7a86939f9f9f9f9286796c5f5346392c20201f1e1c18130c05000000000000000000000000000000000a15202a36414c56626d76828f97a19f93887e716a60594f473f464e555c60696e73797c7f82848586858583817d79736d6860595d67757a7a7a7a7a7a796d60606d7984919ea49a8e8174695e53463a2a1f15090000000815222e3b4855616e7b88959393939396897c6f6256493c31251a0e02000000000000000006131f2c3945515d6775828f93939393939184786a5f53473a2e1e13080000000000000000010d18242f3b4854616e7b87959393939396897c6f6256493c2f23160900000000000000000000000000000000000000000000000000000006111c2834404a54606d7984919393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938d8174675a4e4134271b0e01000000020e1a26313c46525e69707d8692989f9f98928f8d8d8f92999e9f9590837a6d61594f4433291f16202a36414c56616c75828f97a29a9184796d60584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58606d78828e939da09d95908e8d8e91969f9f9792877d70695f53473d3320170d02000000010c161f2935414c56616c75818e97a19e9184796d60594f44382c1f1307000000000000000000000000000006111c262f383f444e545c606a6f788087909593939184786b5e5145382b1e12050000000000000000000000000a141e2935414c55616c75828f9893948a7d70675d5145392c20130600000000000000000000000000000a15202a36424d57606b707c848c9196999c9b9999999b9d9a97928d847d6f6b60564c4130271c12070000000a141e2935414c55616c75828f9893948a7d70675d5145392c20130600000000000000000000000000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8e8f8f919696999ea1a8aaaca69f9c938e9196a1a59f93877d706a5f564c42392e2318110800000000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a29e9b99928e88827c746d676059504840372e251c11080000000000000000000000000000000000000000000000000000000000000009141f2b3844505b66737f8c999393939393939084776b6054443a3024190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2b3844505b66737f8c999393939393939084776b6054443a3024190d0100000000000000000000000000000000000000000000000009121a20262a2c2d2d2d2d3a4753606d7a8693939393939286796c5f5346392d2d2d2c2b28241e170f07000000000000000000000000000000040d1925303a44505a616e7b859299a39a92867c6f6b6159504641434b51565e61666d6f737677787979787674706d67615d564f555d686d6d6d6d6d6d6d67616b74808d96a19f93877c6f62574d42362a180e030000000c1926323f4c5965727f8686868686868684786c605346392d20130900000000000000000004101d2935404b5565727f86868686868686807467584e43372b1f12060000000000000000000714212d3a46535e697783868686868686868073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000c18232e3945515c67727f86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868074675a4e4134271b0e01000000000915202a36424d56616b707d868e92999b9d9b9a9a9c9d9a97928b837a6d685d52473d3321170e1925303a44505a616e7b85929393968d80736a6054473b2e2215080000000000000000000000000000000000000000000000000000000000000000000000040f1b27323d44515c666d79818a9195999c9d9b9a9b9e9c99928e857d706b61574d42352b210e050000000000040d19242f3a44505a616d7a85929393968d80746b6054483b2f2215090000000000000000000000000000000a141d262d333c424a50585f666d737c838686868684786b5e5145382b1e1205000000000000000000000000020c19242f3a43505a616e7b8686868686847a6d6053473a2d2014070000000000000000000000000000040e1a26313b454f59606a6f797f848a8d8f9192929291908d8a8580796f6b60594f443a301e150b00000000020c19242f3a43505a616e7b8686868686847a6d6053473a2d2014070000000000000000000000000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9ea0a8a6abacaba39f9b94908981849198a2a49992867c6e685e544a40342823190b020000000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817c766f6a605d554f473e362e251c130a0000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7a8786868686868686867f7265594f4332281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7a8786868686868686867f7265594f4332281e130800000000000000000000000000000000000000000000000008121b242b323639393939393a4753606d798686868686868687796c5f5346393939393837342f2921190f0500000000000000000000000000000008131e29323f46525e69707d87929fa29892857d706b625a524c4440454d52545c606366696a6b6c6c6b696764605c55524c444c565d61616161616160606a707d88939fa2978e81756a5f53453b31251a06000000000b1825313e4a57626d7279797979797979786c655b5044372b1f1205000000000000000000000c18242f394a56626d7279797979797979746e6458463c31261b0f0300000000000000000005121e2a36424d5767717779797979797979736e63584b3f3226190c0000000000000000000000000000000000000000000000000000000007121c2834404b55626d727979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746e64584c3f33261a0d0000000000030e1925303b444f59616b707a81868b8e9091929291908d8a857f786d685e564c41352b210f08131e29323e46525e69717e8686868686877c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000a16202834404a545c676d747d84898d8f91929292918f8c87817b706b61594f453b3123190f0000000000000008131e28323e46525e68717e8686868686887c6f6356493c30231609000000000000000000000000000000020b141c222830383f444e545c606a6f77797979797872685c5043372a1d11040000000000000000000000000008131e28313e46535f696e7979797979786d675d5145392c20130600000000000000000000000000000009141f29333d474f5860676d72787d8082848586858483807e79736d6760594f473d32281e0c03000000000008131e28313e46535f696e7979797979786d675d5145392c20130600000000000000000000000000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a8a9aaa8a6aaa29f9c99928f89837d757c86929aa4a29891847a6d665c51443f352b1d140a000000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817e7a746f6a626058514b433d352d241c130a010000000000000000000000000000000000000000000000000000000000000000000b17222d3846525e686e797979797979797979726d6256473d32261e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3846525e686e797979797979797979726d6256473d3220160c020000000000000000000000000000000000000000000000040f1a242d363d4245464646464545515c67767979797979797979756a5e523e454646464544403a332b21170c010000000000000000000000000000020d17202a36424d56606b727f8b929ca29792867d716c615e5650474242464a505356595c5e5f5f5f5e5d5a5753514b46413a444c5254545454545960696f7c86929aa49f92857b6e61584e4333291f1409000000000916222e3a46515b62656c6c6c6c6c6c6c6b605b53493f33271b0f030000000000000000000007121d2e3a45515b62656c6c6c6c6c6c6c67645c5247342a20150a00000000000000000000020e1a25313b45555f676a6c6c6c6c6c6c6c66635c52473b2f23170a00000000000000000000000000000000000000000000000000000000000c18232e3943515b62656c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3024170b00000000000009141f29323e474f5960686e747a7e81838485858483817d79726d665e564c443a3023190f020d17202a36424d57626c717979797979796f6a6054473b2e221508000000000000000000000000000000000000000000000000000000000000000000000000040c18232e39424b555c606c70777c80838485868584827f7b756e6961594f473e332a1f110700000000000000010c16202a36414c56616c717979797979796f6b6054483b2f22150900000000000000000000000000000000020a11171e262e343c424a51585f626a6c6c6c6c6b6860564b3f33271b0f0200000000000000000000000000010c161f2a36424d575f616c6c6c6c6c6b605d554b4035291d1104000000000000000000000000000000030d17212b353d464e555c60666d70737677787978787674716d67605d554f473d352b20160c000000000000010c161f2a36424d575f616c6c6c6c6c6b605d554b4035291d1104000000000000000000000000000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9f9e9d9c9a9898928f8b86827d76706b707e88939fa5a0968f82786d605b51473d2f261b1106000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868585848382807d7b7975716d68625f58544e45403a312b231b120a010000000000000000000000000000000000000000000000000000000000000000000006111c2a36414d565e616c6c6c6c6c6c6c6c6c65625b51443f3830261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414d565e616c6c6c6c6c6c6c6c6c65625b5146342b210e040000000000000000000000000000000000000000000000000915202b363f484e5253535353514a4b555c6c6c6c6c6c6c6c6c6c6a6359464b5253535352504c453d33291e1307000000000000000000000000000000050e1925303b444f59626d73808d929da29892877e756d68615a534e47433f4446494c4f5152535252504e4a4745403935323a414647474d535b626b707b859198a29e948b7e71685e52463c3121170d030000000006121e29353f49515759606060606060605e53504941382d22170b000000000000000000000001111d29343f48515658606060606060605a58524a413622180e04000000000000000000000009141f2933434d555b5d606060606060605a58524a40352a1f1307000000000000000000000000000000000000000000000000000000000007121d27303f4951565860606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605a58524a41362b1f1408000000000000020d17202c353e474f565e61686e717577787979787674706d67605c544c443a32281e110700050e1a25303b45505a62656c6c6c6c6c6c6260584e43372b1f13060000000000000000000000000000000000000000000000000000000000000000000000000007121c273039434b515a61646b6f7376787979797775726e69615e574f473e352c21180e000000000000000000040d1925303a44505a61646c6c6c6c6c6c6360594f44382c1f1307000000000000000000000000000000000000060c141c2328303940444e54555d606060605e5c564e443a2f23170b000000000000000000000000000000040d1a26313b454d53555f606060605e53514b433a2f24180d0100000000000000000000000000000000060f19232b343d434b51545c606366696b6c6c6c6b6a6764605d55514b433d342b23190e0400000000000000040d1a26313b454d53555f606060605e53514b433a2f24180d0100000000000000000000000000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929293929291908f8d8b8885827e7a75706b63616c737f8c939ea79f948d80746d62594f41382d22170b000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433d352f281f191109000000000000000000000000000000000000000000000000000000000000000000000000000e1925303b444d52545f606060606060606060605f5e504a42382e23170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e38424a505e5f606060606060606060585651493f3422190f000000000000000000000000000000000000000000000000000e1a26323d4851595e606060605e575550515f606060606060605f5e595053585f6060605f5c574f453a2f24180c0000000000000000000000000000000009141f29323d47515b636e74808d929fa299928b817a706c625f57534e4745413c4043444546464543413d3a383435393a3d43474c52575f626d727d859197a1a0958f82756c62564d41342a200f050000000000010d18232d373f464a4c535353535353535246443f382f261b11060000000000000000000000010c18232d363f454a4b535353535353534e4c4741382f241006000000000000000000000000030d1721323b434a4f51535353535353534d4b4740382e24190e020000000000000000000000000000000000000000000000000000000000000b151e2d373f464a4c53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534e4c4741382f241a0e0300000000000000050e1a232c353d444c52565e6164686a6b6c6c6b6a6763605d55504a423a322820160c00000009141f29333f4850565860606060605f56544e463d32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000b151e2730394045505559606366696b6c6c6c6b6965615e57524d453e352c231a0f060000000000000000000008131e29323e4850555760606060606056544f473d32271b0f0300000000000000000000000000000000000000020a11171e272e343c434749515353535351504b443c32281d12070000000000000000000000000000000009141f29333b4246485253535353514745403a31281d1307000000000000000000000000000000000000081119222b303940454a5053575a5c5e5f5f5f5e5d5a5753514b45413a312b2219110700000000000000000009141f29333b4246485253535353514745403a31281d1307000000000000000000000000000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868685848382807e7c7975726e686360595a636d75818e95999999928b7f726b6053493f33271b0f030000000000000000000000000000080e171f252a33383d44484d535f605c60626567686a6b6b6c6c6c6b6a6a68666462605c605f534d47433c383229241d160d07000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323b41464753534d545b60666c6c6c6c6c6a5c544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6a6c6c6c6c6c66605b544d4c4a463f372d23130c04000000000000000000000000000000000000000000000000111d2a36424e59636b6c6c6c6c6b64615a534d53535353535353534d535b60656c6c6c6c6b6861574c4034281c0f00000000000000000000000000000000020d17202b353f49525c646e74808c9399a29f938e857d756e6a625f5854524c49474540413f3e3e3d3d3e3f3f404045474a4e53565e61696e767e879297a1a1969083796d605a50443b3022180e0000000000000007111b252d353a3e3f46464646464646453937332d261d140a0000000000000000000000000006111b242d343a3d3f4646464646464641403c362f261d130000000000000000000000000000050f202932393f434446464646464646403f3b352e261c120800000000000000000000000000000000000000000000000000000000000000030c1b252d343a3e3f4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646413f3c362f261d130800000000000000000008111a232c323b41464c5254585b5d5e5f5f5e5d5a5753514b443f38302820160e04000000020d17202d363f454a4b5353535353534947433d342b20150a000000000000000000000000000000000000000000000000000000000000000000000000000000030c151e272e343e44494f54565a5c5e5f5f5f5e5c5954524d46423b332c231a11080000000000000000000000020d17202c363e45494b5353535353534948443d352b21160a00000000000000000000000000000000000000000000060c151c232832373b3c444646464645433f3a322a20160c0100000000000000000000000000000000030d17212931363a3b4646464646453a39352f281f160c01000000000000000000000000000000000000000810191e272e34383f44464a4d505152535251504d4a47454039352f281f19100700000000000000000000030d17212931363a3b4646464646453a39352f281f160c01000000000000000000000000000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979797878777573716f6d6665615e56544f515b606d79838c8c8c8c8c8c867d70655b5044372b1f1205000000000000000000000000000000050d141a21272c36424d575e6c6c6c6c6c6c6c6a665f5f5f5f5f5e5e66696c6c6c6c6c6c6c5e574d42362b272018130c04000000000000000000000000000000000000000000000000000000000000000000000000000001070e17202930363b424651575f666c72797979797975665c5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66757979797979726c665f575146423b3229251e160e070100000000000000000000000000000000000000000000131f2c3945525e6b757979797978706c615f57514b434646424b51575f656c71787979797873685c5044372b1e110000000000000000000000000000000000050e19232d37404a525c646e737f8792979f9e97928a827b756f6a65605d565653514b4d4c4b4b4a4a4b4b4c4d4b515357585f62686d737b828b9299a19f9791847a6e675d51483e32291f100600000000000000000a131b23292e313239393939393939382d2b27221b140b02000000000000000000000000000009121b23292e3132393939393939393433302b241d140b0100000000000000000000000000000e1720272e3336373939393939393933322f2a241c140a00000000000000000000000000000000000000000000000000000000000000000009131b23292e313239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393433302b241d140b010000000000000000000008111a202930363b4146474b4e5051525251504e4a47454039342e261e160e040000000000050e1b242d343a3d3e4646464646463c3b37322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d232833393d4348494d5051525352514f4c4846423b363029211a110800000000000000000000000000050e1b242c34393d3e4646464646463c3b38322b23190f040000000000000000000000000000000000000000000000030b121820262b2e2f37393939393837332f2820180f05000000000000000000000000000000000000060f171f262a2d2e3939393939382d2c29241d160d04000000000000000000000000000000000000000000070c151d23282e34383a3d4043444546454543413e3a38352f29241d160d07000000000000000000000000060f171f262a2d2e3939393939382d2c29241d160d0400000000000000000000000000000000000000000000000000000000080e171f252a33383d44484d5254545c60626567686a6b6b6c6c6c6c6b6a69676562605c5454524c484445515c676e7b808080808080807f786c605346392d2013060000000000000000000000000000000002090e16212d3a46535e69767979797979797771665b5253525a66707679797979797976695e53463a2d21160d07010000000000000000000000000000000000000000000000000000000000000000000000000000040c1318202830353e444d525b62696e787f8686868687796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7987868686867f786e69625b524d443e3530282018130c0400000000000000000000000000000000000000000013202d394653606c7987868686847d756e69605c554f46454f545c60696e777e8586868685786b5f5245382c1f1200000000000000000000000000000000000007111b252e38414a525c646d727d8590949fa19e938f87817c76716d686663605d555a59585757575858595a555d6063676a6f747a80868f949fa39e9590857c6e685e554c41362d20170d000000000000000000010a11181e2225262d2d2d2d2d2d2d2b201f1b17110a02000000000000000000000000000000000911181d2224252d2d2d2d2d2d2d2726241f1a130b02000000000000000000000000000000050e161c2227292a2d2d2d2d2d2d2d2726231f19120a02000000000000000000000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726241f1a130b02000000000000000000000000080e171e252a3036393b3e42444546464543413d3a39352f28231c150c040000000000000009121b22292e31323939393939392f2e2b2720191007000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121822282d32383b3c40434546464644423f3b3a36302a251f170f0800000000000000000000000000000009121b22282d3031393939393939302f2c27211911070000000000000000000000000000000000000000000000000000070c151b1f22222a2d2d2d2d2b2a27231d160f060000000000000000000000000000000000000000060d141a1e21222c2d2d2d2d2b20201d18130c040000000000000000000000000000000000000000000000030b12181c23282b2d30333638393939383734312d2c29241d18130c040000000000000000000000000000060d141a1e21222c2d2d2d2d2b20201d18130c04000000000000000000000000000000000000000000000000000000000000050d141a21272c33383b4246474a505355585a5c5d5e5f5f605f5f5e5d5c5a585553504a4746413b38404b555e696e73737373737373726c655b5044372b1f12050000000000000000000000000000000000000815212e3b4854616e7b86868686868683776a5d50464f5c6976828686868686867b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000070d161d2429323a414650565e616d727b828c929992877e71665c5044382b1f12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66717e879399928c827b726d615e565046413a3229241d160d0700000000000000000000000000000000000000000b1825313e4b5864717e889396918a827b736d67615953525960666d737b828b929792877e7064574a3d3124170a0000000000000000000000000000000000000009131c262f38414a525b626b707b828c92989e9e99928e88837e7a76726f6d67696766656464646465666769676d7074777c81868d92999fa19e938e837b6e6a5f564d433a2f241b0e050000000000000000000000070d12161819202020202020201f13120f0b0600000000000000000000000000000000000000060c11151718202020202020201b1a17140e08010000000000000000000000000000000000040b11161a1d1e202020202020201a1917130e0800000000000000000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201b1a17140e08010000000000000000000000000000050d14191e252a2d2e313537383939383734302d2c29241d17110a030000000000000000000911181d2124252d2d2d2d2d2c23221f1b150f07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c171c21272c2f303336383939393836322e2d2a251f1a140d0500000000000000000000000000000000000910171d2124242d2d2d2d2d2d23221f1b160f0700000000000000000000000000000000000000000000000000000000040a0f1315161e202020201e1d1b17120c050000000000000000000000000000000000000000000003090e1214151f202020201e1413110d07010000000000000000000000000000000000000000000000000000070c11171c1f202427292b2c2c2c2b2a2724201f1d18120d07010000000000000000000000000000000003090e1214151f202020201e1413110d0701000000000000000000000000000000000000000000000000000000000000000002090e161c21272c30363a3b3f4446494b4d4f5051525253535251504f4d4b4946443f3b3936302f39434d565e616666666666666665605b53493f33271b0f030000000000000000000000000000000000000815212e3b4854616e7b87939393939083776a5d50444f5c6976828f93939393877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000710191f282f353e444c525a61696e767f8690949a93877e716c61544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616c717e87939a9490867f766e69615a524c443e352f281f191007000000000000000000000000000000000000000a1724303d4956626c717f8b919e948f868079706b615f5d606b6f797f868f949f93887e716c6155493c3023160a00000000000000000000000000000000000000010a141d262f384049515961696e787f868f949c9f9f9b94908b86837f7c7a77757472717170707172727376787a7d8084888e92989fa39f97928b81796e695f574e443b31281e1209000000000000000000000000000106090b0c1313131313131312060503000000000000000000000000000000000000000000000105090b0c131313131313130e0d0b0803000000000000000000000000000000000000000000060b0e1011131313131313130d0c0a07020000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130e0d0b0803000000000000000000000000000000000002080e14191e202125282a2b2c2c2b2a2724201f1d18120c06000000000000000000000000060c111517182020202020201615130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10161b1f222327292b2c2c2c2b292621201e1a140e090300000000000000000000000000000000000000060c111517182020202020201615130f0a040000000000000000000000000000000000000000000000000000000000000003060809111313131312110f0b0701000000000000000000000000000000000000000000000000000205070813131313131207060401000000000000000000000000000000000000000000000000000000000000060b101213171a1d1e1f201f1e1d1a171413100c070100000000000000000000000000000000000000000205070813131313131207060401000000000000000000000000000000000000000000000000000000000000000000000000050b10161c1f252a2d2e34383a3c3e414244454546464645454442403e3c3a38342e2d2a2527313b444d5254595959595959595953504941382d22170b000000000000000000000000000000000000000815212e3b4854616e7b87949f9f9d9083776a5d50444f5c6976828f9c9f9f94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000040f19222b313a41454f565e616c717b828b92989a93887e716c615a5042382e23170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3842505a616c717e88939a98928b827b716c615e564f45413a312b22190f040000000000000000000000000000000000000815212d3945505a626d727f8b919c98928c847d756e69686d747c838c92989c918b7f726c625a5044392d2014080000000000000000000000000000000000000000020b141d262e373f474f575e666d727b828990949b9f9f9c9992908c89868482807f7e7e7d7d7e7e7f808284868a8d91969b9fa39f99938d857e756d675e574e453c32291f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e111414181b1d1e1f1f1e1d1b171413100c070100000000000000000000000000000105090b0b13131313131309080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315161a1d1e1f201f1e1c191514120e0903000000000000000000000000000000000000000000000005080a0b1313131313130909070300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070a0d101112131212100e0b070604000000000000000000000000000000000000000000000000000000060606060605000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014191e2023282c2d2f3234353738383939393938373634322f2d2c2823201e191f29323b4246474d4d4d4d4d4d4d4c46443f382f261b1106000000000000000000000000000000000000000815212e3b4854616e7b8794a1aa9d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000a16212b343d434b515961686d757e858f949f9f93887f716c625a50483e30261c110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303e48505a626c717f88939f9f948f857e756d686159514b433d342b21160a00000000000000000000000000000000000005111d29343e48505a626d727f8c929c9f96918a827b73717a818891959f9d928c7f736d625a50483e33281c1004000000000000000000000000000000000000000000020b141c252d353e454d545c60696e757c83898f93999da09f9c999992918f8d8c8b8a8a8a8b8b8c8d8f91939a9a9ea0a19e99928e87817a716c605d554d453c332a20170d040000000000000000000000000000050a0d0f10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100f0d0a0500000000000000000000000002080d101213131313131313090806030000000000000000000000000000000000000000000000010407071213131313131313131313120f0a0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0f1112131312100e0a07060400000000000000000000000000000000000000000000060606060606000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030709090d1012131313110f0c08070502000000000000000000000000000000000000000000000000000000000006060606060600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090b0d0f1111121313121111100d0b08060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e1114171c1f20222527292a2b2c2c2d2c2c2b2a29272522201f1c1714110d17202930363a3b404040404040403f3937332d261d140a00000000000000000000000000000000000000000815212e3b4854616e7b8794a1a99d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e555d606b707a818a92979f9b918b7f726d625a50483e362c1e140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2c363e48505a626d727f8b919b9e97928a817a706b605d554e463d32271b0f030000000000000000000000000000000000000c17222d363f48515b636d737f8c929ca09e948f867f7d848d939aa09d938d80736d635b51483e362c22170b0000000000000000000000000000000000000000000000020a131b232c333b424a50575f616b6f767c82878c9196989c9fa29f9d9c9a99989797979798999a9c9e9fa39f9c9997918c86817c746d68625a514b433b332a21180e0500000000000000000000000000030a1016191c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1c1916100a03000000000000000000060d14191c1f1f2020202020201515120f0a030000000000000000000000000000000000000001080d1113141f202020202020202020201e1b161009010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104070c10121316181a1c1d1e1f1f201f1e1d1c1a181513120f0b060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607090b0d0f1111121313121211100f0d0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205060c10121316181a1c1d1e1f1f20201f1e1d1c1a18161312100c0605050e171f252a2d2e33333333333333322d2b27221b140b0200000000000000000000000000000000000000000815212e3b4854616e7b87949c9c9c9083776a5d50444f5c6976828f9c9c9c94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434e5860676d747d858e939fa29b918b7f726d625a50483f362d241a0c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1a242d363f48505a626d727f8b919ba29f938e857d746d6760584e43382c1f130700000000000000000000000000000000000006101b242d363f49515b636d73808d929da49e98928c8a91969fa49e938e81746e645b51493f362d241a10050000000000000000000000000000000000000000000000000109111a212930383f444d535960636b6f757b7f84888c8f929797999b9c9d9e9f9f9f9f9e9d9d9b99979992908c8884807a746f6a615d5650454039312920180f0600000000000000000000000000040d151c21262929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292926211c150d04000000000000000810181f25292b2c2d2d2d2d2d2d22211f1b150e060000000000000000000000000000000000040c13191d20212b2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000000000000000000000000000000000000000000000000000000000030506090c0e1011121313131211100e0b090605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506090c0e1011121313131211100e0b090605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070b0d0f111213131312110f0d0b07070501000000000000000000020608080c0f1112131312110f0c080705020000000000000000000000000000000000000000000000000000000001080d1113181c1f20222527292a2b2c2c2c2c2b2a29272422201f1c1712100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060b10121315171a1c1d1e1f1f201f1f1e1d1b19171514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607090b0e0f1112121313131212110f0d0b0907060300000000050d14191e20212626262626262626201f1b17110a020000000000000000000000000000000000000000000815212e3b4854616e7b878f8f8f8f8f83776a5d50444f5c6976828f8f8f8f8f877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4854606a6f79818a91979ea39c918c7f726d625b51483f362d241b12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d363f48515b626d727f8c919ca39e97918a81796f6a6054483b2e2215090000000000000000000000000000000000000009121b242d373f49525b636e74808d929da5a39f99979ea1a69e948e81786c605c524940372d241b1108000000000000000000000000000000000000000000000000000000080f171e262e343b42464f54596063696e73777b7f8285888a8c8e8f9192929292929191908f8d8b8886837f7c78736e68625f58524c443f352f271f170e0600000000000000000000000000030d161f262d3235363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363635322d261f160d03000000000006101a222a303538393939393939392f2e2b2620181006000000000000000000000000000000040d161e24292c2d383939393939393939393937332c251c13090000000000000000000000000000000000000000000000000000000003060b0f121315181b1d1e1f2020201f1e1c1a181513120f0b0603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060b0f121315181b1d1e1f2020201f1e1c1a181513120f0b060300000000000000000000000000000000000000000000000000000000000000000000000000000000000004080d111314171a1c1e1f1f20201f1e1c1a171413110d08040100000000030a0f121415191c1e1f20201f1e1c191514120e090300000000000000000000000000000000000000000000000003090e13191d2023282c2d2f31333637383839393838373634312f2d2b28221f1c17110d0802000000000000000000000000000000000000000000000000000000000000000000000000000001070d1113171c1f20222426292a2b2b2c2c2c2b2b2a28262422211e1a1312100c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010204050506060606050403010000000000000000000002090e1114141a1a1a1a1a1a1a1913120f0b0600000000000000000000000000000000000000000000000814212e3b4754616e7a8283838383828074675a4e414d5a6673808283838383827a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c848e9393939393918c7f726d625b51493f362d241b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d363f49515b626d727f8c9193939393938e847c6f6256493c2f231609000000000000000000000000000000000000000009121b252d374049525c646e74808d939da59f9f9f9fa79f948f82786d665b504a40372e251b12090000000000000000000000000000000000000000000000000000000000050c141c232831363d44484f54575e61666a6e7276797b7e80818384858586868584848382807e7c7a76726f6c65615e56534e46413a3229241d150d0500000000000000000000000000000a151f2831383e424343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343423e3831281f150a00000000020d18222c343b4144464646464646463c3a37312a22180e0300000000000000000000000000010c1620282f35393a4546464646464646464646433e372e251b100500000000000000000000000000000000000000000000000000060b1012171b1f20222527292b2c2c2d2c2c2b29272522201f1b17120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b1012171b1f20222527292b2c2c2d2c2c2b29272522201f1b17120f0b060000000000000000000000000000000000000000000000000000000000000000000000000001070c1013191d20212427292a2c2c2d2c2c2b29272421201d1913100d0701060b0f151a1f212226292b2c2c2c2c2a282621211e1a140d05000000000000000000000000000000000000000000030a0f151a1e24292c2e34383a3c3e4042444445464645444443403e3b3938332d2c28231c19130d08010000000000000000000000000000000000000000000000000000000000000000000003090e13181d2023282b2d2f3133353737383939393837373533312e2d2a26201f1c17110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080d0d0d0d0d0d0d0c060503000000000000000000000000000000000000000000000000000714202d3946525e686e767676767676746e64584c404b58636e737676767676766e685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a67748186868686868686867f736d635b51493f372d241b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d373f49515b636d737f86868686868686868174675a4e4134271b0e01000000000000000000000000000000000000000009131c252e37404a525c606c77818e93939393939393959082796d665c544a3f382e251c130900000000000000000000000000000000000000000000000000000000000000020a11171f262a32383d44484d5354575f6265666c6f717375767778797979787877767573716f6d676662605b53524c47433c3530282018120b03000000000000000000000000000005101c26313a42494e50505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504e49423a31261c100500000008141f2a343e464d51525353535353534847433c342a20150a0000000000000000000000000008131e28323a41454752535353535353535353534f4940372c21160a0000000000000000000000000000000000000000000002080d11171c1f22272b2d2f323436373939393938373634322f2d2b27221f1c17110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d11171c1f22272b2d2f323436373939393938373634322f2d2b27221f1c17110d0802000000000000000000000000000000000000000000000000000000000000000000060b12181d1f252a2d2e313336373839393939373634312e2d2a25201d18120d11171b1f262b2e2f323537393939393735322e2d2a251f170f0500000000000000000000000000000000000000060b151a1f262b2f35393a404446494b4d4f50515252535251504f4d4b4846443f3a38342e29241e19130c0400000000000000000000000000000000000000000000000000000000000000040a0f151a1d24292c2e34383a3c3e404244444546464545444342403d3b3a36312d2c28231c19130d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6169696969696967645c52473c47525c6366696969696969615e564c41362a1e11050000000000000000000000000000000000000000000000000000000000000000000000010d1a2733404c58646e747979797979797979736d635b51493f372d251b12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d373f49515b636d737979797979797979746e64584c4033271a0d010000000000000000000000000000000000000000010a131c252e384044505b656c7881868686868686868683796d675d544a42382d261c130a01000000000000000000000000000000000000000000000000000000000000000000060b141a21272c32383b4246484e5355545b6062646668696a6b6c6c6c6c6b6a6a68666462605d555553504946413b373229241e160e07010000000000000000000000000000000a16212d38424c545a5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5a544c42382d21160a0000000d1925303b4650585d5f60606060606055534e463c31261b0f030000000000000000000000030c19242f3a444c52545e6060606060606060605f5a52493e33271b0f000000000000000000000000000000000000000001070d13191c23282b2d3337393c3f41434445464646454443413e3c3937332d2b28221c19130d070100000000000000000000000000000000000000000000000000000000000000000000000000000001070d13191c23282b2d3337393c3f41434445464646454443413e3c3937332d2b28221c19130d07010000000000000000000000000000000000000000000000000000000000020a11171d24292c3036393a3e40424445464646454442403e3a3936302c29241d191b22272b31373a3b3f42444546464544423f3b3a36312921170d0300000000000000000000000000000000020a111720262b31373a4145474a515355585a5c5d5e5f5f5f5f5e5d5c5a575553504a46443f38353029241e160d070000000000000000000000000000000000000000000000000000000000070c151b20262b2f35393a3f4446484a4d4f5051525253525251504e4c4a4846423d3a38342e29251e19140d0500000000000000000000000000000000000000000000000000000000000000010407070a0d10111213131211100d0b07070501000000000000000000000000000000010406070a0d0f11121213131211100e0c0908060300000000000000000000000000000000000000000000000000000000000000000000000000010d1925303b444c52545c5c5c5c5c5c5a58524a4136404a52585a5c5c5c5c5c5c54524c443b3025190d010000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c6c66635b51493f372d251b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b252d373f49515b63666c6c6c6c6c6c6c6c67645c53483c3024180b00000000000000000000000000000000000000000000010a131c2627333f49535b666c757979797979797979776d675d554b42392f261c140a01000000000000000000000000000000000000000000000000000000000000000000000003090e161b21272c31363a3c4247484a50535557595b5c5e5f5f5f5f5f5e5e5d5c5a585553514b4946443f3836302b262019130c0400000000000000000000000000000000000d1926323e49545e666969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969665e54493e3226190d000000101c2935414d5862696c6c6c6c6c6c6c625f584e43372b1f120600000000000000000000000b151e2935414c565d606b6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1200000000000000000000000000000000000000040c13181e24292e34383a3f4446484b4e50515253535352514f4d4b4846443f3938332d29241e18130c0400000000000000000000000000000000000000000000000000000000000000000000000000040c13181e24292e34383a3f4446484b4e50515253535352514f4d4b4846443f3938332d29241e18130c04000000000000000000000000000000000000000000000000000000060c141c23282f35393a4146474a4d4f515252535352514f4d4a4746413a39352f2924262d33373c4347484c4f5152535352514f4c4846423b33291f1409000000000000000000000000000000060c141c232831373c42474c5154545c60626466696a6b6b6c6c6b6b6a69676462605b5453504a45413a352f281f18120b0300000000000000000000000000000000000000000000000000030b121820262b31373a4145474a50535557595c5d5e5e5f5f5f5e5e5d5b595755534d4946443f3835302a251e170e080200000000000000000000000000000000000000000000000000000002080d111314171a1d1e1f201f1f1e1c1a181413110d0803000000000000000000000003080d111314171a1c1e1f1f201f1f1e1d1b181615130f0a0602000000000000000000000000000000000000000000000000000000000000000000000008141e29323b4146475050505050504e4c4741382f3840474b4d5050505050504746413b32291e1408000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585a60606060606060605957514940372e251b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109131b252e37404951575960606060606060605a58534a41362b2014080000000000000000000000000000000000000000000000010a1417222d38414a545b60686c6c6c6c6c6c6c6c6a605d554c433930271d140a020000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1f252a2d31373a3b3f4446484b4d4e505152525353525151504f4d4b494745403c3937332d2a251e1b150d08020000000000000000000000000000000000000f1c2935424e5a6670767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767670665a4e4235291c0f000000121f2b3844515d697479797979797979766a5f53473a2e2115080000000000000000000007121d27303945525d686d78797979797979797979766c5f5346392d2013000000000000000000000000000000000001070d161d24293035383f444649505355585a5c5e5f5f605f5f5e5c5a585553504946443f38353029241d160d080200000000000000000000000000000000000000000000000000000000000000000001070d161d24293035383f444649505355585a5c5e5f5f605f5f5e5c5a585553504946443f38353029241d160d0802000000000000000000000000000000000000000000000000070f181e262e34394045474c5254575a5c5d5f5f605f5f5e5c5a5754524c47454039352f2f383f44464e5355595c5e5f5f5f5f5d5b5954534d453b31251a0e0200000000000000000000000000070f181e262e343c43474d53555d6064666d6f71737577777879797877777673716e6c6663605c54524c45413a3128231d150c040000000000000000000000000000000000000000000000070c151d232831373c42474b5154545c60626466686a6a6b6c6c6c6b6a6a686664615f575653504a46413a3630292019130d0500000000000000000000000000000000000000000000000003090e13191d202124272a2b2c2c2c2c2b29272421201d1913100c0600000000000000060b0f13191d20212426292a2b2c2c2c2b2b29272522211f1b15120e0903000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b43434343434341403c362f262e353b3f404343434343433b3936302920170d0200000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e53535353535353534c4b4640372e251c1309010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e3740464b4c53535353535353534e4c4841382f251a0f030000000000000000000000000000000000000000000000000006111b262f38424a50535b60606060606060605d54514c433a31271e150b020000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e21262b2e2d3338393c3e40424344454646464545444342403e3c3a39352f2d2b27221b19140f0a040000000000000000000000000000000000000000101d293643505c6976828383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838276695c504336291d10000000131f2c3946525f6c79868686868686867c6f6255483c2f221509000000000000000000000c18232e39424f59606d7a85868686868686868686796c605346392d201300000000000000000000000000000000040c13181f282f353a41454a5053535b60626567696a6c6c6c6c6b6a69676562605b5353504a45413a352f281f19130c0400000000000000000000000000000000000000000000000000000000000000040c13181f282f353a41454a5053535b60626567696a6c6c6c6c6b6a69676562605b5353504a45413a352f281f19130c0400000000000000000000000000000000000000000000071019212a30383f444b5153565e616466696a6b6c6c6c6c6a696764615e5653514b45413a3c41495053585f6265686a6c6c6c6c6a6865615e574d42362a1e1205000000000000000000000000081019212a30383f444e53575f62676d7175797c7e8082838485858685848382807e7b7974706d66605d56524c433d342e271e160e050000000000000000000000000000000000000000000810191e272e343c43474d53555d6064666d6f7173757777787979787877767573706e696763605c54524c46413b322a251e170e0600000000000000000000000000000000000000000000060e141a1e24292c2d3134363738393938383634312e2d29251f1c17110a03000000020a11171b1f24292c2d313335373839393938383634322f2e2b26211e1a150e09030000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3636363636363433302b241d242a2f32333636363636362e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c40414646464646464646403e3b352e251c130a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e353b3e40464646464646464641403c362f261d13080000000000000000000000000000000000000000000000000000000a141d262f383f44464e5353535353535353504745413a31281f150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12151a1e2122282b2d2f313335363738393939393837373533312f2d2c2924201f1b17110e08020000000000000000000000000000000000000000000013202d394653606c79868f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f86796c605346392d2013000000131f2c3946525f6c79859293939393887b6f6255483c2f22150900000000000000000005101c2834404b54606b74818e979393939393939386796c605346392d2013000000000000000000000000000000070d161d2429313a40454c52545c6063656c6f727476777879797978777674716f6c6563605b54524c45413a3129241e160e070000000000000000000000000000000000000000000000000000000000070d161d2429313a40454c52545c6063656c6f727476777879797978777674716f6c6563605b54524c45413a3129241e160e070000000000000000000000000000000000000000071019232b333b424a50555d6065686d717375777879797978777573716d6865605d55524c44464e535b60646a6e727577787979787775726e695e53463a2d211407000000000000000000000008111a222b333c424a50585f62696e747a7e8185888b8d8f90919292929291908f8d8a8885817d79736d68605d564f454039302820160e050000000000000000000000000000000000000009111a222a303940454e53575f62676d7175797b7d8082838485858685858483817f7d7b7874706d66615e56524c443e36302920180f070000000000000000000000000000000000000000060f181f262b3035393a3d404344454646454443403e3a3935302c28231c150c0802070b141b22272b2f35393a3d40424445454646454443413f3c3b37322e2b26201a150e060000000000000000000000000000000000000000000000000000000000000000050d14191e20212929292929292726241f1a13191f23262729292929292921201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b303334393939393939393933322f2a231c130a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c232a2f323339393939393939393433302b251d140b01000000000000000000000000000000000000000000000000000000020b141d262d333839424646464646464646443a39352f281f160d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205090e1214171c1f2022242628292b2c2c2c2c2c2b2b2a2927252220201d1813120f0b060000000000000000000000000000000000000000000000000013202d394653606c7986939c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9386796c605346392d2013000000131f2c3946525f6c7985929f9f9f95887b6f6255483c2f2215090000000000000000050e1b242c3845515c666f7c88939fa99f9f9f9f9f9386796c605346392d201300000000000000000000000000000810191f282f353e434b51565d60666d7074787b7e81838485868686858482807e7b7874706c66605d56514b433e353028201910080000000000000000000000000000000000000000000000000000000810191f282f353e434b51565d60666d7074787b7e81838485868686858482807e7b7874706c66605d56514b433e35302820191008000000000000000000000000000000000000050e19222b353d454d545c60676d72767a7e80828485858686858482807d7a76726d67605d565050585f656c71767b7f82848586868584827f7b6e6154483b2e2115080000000000000000000007111a232b343d454d545c606a6e757b81868a8e929897999c9d9e9e9f9f9e9e9d9c9a9797928e8985807a736d686059514b423a322820170e05000000000000000000000000000000000009121b232c343c424b51585f62696e747a7d8185888a8c8f9091919292929191908e8c8a8884807d79736d68615e565046413a322a211910070000000000000000000000000000000000020a1117212a31373a4145474a4d505152535252514f4d4b4746413a38342e261e19130d12181d262d33373a4145474a4d4f51525253525251504e4b4947433c3a37312b2620180f06000000000000000000000000000000000000000000000000000000000000000002080d1114141d1d1d1d1d1d1b1a17140e080e1317191a1d1d1d1d1d1d1414110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a202427272d2d2d2d2d2d2d2d2625231e19120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d272724201a130b020000000000000000000000000000000000000000000000000000000000020b141c22282b2d353939393939393939372d2c29241e160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206060b0f121315181a1b1d1e1f1f20201f1e1e1d1c1a18161413110d07050300000000000000000000000000000000000000000000000000000013202d394653606c7986939f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d2013000000131f2c3946525f6c7985929faca295887b6f6255483c2f22150900000000000000020c16202b37424d57606d7983919aa4afacacacac9f9386796c605346392d20130000000000000000000000000009111a222b313a41454f555d60686d73797d8185888b8d8f919292939292918f8d8b8885817d78726d68605d555046413a322b221a11090000000000000000000000000000000000000000000000000009111a222b313a41454f555d60686d73797d8185888b8d8f919292939292918f8d8b8885817d78726d68605d555046413a322b221a110900000000000000000000000000000000020d17202b343d474f575f666d72797e83878a8d8f909292939292918f8d8a86837e79736d68605b5a626a6e787d83888c8f9192929292908e8c8275685b4f4235281c0f000000000000000000050f19232b353d464e575f666d727c81878e92999b9fa2aaa6a8aaa9a8a7a7a8a9aaa9a6a9a29e9a97928d85807a706b605c544c443a322920170c0300000000000000000000000000000009121b242d353e464e545c606a6f757b81868a8e929797999b9d9d9e9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b22191007000000000000000000000000000000020b141b2227333c42464c5254575a5d5e5f5f5f5f5e5c5a5754524c46443f38302a251e171d24292f383f44464c515457595c5d5e5f5f5f5e5e5c5a5855534e4847423c37312a2117110a020000000000000000000000000000000000000000000000000000000000000000010507081010101010100e0d0b08030002070a0c0d1010101010100807050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b2020202020202020191916120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216191920202020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000000000020a11171c1f20282d2d2d2d2d2d2d2d2a21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030606090b0d0f101112131313121211100f0d0b090706040100000000000000000000000000000000000000000000000000000000000013202d394653606c798693939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939386796c605346392d2013000000131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000000000000008131e28323a47535f69737f8c95a0acb6b8b9beac9f9386796c605346392d201300000000000000000000000009121b232c343d434b515961676d737a7f848a8e92979899969494989298949496999897918e89847f7a736d67615a524c443d342c231b1209000000000000000000000000000000000000000000000009121b232c343d434b515961676d737a7f848a8e92979899969494989298949496999897918e89847f7a736d67615a524c443d342c231b120900000000000000000000000000000008141e29323d464f5960696e787f858b90939a999c9d9e9f9f9f9f9d9c9a9992908b85807a726c65636c717c838a9095989b9d9f9f9f9f9d9b8e8275685b4f4235281c0f0000000000000000030d17212b353d474f5860696e787f868e93999fa3ababaca8a9a29e9d9b9b9a9b9c9d9fa3aaa9aba9a19e98928c857d736d665d564c443a32291e150a000000000000000000000000000007101b242d363e474f585f666d737c82878e92989b9ea2a9a6a8aaa8a7a6a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e0500000000000000000000000000000a141d262d333f454d53565d606467696a6b6c6c6b6b696764615e5653504a423e36302920272f353e41495053555d606466686a6b6c6c6c6b6b696765625f5855534e47423c3328221c140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e13131313131313130d0c0a0602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0c0d13131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b20202020202020201d1413110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202d394653606c798686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c605346392d2013000000131f2c3946525f6c7985929faca295887b6f6255483c2f221509000000000000030d1925303a44505a616e7b86929fa7afacabadb3ac9f9386796c605346392d2013000000000000000000000009121b242d353e464e555d606c707980868c91969a97918e8c8988878685868788898c8f91979a96918c868079706c615d564e463e352d241b120900000000000000000000000000000000000000000009121b242d353e464e555d606c707980868c91969a97918e8c8988878685868788898c8f91979a96918c868079706c615d564e463e352d241b120900000000000000000000000000020e1925303b444e58606b6f7b838b92979c9fa4a9a19e9c9a9a999a9c9ea1a39f9c97928d857e776e6d737e8690959d9fa7a8aba49f9f9f9f9b8e8275685b4f4235281c0f00000000000000010b151f29333d474f59606a6f7b838c92999fa4abadaaa29f9b979792908f8e8e8e8f909298989d9fa7acaaa29f97918880786d685e564c443a30261c1106000000000000000000000000050e19222d363e485059616a6f7980878f93999fa3aaabaaaaa29f9d9b9a9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c0300000000000000000000000006111b262f383f4451575f61686d7073767778797978777673716d6864605c545046413a322a313940454f535b6064676d707375777878797978777674726f6a67625f57534d453f332d261d140b0200000000000000000000000000000000000002080d10121313131313131313131313131313131313131313131313121211100e0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f131313131313131311070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0f111213131211100e0c0a07060401000000000000000000000000000000000000000000000000000000000013202d3946535f6c767979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979766c5f5346392d2013000000131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000000000010b151f2a36414c56626c76828f98a3aca49f9ea1a9b39f9386796c605346392d20130000000000000000000007111b242d363e474f5860676d747d848c929897928d8985827f7d7b7a7979797a7b7d7f8285898d929798928c857d756d6860584f473f362d241b11070000000000000000000000000000000000000007111b242d363e474f5860676d747d848c929897928d8985827f7d7b7a7979797a7b7d7f8285898d929798928c857d756d6860584f473f362d241b110700000000000000000000000005111e2a36414c56606a6f7d8590959ea1a9a29e9997928f8e8d8d8d8f9197999ea1a29f97928b827a747f8b92989fa7a9a19e999993929292998e8275685b4f4235281c0f0000000000000007121d27313b454f59606b707c8590959fa3abaea9a19e98928e8a87858382818181828386888b90959b9fa4aca9a19a938d837a6d685e564c42382e23170d0400000000000000000000020d17202b343e48505a616b707c838c92999fa4abaca7a09d999892908f8d8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b0000000000000000000000000b17222d384149505b62696e747a7d808384858685858482807e7a76716d66615a524c443b333a434b515961656c71757a7d80828485858685858483817e7c78746e6a625f5751443f382f261d140a0000000000000000000000000000000000060d14191c1f1f202020202020202020202020202020202020202020201f1e1e1c1a18161413100c070501000000000000000000000000000000000000000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c080300000000000000000000000000000000000000000000000000000000000000000001040707090c0e101111121313121211100f0d0b0907060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f131516191c1e1f1f201f1e1d1b19161413110d0801000000000000000000000000000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12000000131f2c3946525f6c7985929faca295887b6f6255483c2f221509000000000007121d27313946525e68717e8b949faaa49a939297a1ad9f9386796c605346392d2013000000000000000000060f19232d363e485059616a6f79818a919797918b85817c797572706e6d6d666d6d6e707275797c81858b919697918a817a6f6a615951483f362d23190f060000000000000000000000000000000000060f19232d363e485059616a6f79818a919797918b85817c797572706e6d6d666d6d6e707275797c81858b919697918a817a6f6a615951483f362d23190f0600000000000000000000000714202d3946525e686f7c869297a0a7a49d97928c888582818080808285888c91969ea1a29f948f84818c919fa3aaa39f97928d898685858687898275685b4f4235281c0f000000000000000c18242f39434d57606b707d8692979fa7aeaba39f96918b86817e7b7876757474757677797c7f83888e939a9fa7aca49f9590837a6d685e544a3f34281f160c0100000000000000000009141f29323d46505a626c717d8690959fa3ababa49f9b95908c898584828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d120700000000000000000000030f1b27333f49535b606d727b81868a8d909192929292918f8d8a86837e78716c615e564d453c444c555d606c70787d82868a8c8f909192929291918f8d8b8884807b756e69625b504a42382f261b11060000000000000000000000000000000810181f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272523201f1c1813110d08020000000000000000000000000000000000000000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f0901000000000000000000000000000000000000000000000000000000000206080d11131416181a1c1e1e1f1f201f1f1e1d1b1a18161312100b060603000000000000000000000000000000000000000000000000000000000000000000000000060a0e1011131313131313100f0d0a05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10151b1f222226292a2b2c2c2b2b2a28252321201d19130c0400000000000000000000000000000000000000000000000000000f1b27333e49525a5f60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5a52493e33271b0f000000131f2c3946525f6c7985929faca295887b6f6255483c2f22150900000000020b18232f39434f59616d7a85929ea6a99f938785929eab9f9386796c605346392d20130000000000000000030c18212b353e48505a626b707c848e9398928c857f7974706c6666636161605c6061616366666c7074797f848b9298938e857c706b625b51483e352b21180c03000000000000000000000000000000030c18212b353e48505a626b707c848e9398928c857f7974706c6666636161605c6061616366666c7074797f848b9298938e857c706b625b51483e352b21180c0300000000000000000007131f2c38444f59616e7a859198a2a9a39f928d85807b78757473737475787b7f848b91969ea59f96918d929ca4a9a199928c85807c797878797a7d7e7164574a3e3124170b00000000000004101d2935404b555e69707d879298a2a9b1a8a099928c847f7a75716e696a6868676869666d6f72767b818790959da4afa79f9590837a6d665c50443e31281d13070000000000000000030d1925303b444e58626c717e879298a0a7afa79f99938e88837f7c79777574737373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c030000000000000000040f19232b3744505b656c747f868d92989a9c9d9e9f9f9e9e9c9a9992908a847e756d685f574e464c565d676d747d838a8f9299999b9d9e9f9f9f9e9e9c9a9896918d87817b726d605b544a41382d22170b040000000000000000000000000006101a222a30353839393939393939393939393939393939393939393939393838373634322f2d2c2923201d19130f0a0300000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b0300000000000000000000000000000000000000000000000000040a0f1214191d2021232527292a2b2c2c2c2c2b2b2a28272522201f1c1715120f0a050200000000000000000000000000000000000000000000000000000000000000040b11161a1d1e2020202020201d1c1916100a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181d1f272b2e2f3235373839393837363532302d2c29241e160d04000000000000000000000000000000000000000000000000000a16212c3740494f535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534f4940372c21160a000000131f2c3946525f6c7985929faca295887b6f6255483c2f221509000000000a141d2934404b55606b74818e97a1ada1978e8183909da99f9386796c605346392d201300000000000000000b151e2a333d47505a626c717d8691969490867f79726d6763605b54565554535053545556545b6063676d72797f858f949791867d726d625a50473d332a1e150a0000000000000000000000000000000b151e2a333d47505a626c717d8691969490867f79726d6763605b54565554535053545556545b6063676d72797f858f949791867d726d625a50473d332a1e150a0000000000000000000915222f3b4854606b75818e97a1aaa399928a8079736e69696767666769696e73797f848e939fa3a19e9a9da4a8a09691877f79736f6d67666c6e70716c6155493c3023170a000000000005101a232c3945515d676e7b859299a2aab1a79f9691878079726d6764615e575c5b5b5b545c6062656a6e747c838d929fa3aba7a0959082786d60594f433a2f24180d02000000000000010b151f2a36424d56606a717e889299a2aaafa49c959087817c77726f6d6668676766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b40342820150900000000000000000b16212c38444f59606c77818b92999fa2aaa9a8a09e9c9b9c9d9fa29f9c96918a827a6e695f584e555d686d79818a90959c9fa3aba39f9e9c9b9c9d9ea1a9a8a19e99938e867f746c665b53493f332720150a000000000000000000000000020d18222c343b4144464646464646464646464646464646464646464646464645454443413e3c3a38342f2d29241e1a150f0a0400000000000000000000000000000000000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b0100000000000000000000000000000000000000000000070c10151a1f2124292c2d303234363738383939393838373533322f2d2b2823211f1b15120e090300000000000000000000000000000000000000000000000000000000050d151c2227292a2d2d2d2d2d2d292926211c150d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d151d24292c32373b3c3f4244454646454443413f3d3a39352f281f160c0100000000000000000000000000000000000000000000000005101b252e373e4346464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646433e372e251b1005000000131f2c3946525f6c7985929faca295887b6f6255483c2f22150900000006111b262f3845515c67707d89939ea9a69e91857a84919daa9f9386796c605346392d20130000000000000007121d27303c454f59626c717e879298938c827b726d67605c5553504a4d505152535352514e4a5053555c60676d727b828b929892877f726c61594f453c30261c11060000000000000000000000000007121d27303c454f59626c717e879298938c827b726d67605c5553504a4a484746444647484a4a5053555c60676d727b828b929892877f726c61594f453c30261c11060000000000000005111d2a36414c56636f7c89939ea9a59f92877e746d67625f575b5a5a5a575f62666d7279818c9299a3aba7a9aca09691847c736d6762605c5b60616364615a5045392d21140800000000000b16212b37434e58606d79839097a1abb1a79f9590847c736d67605d5554524d4f4e4e4e4a505355585f626a6f78808a9299a3aba79f948d80736b61554b4035291f140900000000000007121d27313946525e696f7c86929aa3ababa39f928d837c756f6a6662605c545a5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e0500000000000003101b27323b4854606b73808c939fa3aba9a19e9896918f8f8f909297989d9f9e938f847b6e6a5f565d676d7a838e939da0a7a59e9b999291908f8f909297979c9fa6a49f98928b81786c655b50443c32261b0f05000000000000000000000008141f2a343e464d5152535353535353535353535353535353535353535353535251514f4d4b494745403a3935302b26201b150c0700000000000000000000000000000000000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d13090000000000000000000000000000000000000000070c12181c1f262b2e2f35393a3c3f414344444546464545444342403e3c3a38342e2e2b26211e1a140f0a0400000000000000000000000000000000000000000000000000040d171f272e3336373939393939393635322d261f160d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a10191f272f35383c4347494c4f515252535251504e4c494745413a31281e13080000000000000000000000000000000000000000000000000009131c252c33373939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393937332c251c130900000000131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000000b17222d38414e58606d7984919ea5aa9e948a7e7885919eab9f9386796c605346392d2013000000000000000c18232e39434d57606b717e8b929992887f786e69605d55514b5153575a5c5e5f5f5f5f5d5b5854524d51555c60696e767f879298928b7e716b60574e42382e23170c030000000000000000000000000c18232e39434d57606b717e8b929992887f786e69605d55514b514f4b443b3a3a383a3a3b3d3f44464b51555c60696e767f879298928b7e716b60574e42382e23170c030000000000000713202d3946525e6875828f9ca5ab9e938b7e716c605d55534d4e4d4d4d4d53545c60676d757f87929facb4b7aa9e91847b6f6a605d55535150535456575550483e33281c11050000000004101c27333a47535f6a74808d95a0a9b2a89f9590837a6f6a605c55514b484642424141423f4446494e53585f666d737e879299a4afa69f93887d70675d51453b30251a0e0200000000000c18232f3943505a616e7b859198a3acaca399928b80786f6a625f585653504a4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b0000000000000713202c38444f5963707d88939fa5aea69f97918c87848382828385888b90959d9e9691857c6e685e606d798390959da5a8a09d938f8a86848382828385878b8f949da0a7a29f938e81776c60584e43372b21160b00000000000000000000000d1925303b4650585d5f6060606060606060606060606060606060606060605f5f5e5d5c5a585653514b4746413a37312b262018120b03000000000000000000000000000000030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f030000000000000000000000000000000000030b12181c23282c31373a3b414547494b4d4f5151525253525251504e4d4b4946443f3c3a37312d2a251f1b160f0a0400000000000000000000000000000000000000000000000b151f2931393f424446464646464643423e3831281f150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131c222b31394045474e5455595c5d5e5f5f5e5e5d5b585654514c433a2f24190d01000000000000000000000000000000000000000000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000040f1b27333f49535f6a73808c96a0aca2988f82757985929fac9f9386796c605346392d201300000000000004101c2834404b555f69707d87929892877e726c665f57514d53555c606467696b6c6c6c6b6a6865615e57544f51575e616d727d86929792877d706a5f544a3f3428201509000000000000000000000004101c2834404b555f69707d87929892877e726c665f57606060605e5c564e44392d2c2d2e323f49515759606060575e616d727d86929792877d706a5f544a3f34282015090000000000000714212e3a4754616d7a86929faca3998e81756d625a514b47424140404142474b51555e69707c86929facb8b0a3968a7d70696058514b46454446474a4a49453e362c22170c00000000000714202c38444f59626e7c87929fa7b1aaa1969083796d685f58514b45413b3a363035342e34383a3c43474e545c606c717e87939fa5afa49a9185796d60574d42362a1e11050000000004101c2934404b55616c76828f97a1aaafa49a92877e736d665f58534e4946443f41404040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c100400000000000916222f3b4854606b7683909aa4afa89f948f847f7a7776757676787b7f838990959c9791847a6d666c75818f959fa7a79f959189827e7a7776757676787b7e828990959ea5a59d938c7f736a5f53473d33271c100400000000000000000003101c2935414d5862696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6a69676562605c5554524c47433c373228231d150c0700000000000000000000000000000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b20140800000000000000000000000000000001070c151d23282e34383c4347484c525456585a5c5d5e5f5f5f5f5e5e5d5b5a585553504a4847433c3a36312b27201b150d0802000000000000000000000000000000000000000006111c27313b434a4f51535353535353504e49423a31261c1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141c252e343d434b515358606265686a6b6c6c6b6a69686563605d554c4135291d110400000000000000000000000000000000000000000000000000010910161b1e202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201e1b161009010000000000131f2c3946525f6c7985929faca295887b6f6255483c2f22150900040d1a232b3744505b656f7c87929fa8a79f92867b6e7986939fac9f9386796c605346392d20130000000000050f1a232c3845515c676e7b85929992867d716c605b544d51575f61676d70737677787979787775726e69636059524d525b626b707c85929892857c6e665c50443c31261a0f04000000000000000000050f1a232c3845515c676e7b85929992867d716c605b63666c6c6c6c6b6760564b3f331f25303b44515b62656c6c6c6c6c67646b707c85929892857c6e665c50443c31261a0f0400000000000b1825313e4b5864717e8b99a3ac9f92867b6e625a504540393731343331373c45515c676e7b859299a3aeabaea99c9083786c60564c413a3838393b3d3e3c39332c241a100500000000000916232f3c4855616b76828f99a3afaea39891847a6d675e564e454039352f2d2a25282823282c2d31373c424a505a616c727f8b939ea8aca1978c8073695e52463a2d2014070000000006131f2c3845515c67707d8a949fa9b0a69f93887e716c605c544e47433c3a38342e3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a00000000000a1623303d495663707c89949facaca0958f827a726d686968696a696e72767d838c929f968f82786d717e8b939ea7a79f9590837d75716d676968696a696e71767d838e939ea5a59f92877c6f62594f44382c20140700000000000000000005121f2b3844515d697479797979797979797979797979797979797979797979797878777674716f6d6764615d56534e47433c342e271e191008000000000000000000000000000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c0000000000000000000000000000030b12181e272e34394044464e5355565d60636567696a6b6b6c6c6c6b6b6a68666562605c5455534e4846423b37322b262019130c04000000000000000000000000000000000000000a16222e39434d555b5d6060606060605c5a544c42382d21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131c262e3740464f555d60656a6f7275777879797877767472706d675d5145392c201306000000000000000000000000000000000000000000000000000000050a0f1213131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313120f0a0500000000000000131f2c3946525f6c7985929faca295887b6f6255483c2f221509010c161f2a36414c56606c77839099a3aba0958c7f726d7a879aa4af9f9386796c605346392d201300000000000b16212b37434e58606d7983919792877d706b615a504d555c60696e74797d8082848586868584817f7b76706b605d564e5159606a6f7c8692979083786d60584e43372b21160a0000000000000000000b16212b37434e58606d7983919792877d706b615a636d72797979797772675c4f43372a2a36414d56626d727979797979746e646a6f7c8692979083786d60584e43372b21160a00000000000e1b2834414e5b6774818e9aaba99c8f8276695f53483f352f2b262727313c46515b606d79839097a1aaa29fa2aa9f948b7e71685e52463c322b2d2e3031302d28221a1208000000000005121e2a36424d5763707d89949fabb2a89f92867c6f685e554c443c342e2924201e1a1b1b171c1f20262b30383f44505a626d75818e96a0aca79f92867b6e6154473b2e21140800000003101c28343f4a54606d7984919ea6b0aa9e948c7f736c625a504a423c37322d2c282327272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f0000000004101d2935404b556774808d9aa6b0a99d91837a6d68615e565c5c575f61656b7078808b9399948c7f737a85929fa5aba095908279706b64605d555c5c565e61646b7079818e939ea8a3999083776b6054483c2f22160900000000000000000006131f2c3946525f6c79868686868686868686868686868686868686868686868685848482807e7c7975716d68625f58534e454039302a221a11090000000000000000000000000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e00000000000000000000000000040d151d2329303940454a5153585f6266686d6f7274767777787979787877767573716f6d6666625f5854534d47433d373129241e160e060000000000000000000000000000000000010e1a27333f4a555f676a6c6c6c6c6c6c69665e54493e3226190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101b252e384049515960676d71777c7f8284858586858483817f7d796d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929faca295887b6f6255483c2f22150907121d28313946525e68727e8b949faba3999083786d6e7a8794a1b69f9386796c605346392d20130000000004101c27333a47535f6a73808c95928b7f726b6159504d575e676d737b81858a8d8f9192929292908e8b87827d756d685f584e4f58606a707e8793958c7f726a5f53473d32271b0f040000000000000004101c27333a47535f6a73808c95928b7f726b61595966727f8686868684776b5e51443826303846525e68727f8686868686817467606a707e8793958c7f726a5f53473d32271b0f0400000000101d2a3743505d6a7683909da9a5988c7f7265574d423629241d1a242f39434e58626d74818e959fa9a29892989fa69e92857a6d61584e43372b2021232423211c1710080000000000000714212d3a46535e6975828f9ca6b0aca0968c7f736a60564c433a3228231d1814120e09060c1012131a1e262e343e48515b606d7984919ea09d95908a807366594d4033261a0d00000006121f2b3844505c66727f8c96a0acaea2988f82776c605a50443f38302b26201f1c171a1a1a171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d120700000006131f2c3945515d677784909daaada1978a7d70675e56524c4f4f4d53555960666d737e87939f92867b7f8c97a2ada39990837a6d67605954514c4f4f4d52545960676d78818f96a0a49f95897d7063564a3d3023170a00000000000000000006131f2c3946525f6c7985929393939393939393939393939393939393939399929291908f8d8b8985827e7a756f6a625f58514b433c342c231b120900000000000000000000000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e000000000000000000000000050e161f272f343d434b51545c60646a6e72767a7c7e808284848585868585848381807e7c7976736f6a66615e57544e47433c3530282017110a0200000000000000000000000000000003101d2936424f5b6771777979797979797670665a4e4235291c0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222d37404a525b636b6f797e84888c8f909192929191908e8b897f7266594c3f3326190c0000000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c0803000000000000000000000000000000000000000000000000000000000406070b0e11121313131313130c0c0a0602000000000000131f2c3946525f6c7985929faca295887b6f6255483c2f2215090b18242f39434f59616e7a85929fa6a89f92877c6f666e7b8894a1ac9f9386796c605346392d2013000000000714202c38444f59626f7c8792968e81746d62594f4d575e696e7980868d92989a9c9b999898999b9b9a938f89827a6f6a5f574d4e58616c737f8c9592867c6e62594f43382c20150a000000000000000714202c38444f59626f7c8792968e81746d62594f5966727f8c93939184776b5e5144382e38424f59616e7b8692939391857a6d6058616c737f8c9592867c6e62594f43382c20150a00000000121f2b3845525e6b7885919eaba295897c6f6256493c31231817202935404b555f6a727f8b939da7a298928590949fa1978e81746a5f53473c32261b17171714110c05000000000000000815212e3b4854616e7b87939facb2a89d9184796d60584e443a31292018120d0705020000000306090c151c2328363f45515d676f7d899395908a837e776c605346392d2013060000000713202d3a4653606d7884919ea8b2a99f92867b6e655b50483e342e261e1b1312100c060d060b0f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c0000000714202d3a4753606d7a86939facab9e9285786c60554c464142434246484f545c606c727f8b9398908385929ea9ab9f92877c6f685d554f47454142434246474f555d666d7984919b9a93908c8276695c4f4336291c1003000000000000000006131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9e9e9d9c9a9898928f8b86817c756f6a605c554e463e352d241b1209000000000000000000000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c302316090000000000000000000000050f172028313940454f555c60666d71777b7f8386898b8d8f9091929292929191908e8d8b8885827f7c77736e69626058534e46413a3228221c140b03000000000000000000000000000004111e2a3744515d6a77838686868686868276695c504336291d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2b343f49525c646d737c848b9095989b9d9e9f9f9e9d9c9b988c7f7266594c3f3326190c000000000000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f0901000000000000000000000000000000000000000000000001070c101314171b1e1f202020202020191816120d070000000000131f2c3946525f6c7985929faca295887b6f6255483c2f22150a141d2935404b55616b75818e97a2aca1968d80746a626f7b8895a2ac9f9386796c605346392d2013000000000916232f3c4855606b768390999184796d605b514b555e696e7b838d92999f9c96918e8c8b8b8c8e92979e9c938f847c6f695f564c505a606d788390988f82766b6054483d32271b0f000000000000000916232f3c4855606b768390999184796d605b514c5966727f8c999e9184776b5e514438343f4a54606b75818e989e948a7e71685d525a606d788390988f82766b6054483d32271b0f00000000131f2c3946525f6c7985929faca194887b6e6155483b2e22151f29333b45515d676f7c86929fa5a49a92867b829099a39f93877c6f62584e43372b20150a0a0805000000000000000005121e2a36424d576673808d99a4afaca0968a7e71665c51463c32281f170e0700000000000000000000030a1117242935414b55606b75818e8a837d78706c655b5044372b1f1205000005111e2a36414c5664707d8a96a1adada1978c7f72695e53493f3628231c140c0a060300000000000306090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c100400000815212e3b4854616e7b879aa4afa89b8f8275655b50433a363031363a3d424a515a626d75818e9794909297a1ada3998d80736a5f564c433d39352f30363a3d434b545d67707d8a8e8b87837f7c6f6255493c2f22160900000000000000000006131f2c3946525f6c7985929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a7aaa9a7aaa29f9b99928e87827c736d675f584f473f362d241b10070000000000000000000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f22150900000000000000000000050e172129323a434b515960676d72797e83888c909399989a9c9d9e9e9f9f9f9e9e9d9b999898928f8c8884807b756f6a625f58524c443d332d261d150c040000000000000000000000000004111e2a3744515d6a778490939393938f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d46515b646e737f8791969da0a7a8aaa8a4a2a0a0a0a1998c7f7266594c3f3326190c00000000000000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b03000000000000000000000000000000000000000000060b12181c1f2024282a2b2c2d2d2d2d2d2625221e18120a01000000131f2c3946525f6c7985929faca295887b6f6255483c2f2215111c262f3845515d67707d8a939ea9a59e9184796d60626f7c8895a2ac9f9386796c605346392d201300000007131f2c38434f5963707d899593897d70675d5145515d676e7b8490959f9f948f898481807e7e7f82858a91969e9691857b6e685d5245505c666f7c879294897c6f63584e43372b1c1106000000000007131f2c38434f5963707d899593897d70675d51494c5966727f8c999e9184776b5e5144383844505c666f7d89939e988f82756c61564c505c666f7c879294897c6f63584e43372b1c110600000013202c3946535f6c7986929faca093877a6d6054473a2d211a25303b45505a606d79839199a3a59f93887e707c87929fa49a8f82756a5f53473c32261b0f01000000000000000000000714212d3a46535f697784919eabb5ab9d9184786c60544b40342b20160d0500000000000000000000000000061218242f3a434f59616e7b837e78716c65605b53493f33271b0f0300000714202d3946525e6876828f9ca8b2ab9e9185796d60574d41382d2417110a02000000000000000000000002091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f130600000916222f3c4955626f7c8895acb6a79a8d81746753493f312a25262a2d30394044515b616d7a85929f9c9ea1a9ac9f92867a6d61584e433a312c2924252a2d3139424b55606c7783827e7a76736f6a6054473b2e22150800000000000000000006131f2c3946525f6c7985929facb8ada39c9898989898989898989898989898999a9b9d9fa3aaaaacaba39f9a938f8780796f6a615950483f362d22190f05000000000000000007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f1307000000000000000000030d172029333b444c555c606b6f797f848b9095999c9fa4aba7a9a9a8a7a6a6a7a7a8a9a8a6aaa29f9c9995918c87817c766f6a615d564f443f382f271e160d0400000000000000000000000004111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424e58626d73808c9299a0a8acaaa39f9b979594939394958c7f7266594c3f3326190c000000000000000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b01000000000000000000000000000000000000020a11171d23292c2d3134373839393939393933322f2a231c130a000000131f2c3946525f6c7985929faca295887b6f6255483c2f221517222d38424e58606d7984919ea5a99e938a7d70675d626f7c8995a2ac9f9386796c605346392d20130000000915222f3b4854606b7683909a8e81756b60554b4e58606d798390969f99928b827c78747372727375797e848e939d9791847a6d605a504a545f6a74808d988f82766a605447382e23170c00000000000915222f3b4854606b7683909a8e81756b60554b414c5966727f8c999e9184776b5e514436414c56606d7883909d9f92867b6e615a50444a545f6a74808d988f82766a605447382e23170c000000121f2c3945525f6c7885929faba194877a6e6154473b2e21202a36424d57616c74818e95a0a89e938c7f736c74808d97a29f93877c6f62584e43372b1e1308000000000000000000000815222e3b4855616e7b8896a0acafa3998c7f72665b5042392e22190e0500000000000000000000000000000007131d28313d46535f696e77716c65605b53504941382d22170b0000000814212e3b4754616e7a87939facafa3998c7f72675d51453b2f261b1206000000000000000000000000000000071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d2013080000091623303c4956636f7c8996a2afa69a8d8073675a4d403025191a1e21272e343f46525e6873808c99a3abadb3a89c8f8275685e52463c3128201d19191e2027303944505b656c7675716d68666260584e43372b1f130600000000000000000006131f2c3946525f6c7985929facb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8c8d8e909298999da0a7aaaca49f99928d837c706b625a50483e342b21170d0300000000000000030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f030000000000000000010b151f29333b454d565d676d747c848c91969da0a7a9aca8a9a19e9c9b9a9a999a9a9b9d9fa2a9a6aaa9a7a09d99928e89827c746d686059504a423930281f160c01000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606a727f8b929fa3abaca49f98928e8b8887868687898b7f7266594c3f3326190c00000000000000000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d13090000000000000000000000000000000000030b141b22272f34383a3e4144454646464646463f3e3a352e251c12070000131f2c3946525f6c7985929faca295887b6f6255483c2f22151c28333f4a545f6a73808d96a1aca2978e81756b6155626f7c8995a2ac9f9386796c605346392d2013000004101c2934404b55636f7c899493877c6f62594f4754606a74808d95a09892877e766f6c6566656566666d7179818e939d968e81756c61554b4e58616e7b869294897c6f62544a3f34281c100300000004101c2934404b55636f7c899493877c6f62594f433f4c5966727f8c999e9184776b5e51443846525e68727f8b959f958b7f72695e53483e424e58616e7b869294897c6f62544a3f34281c10030000111e2b3844515e6b7784919eaaa295887c6f6255493c2f2428323a46525e69707e8a939da8a0958e81776c606d7a85929fa49a8f82756a5f53473a2f24190d010000000000000000000c1825323f4b5865727e8b98a8b2ac9f92867a6e61544a3f30271d100700000000000000000000000000000000010c161f2a36424d575f616a64605b535049443f382f261b11060000030f1b27333f495364717e8b9aa4afac9f92867a6e61554b4033291d140a000000000000000000000000000000000007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d01000916222f3c4955626f7c8895aab4a79b8e817468564c41362a24201d191c232a36414c56616e7a86929facb9b3a9978a7e7164564c41342a1f161d1d1d1d151e27333f49535b606a6864615e5655544e463c32271b0f0300000000000000000006131f2c3946525f6c7985929facb2a5988c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818386888c91959c9ea6acaba39f9591867d716c625a50463d33291f140900000000000000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a00000000000000000007121d27313b454d575e686d79808791959ea1a8acaaa29f9b979791908e8d8d8d8d8e8f909297979a9ea0a8ababa39f9b948f87817a706b605b544b433a31281d1307000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040707121f2c3844505c666f7c87929fa4afaaa39a938d86817e7b7a797a7a7c7e7d6f6356493c302316090000000000000000030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f03000000000000000000000000000000030c151d262d33394045474a4e51525353535353534c4b463f372e23180d0200131f2c3946525f6c7985929faca295887b6f6255483c2f221a242b3844505b666f7c87929fa8a69f92857a6e615956626f7c8995a2ac9f9386796c605346392d2013000006131f2c3845515c6775818e9b8f82756a5f53474d57626f7c87939f9f92867d716c62605b535858545c60676d77818e959e938a7e71675d5146525e6974818d9a8e8174665c5044382c1f120600000006131f2c3845515c6775818e9b8f82756a5f53473d3f4c5966727f8c999e9184776b5e5144424e58616d7a85929f999083786c60574d42363c46525e6974818d9a8e8174665c5044382c1f12060000101d293643505c6976838f9ca9a4978b7e7164564c413529303a44505a616e7b85929ea5a3989183796d655d6873808d98a39f93877c6f62564c4135291d1104000000000000000004101d2935404b556875828f9ba8b5a99c908376685e5242382d1e150b000000000000000000000000000000000000040d1a26313b454d53555d57535049443f38332d261d140a00000005121f2b3744505b6575818e9bacb6a99c8f8276685e5243392f21170b020000000000000000000000000000000000010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d1104000814212e3b4754616e7a8798a2aeaa9d908377685e52463c352f2c2924272625303a46525e6876828f9ca9b6ada197877b6e6154483b302a2a2a2a2a2a2a2a2a222d38414950535d5b5854524c4947433c342b20150a0000000000000000000006131f2c3946525f6c7985929facada093877a7272727272727272727272727273737477797c8084898f949da0a7afa7a09892877e716c61584e453b30251a0d040000000000000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f040000000000000000040e18242f39434d575e696e7a828d9399a0a8ada8a19e98928e8a878583818180808081828385878a8d9196999ea1a9aca69f99928d847d736c665c554b433a2f24180d010000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000206080d1113141d2935404b55606d78839099a3aeaba3989288817a75716f6d6d6d6e6f716f6b6054483b2f22150900000000000000000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b2014080000000000000000000000000000000b151e272f383f444b5153575b5d5e5f6060606060595751493f352a1e120600131f2c3946525f6c7985929faca295887b6f6255483c2f221f2a36424d57606c78839099a3ab9f948b7e71685e5256626f7c8995a2ac9f9386796c605346392d201300000714202d3a4753606d79859296897c6f63584e46535f6975828f9a9f948b7f726b615a5350494b4b4b51555d656d78839099999184796d6053474d56616e7b88959285796d6053463a2d2013070000000714202d3a4753606d79859296897c6f63584e43353f4c5966727f8c999e9184776b5e513f4a54606a74818e979f92877c6f665b50453b3136424d56616e7b88959285796d6053463a2d20130700000d1a2633404d596673808c99a9a79b8e8174685d52453b3136414c56616c75828f97a2a59f92867c6f675d56616e7a86929fa49a8e8174685d5245392c20150a000000000000000006131f2c3845515d677884919eabb6ac998c7f7266564c412f261c0c030000000000000000000000000000000000000009141f29333b424648504a46443f38332d27221b140b020000000613202d394653606c7885929eabb3a9988b7f7265564c4131271d0f050000000000000000000000000000000000000006111c2935414c5665727f8b98aab4aa9d918477685d5245392c201306000714202d3a46525e697885929fabac9f92867a6e61584e45403a39352f3433333236414c566673808c99a6b3ab9e928578695e53463a3737373737373737373737372f383f4446504f4b4746413c3b37322b2620180f0600000000000000000006131f2c3946525f6c7985929facada093877a6d656565656565656565656565666768666d6f73777c828990959fa4acaaa299928b7e716a60574d42362a1f160c01000000000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f2419070000000000000000020c16202935404b555e696e7b8390949fa4abaaa29f96918b86817e7b78767574737374747577787b7d8084888d92979ea1a8aba39f96918780786d675d554b4035291d11040000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214191d2021242c3945515d67727f8b95a0abafa39992867d746d6864626160606162656360594f43382c1f130700000000000000000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c000000000000000000000000000007121d273039414950555c6064676a6b6c6c6c6c6c6c66635b51463a2f22160a00131f2c3946525f6c7985929faca295887b6f6255483c2f2228313a46525e69727f8b959faba3999082776c60564c56626f7c8995a2ac9f9386796c605346392d201300000a1724313d4a5764707d8a989184786c6053464855616e7b88949e9c9083786c60595046443f3f3f40454b535c666e7b878e8a86827c6f62554846535f6976839097897d7063564a3d2f23180c0000000a1724313d4a5764707d8a989184786c6053463c313f4c5966727f8c999e9184776b5e5144505b666f7c87939f968d80736a5f544a3f3329303b46535f6976839097897d7063564a3d2f23180c00000a1723303d4a5663707d8997a1ac9f92867a6d60574d43393946525e68717e8a949ea89e938b7f726a5f55525e6874818d9aa49f92867a6d6054473d32271b0f03000000000000000714202d3a4753606d7a86939facafa49a897c6f6356493c3023140a0000000000000000000000000000000000000000030d17212931363a3b443e3937332d27221b17110a02000000000815222e3b4855616e7b8897a1adada197887b6e6255483b3022150b0000000000000000000000000000000000000000000d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d2114070005111e2a36424d566976828f9caaafa3998c80736a5f58514b4745414240403f3f3f3e4a5764717d8a97a4b0a99c8f827669574d4244444444444444444444444444444444444444444444444444443b3a37312a21180e03000000000000000006131f2c3946525f6c7985929facada093877a6d605858585858585858585858595a545c6062666b6f767c838d939aa3ababa39f92867c6f695e52463e31281d13070000000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e1308000000000000000008131e28323a45515d676e7b8491959fa6afa7a098928c847f7a75716e6969686767666767686a696e7173777b80858b91969fa2aaa9a199938c81796d675d5145392c2013060000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000060c10151a1e2124292c2d30333f4a54606d7985929ea7b1a79f92877d706b615e565554535354565856544f473d32271b0f0300000000000000000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e00000000000000000000000000040d18232e39434b535b60676d71747778797979797979726d63574b3e3225180c00131f2c3946525f6c7985929faca295887b6f6255483c2f242f3a43505a616e7b86929fa7a89f92867c6e655b504956626f7c8995a2ac9f9386796c605346392d20130004111d2935414c566874818e9a8d8073655b50444b5566737f8c99a096897d70665b50473e37332d2e3439414a545f697380827e7a766f6a5f5347424d5765727f8c988d817467554b4034291c10040004111d2935414c566874818e9a8d8073655b504437333f4c5966727f8c999e9184776b5e514c56606c7883909a9e9184796d60584e42382d212a36424d5765727f8c988d817467554b4034291c1004000713202d3a4653606d7985929eaaa2988c7f72695f554b43424f59616d7a85929ea6a1968f81756d62584e4c56616e7b87939fa2988b7f7265584e43372b1f1306000000000000000915222f3c4855626f7b889aa4afac9f93867a6d6054473a2d211407000000000000000000000000000000000000000000060f171f262a2d2e37312d2b27221b17110b060000000000000a1724303d4a5763707d8a96a9b3ab9e928578695f53473a2e2114030000000000000000000000000000000000000000000813202d394653606c7985929facb1a795897c6f6256493c2f23160900020e1925303f4b5865727e8b98a2aeab9f92867c6f6a605d5554524c4e4d4d4c4c4b4b4b5663707c8996a3afa79b8e8174685b505050505050505050505050505050505050505050505050505050504847433c332a201509000000000000000006131f2c3946525f6c7985929facada093877a6d60544c4c4c4c4c4c4c4c4c4c4c4d4a5053555960636a6f7980889299a3abaea39891857b6e615a50433a2f24180d00000000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c0100000000000000010d1925303a44505a606d79839096a0a8b0a69e9591867f79726d6764615e575b5a5a5a5a5b5c575e6164676a6e73797e848c92989fa7aba49f938e82796d6053473a2d2014070000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000000000000000000000000030a11171c1f262b2e2f35393a3d4044505b66727f8b97a1adaca0958c7f736b6159524c4847464747494b4948433d352b21160a0000000000000000000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e000000000000000000000000010c161f2834404b555c656c71797d8184858686868686867f7266594c3f3326190c00131f2c3946525f6c7985929faca295887b6f6255483c2f2935414c55616c75828f98a2aca0968c80736a5f53494956626f7c8995a2ac9f9386796c605346392d2013000713202c3945525d6877849199897c6f62534945515d677683909d9e9184786c60544a3f352b272223282f38424d57636e7375716d68625f584e433b4854616e7b8797908477675c5145382c1f1306000713202c3945525d6877849199897c6f6253493f33333f4c5966727f8c999e9184776b5e53535d68717e8b959e93897d70675d51463c2f261c26313b4854616e7b8797908477675c5145382c1f13060006131f2c3845515c6773808c98a2aa9f92867b6e675d554c4a54616b75818e97a1a59e91847a6d605b514646535f697683909caa9d9083776a6054473b2e221509000000000000000b1724313e4a5764717d8a97acb6aa9e918477675d5145392c20130600000000000000000000000000000000000000000000060d141a1e21222a24201f1b17110b0600000000000000000c1926323f4c5965727f8c98a5b2a99c8f837669574d42372b1e120600000000000000000000000000000000000000000006121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b00000914212d3a4754606d7a85929fa7aea29891847c726d6763605d565b5a59595858585857626f7c8995a2afa79a8d8074675d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d55534e463c31261a0f020000000000000006131f2c3946525f6c7985929facada093877a6d6054473f3f3f3f3f3f3f3f3f40403f4446494f545860676d737e879299a3aeaaa1978f82766c61554b4135291d1207000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c201304000000000000000005111d2935414c56626d75818e959fa8b0a69e948f837b726d66605d5554534d4e4e4d4d4d4e4f4d525457585f62666d71797f8690959ea5afa59e948d8073665a4d4033271a0d0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000003090c151c23282c31373a3b4145474a4d4e53606c7884919ea9b1a79d9083786c60594f46413c3a3a3a3b3c3e3c3b38322b23190f040000000000000000000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c3023160900000000000000000000000007131d28313a45515c676d777e848a8e909192999393938c7f7266594c3f3326190c00131f2c3946525f6c7985929faca295887b6f6255483c2f303845515d67707d8a939eaaa49a9184796d60584e414956626f7c8995a2ac9f9386796c605346392d2013000714212d3a4754606d7a87969286796d6053464753606d7a86939f998d8073655b5042382d231b17181d26303b45525c63666864615d56534e463c3a46535e697885919286796d6053473a2d201407000714212d3a4754606d7a87969286796d6053463a2d333f4c5966727f8c999e9184776b606060606d7a85929e978e81746b60554b40342a1d14212d3a46535e697885919286796d6053473a2d2014070004101c2834404b55616e7a86929fa6a2989083796d675e56515c66707d8a939ea99e938a7d70685d52493f424d5765717e8b98a3a095897c6f6256493c31261a0e020000000000000c1926323f4c5965727f8c98a5b2a99c8f837669554b4135291d1104000000000000000000000000000000000000000000000003090e1214151d1713120f0b06000000000000000000000e1b2834414e5b6774818e9aa7b3a79a8d8074675a4d4131261a0e02000000000000000000000000000000000000000000030f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d00000713202c3945525d68737f8c95a0a8aaa19691867f7974706d6869686766666565656464646f7c8995a2afa6998c7f736a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a625f584e43372b1f12060000000000000006131f2c3946525f6c7985929facada093877a6d6054473a3232323232323232332e34383a3d43484e555c606c717e87929fa5afa99f948a7e71675d5145392e23180c0000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d110400000000000000000713202d3946525e68717e8b939ea7b1a79e948f82796e69605c54514b484642424140404141424246484a4e53545c60666d727b838f939ea8afa69a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000000000000000000050d141a1e262e34383c4247484c525457595b5563707d8996a0acab9f95897d70665b504745403a37322d2e2f32302f2c2721191007000000000000000000000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f2215090000000000000000000000010d18242f3a43515b606d79818b91969a9d9e9fa39f9f998c7f7266594c3f3326190c00131f2c3946525f6c7985929faca295887b6f6255483c2e38424e58606d7a84919ea6a99f93887d70675c51463c4956626f7c8995a2ac9f9386796c605346392d2013000a1623303d495663707d8996908377665c51454956626f7c8999a4978a7d706453493f2f261c0f0b0b151e2a33404a5257595b5754524c47433c3436424d576976828f99897c6f6256493c2f231609000a1623303d495663707d8996908377665c5145382c333f4c5966727f8c999e9184776d6d6d6d6d74808d979e92857a6d61594f433b322920171e2a36424d576976828f99897c6f6256493c2f23160900000c18232e3946525e68727f8b949fa89f958f82796e68615a606d7884919ea5a1978e81756b61564c41373b4754606d7a86929fa79a8d807467574d42372b1e12060000000000000d192633404c5966737f8c99a6b2a89b8e8175685b4e422f24180d010000000000000000000000000000000000000000000000000002050708110b060503000000000000000000000000101c2936434f5c6976828f9ca9b2a5998c7f7266594c3f3326190900000000000000000000000000000000000000000000000b17222d404d5a6773808d9aa6b3a89b8e8175685b4f4235281c0f000004111d2935414c56606d79839096a0a7a8a198928c85807d7a787675737372727271717171707c8995a2afa5988c7f777777777777777777777777777777777777777777777777777777777777776e6a5f53473a2e2114080000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d252525252525252623282c2d32383d434b515a616c727f8b939ea9b0a69e91847a6d60544b4034281c1004000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d010000000000000006121f2b37434e58616d7a85929ea5afa9a0958f82796d675f57514a45403b3a3631343433343430363a3b3e43474b51545c60696e79818f96a0aca79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000080f171f252a30383f44464d5355565d60636668696775818e9ba8b2aa9d9083776b605b5353514b47433c3731292423221f1b160f07000000000000000000000007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f1307000000000000000000000004111d2935414b55626d75818e939ea1a8aaa29f9c9998988c7f7266594c3f3326190c00131f2c3946525f6c7985929faca295887b6f6255483c343f4a54606a74808d96a1ada1978e81746b60554b403c4956626f7c8995a2ac9f9386796c605346392d2013000c1925323f4c5865727f8b988e817467544b404b5864717e8b97a398877b6e6154473b2d21140a00030c18212e3840474b4d4f4b4746413a37322a31404d596673808c988b7e7165584b3e3225180b000c1925323f4c5865727f8b988e817467544b403428333f4c5966727f8c999e9184797a7a7a7a7a7c87929f978b7e7168605b544d443b32291d1a2531404d596673808c988b7e7165584b3e3225180b000007121d2a36414c56606c78829096a1a79e948f837a716c6268727f8c96a0a69e91857a6d61594f443a303945525d6875828f9bac9e918477695f53473a2e2114080000000000000d1a2734404d5a6773808d9aa6b3a79a8d8074675a4d4134271a070000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000101d2a3643505d697683909ca9b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f0000010d19242f3a45515c666e7b8490959fa3aaa29f97928d898784838180807f7f7e7e7e7e7d7d7f8c98a5b2ab9e9184838383838383838383838383838383838383838383838383838383838383837c6e6255483b2f2215080000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d2119191919191919171c1f20272c30394045505a626d74818e97a1adada1968c7f73665c5145382c1f14090000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e130800000000000000000815212e3a47535f6a74818e97a2adada2979083796d675d554d444039352f2d2a252727272728252a2d2e31373940454b51575f676d7884919eaaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000000000000020a121a212931363e424a5053575f6266686d70737576777986929facb1a4988b7e716e6c6564605d55534e47433c352f281f180f0a04000000000000000000000000030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f0300000000000000000000000613202c3945515d67727f8b939ea5ada49d98928f8d8c8b8b7f7266594c3f3326190c00131f2c3946525f6c7985929faca295887b6f6255483c3844505c666f7c87939fa9a69e92857a6d60594f43393c4956626f7c8995a2ac9f9386796c605346392d2013000d1a2733404d5a6673808d998c7f7366594c404c5966727f8c999f928579695e52463a2d2014020000060f1c262e353b3f40423e3a3935302b2625323e4b5865717e8b988c7f7266594c3f3326190c000d1a2733404d5a6673808d998c7f7366594c402e23333f4c5966727f8c99a096918686868686868892999e92857c78716c665e564d443b2f261b25323e4b5865717e8b988c7f7266594c3f3326190c0000000d1925303b44505b666e7b849197a1a69e9590857e756f6d7a85929fa89f948a7e71685d52473e322935414c5664717e8a9aa4a096887b6e6255483b2f2215080000000000000e1b2734414e5a6774818d9aa7b3a69a8d8073675a4d4034271a0d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a99c908376695d5043362a1d1000000008131e2834404b545e696e7b838d92999fa2a9a29e9a9696918f8e8d8c8c8b8b8b8b8a8a8a8c919ba7b4ada19691909090909090909090909090909090909090909090909090909090909090887c6f6255493c2f2216090000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d21140c0c0c0c0c060c1012131b1e272e343e47515b606d7985919ea7b1a99e9185796d6053463b31251a0e02000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c010000000000000005111d2935414c56626f7c87939fa9b0a69f92857b6e675d554b433c342e2924211e1a1b1a1a1a1b1a1e2021262b2e343940454d555c667784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000020b141c242c333b424650545c6065696e73777a7d80818384869298a2aeb3a69a8d807d7b7975716d67625f58534e454039312a211a1108000000000000000000000000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a0000000000000000000000000714212d3a4754606d7a85929fa6ada39c928d8682807f7f7f7c6f6255493c2f22160900131f2c3946525f6c7985929faca295887b6f6255483c424d57606d78839099a4aa9e948a7e71685d52473d303c4956626f7c8995a2ac9f9386796c605346392d2013000e1b2734414e5a6774818d988b7e7265584b404d5a6773808d9a9e9185786b574d42362a1e11050000000a131c242a2f323335312e2d29241e1b24313e4a5764717d8a978d8073665a4d4033271a0d000e1b2734414e5a6774818d988b7e7265584b3f3226333f4c5966727f8c99a8a09e939393939393959fa3a1979289847e786e685e564d41382d2224313e4a5764717d8a978d8073665a4d4033271a0d00000008141e28333f4a545e696e7b8591969fa69f97918a827c76808d97a2a3998f82766c61564c41352c242f3a4754616d7a87939fa1988c7f7265594c3f3226190c0000000000000e1b2835414e5b6874818e9ba7b3a6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2b3844515e6b7784919eaaafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d11000000010c18232e39424d575e696e7980878e92989b9ea1a9a8a19e9c9b9a999998989897979797989ba3adb8b2a8a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d95887b6e6255483b2f2215080000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000003060a0c151d2328353f45515d67717e8b95a0acada1978b7e7164574d42362a1e12050000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c20130400000000000000000713202d3946525e6874818e9aa4afab9f948b7e71695e554b433a3128231c1814120e090d0d0e090e1214151a1d23282e343c434b546a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000020b141c262e363e454d535a61666d71767b8084868a8c8e90919298a2aab4b5a89d928d8a8885817e7a756f6a625f58514b433c332c231a120800000000000000000000000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f04000000000000000000000004101c2934404b5565727f8b98a2aea79c918c807a75737272726f6a5f54473b2e22150800131f2c3946525f6c7985929faca295887b6f6255483c46535f69727f8c95a0aba2988f82766c61564c41352f3c4956626f7c8995a2ac9f9386796c605346392d2013000f1b2835424e5b6875818e978a7e7164574b414d5a6774808d9a9d9184776a5e514430251a0e02000000010a12191f232626282421201d19131723303d4a5663707d89968d8174675a4e4134271b0e000f1b2835424e5b6875818e978a7e7164574b3e3126333f4c5966727f8c99a8a09393939393939393939496999e96918b827a6e685e53493f332723303d4a5663707d89968d8174675a4e4134271b0e000000020b17222d38424d575f696f7c8490949fa3a19e948f888287929fa99f92877c6e625a50443a3028232d3946525e687783909997928e8376695c504336291d100300000000000e1b2835414e5b6874818e9ba7b3a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e110000000007121d27303b454d575e676d747b81868b8e929796989a9b9c9d9d9d9e9e9e9e9e9f9f9f9fa4acb6c0b6aea9a79f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa8aaaaaaaaab94887b6e6155483b2e2215080000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000030b1218232935414b55606c7883909da9b3a99d908377695e53463a2d2114060000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d110400000000000000000714212e3a4754616d7a86929facb0a69c9082766c62574d433930281f18120d07050c111517181c1c1c1c1c1c1c181d23283144515d6a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000000000a141c262e38404850575e616c71787e83888d90939a999b9c9e9fa2aab4b1b2aea49d9a9797928e8b86817c756f6a605d554e463e352c241a11080000000000000000000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f24190700000000000000000000000006131f2c3845515c677683909daaaca0958c7f746d6866656565625f584e43372b1f130600131f2c3946525f6c7985929faca295887b6f62554844505a616e7b86929fa7a79f92867b6e615a50443a302f3c4956626f7c8995a2ac9f9386796c605346392d2013000f1c2935424f5c6875828f978a7d7064574a414e5a6774818d9a9d9184776a5e51442f24180d0100000000040c13181d2020201d1814120f0916232f3c4956626f7c89958e8175685b4e4235281b0f000f1c2935424f5c6875828f978a7d7064574a3d3126333f4c5966727f8c99a09689868686868686868687898d92989e948f847a6e655b5044372b232f3c4956626f7c89958e8175685b4e4235281b0f0000000006111c262f3b454d575f6a6f7a828d92999fa69e9c948f9299a3a2978d80746a5f534b454039342e2a36414c566673808d8c8985817e7064574a3d3124170a0000000000000e1b2734414e5a6774818d9aa7b3a69a8d8073675a4d4034271a0d0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e1100000000000b151e29333b454d555d60696e747a7e8285888a8c8d8e8f9090919191919192929292939aa4afbbaea49d9a93939393939393939393939393939393939393939393939b9ea5afafa499877a6d6154473a2e2114070000000000000003131f2c3946525f6c7985929facada093877a6d6054473a2d21140c0c0c0c0c0c0c0c07060400071118242f3a44505b65717e8b97a2adab9f95877b6e6154483b2e23170c00000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d010000000000000005111e2a36424d5666727f8c98a3aeab9f94897c6f635a50453b31271e160d07000911181d212425292929292929292929292a3744515d6a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000009121c262e38404a525a61696e767e848b9095999d9fa4aca8a9a8a6a5a4a4a4a5a6a8aaa6a9a19e9b98928e88827c736d675f584f473e362c231a1007000000000000000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e13080000000000000000000000000714202d3a4753606d7986929facac9d9083786c605d5659585855544e463c32261b0f0300131f2c3946525f6c7985929faca295887b6f6255484c56616c76828f98a2aba0958c7f72695e53483e32282f3c4956626f7c8995a2ac9f9386796c605346392d2013000f1b2835424e5b6875818e978a7e7164574b404d5a6773808d9a9e9184786b554b4035291d1004000000080d161d24292c2d2c2924211f1a151723303d4a5663707d89968d8174675a4e4134271b0e000f1b2835424e5b6875818e978a7e7164574b3e3126333f4c5966727f8c999e918479797979797979797a7c808590959f969082776c6053463c3126303d4a5663707d89968d8174675a4e4134271b0e00000000000a141d29333c454e585f686d78808790959ea0a69e9c9fa3ab9f92857a6d65605c54514b443f3830303d495663707d83807c7874706c6155493c3023160a0000000000000d1a2734404d5a6773808d9aa6b3a79a8d8174675a4e4134271b090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d100000000000030c172129333b434b51575f62686d7175787b7d7f808283838484848485858585858687939facb9a99d928d86868686868686868686868686868686868686868686868e939eaaac9f9386796c605346392d2013060000000000040a0f131f2c3946525f6c7985929facada093877a6d6054473a2d211919191919191919191313100c0707131d27333f4953606d7985929fabb1a7988b7e7265544a3f34281c10030000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e130800000000000000000714202d3a46525e697784909daab4aa9c9083766b6054483f33291f150c040009121b22292e313236363636363636363636363744515d6a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000006101b242e38404a525c636c717b838a91969d9fa7aaacaba39f9d9b999897979898999b9d9fa3ababaaa29f9b948f8780796e6a615950483e352c22180d0400000000000000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c010000000000000000000000000916232f3c4956626f7c8999a3aea49a8b7e71665b524c4c4c4c4947433c342a20150a0000131f2c3946525f6c7985929faca295887b6f625548525d68717e8a949faaa4999083786d60574d42362c232f3c4956626f7c8995a2ac9f9386796c605346392d2013000e1b2734414e5a6774818d988b7f7265584c404d596673808c999f928578675d5145392c20130600000811191f282f35393a39352f2e2b26201824313e4a5764717d8a978d8073665a4d4033271a0d000e1b2734414e5a6774818d988b7f7265584c3f3226333f4c5966727f8c999e9184776c6c6c6c6c666c6d6f737b8390969f948b7e7165574d42372b313e4a5764717d8a978d8073665a4d4033271a0d0000000000020b17202a333c464e565e666d737c838b91969ea1a9acafaa9d90837d77716d66605d55504a423d353b4854606b7077736f6c656461594f44392d2014080000000000000d192633404c5966737f8c99a6b2a89b8f8275685c4f4230251a0e0200000000000000000000000000000000000000000000000000000102030000000000000000000000000000000000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d100000000000040d161e2429313940454d53565d606468696e707274757676777777787878787879797c8995a2afa79a8d807979797979797979797979797979797979797979797979818e9ba8ab9e928578665b5044382b1f120600000000070e151b1f222c3946525f6c7985929facada093877a6d6054473a2d26262626262626262626201f1c18120b0b17222d3845515d6774818e9aabb5a89c8f8275665c5044382c1f120600000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c0100000000000000000814212e3b4754616e7b8795a0acaea2988a7e7164594f44362d21170d030006111b242d343a3d3e43434343434343434343434344515d6a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000030c18222d36404a525c646e737e8590949da0a8abaaa29f9b9992908e8c8b8b8a8b8b8c8e9092999a9ea1a9aca69e99928d837c706b615a50473e342a1f160c01000000000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c201304000000000000000000000000000a1724313d4a5764707d8a97abac9f93867a6d61544a413f3f3f3c3b37322a22190e040000131f2c3946525f6c7985929faca295887b6f62554f59606d7a85929ea6a89f93877c6f665c50453b3124232f3c4956626f7c8995a2ac9f9386796c605346392d2013000d1a2733404d5a6673808d998c7f7366594c404b5865727e8b989f93867a6d6053473a2d20140900030d19232b313a40454745403b3a37312a2125323e4b5865717e8b988c7f7266594c3f3326190c000d1a2733404d5a6673808d998c7f7366594c402e23333f4c5966727f8c999e9184776b606060605b606163696e7a84919e9d908377695f53463a2d323e4b5865717e8b988c7f7266594c3f3326190c000000000000050e18212a343c444c545c606a6f787e848b9297a1adb8aca0959089837e79726d67605c544f45403a444f5960636a6662605b53554f473e33281c10040000000000000b1825313e4b5864717e8b97a4b1a99d9083766a574d42362a1e1105000000000000000000000000000000000000000000000003080c0e0e0f0b07070401000000000000000000000000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3a89b8f8275685c4f4235291c0f00000000010c161f282f35393a3e3f42474c525458575f6163656768696a6a6a6b6b6b6b6b6c6c6f7c8995a2afa89b8e82756c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c7783909daaa99d9083766a544a3f33281c0f0300000007101920262b2e2f3946525f6c7985929facada093877a6d6054473a33333333333333333333332d2c28231d150c111b2935404b5564717d8a99a3afac9f9285796d6053463a2d201307000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c2013040000000000000000000b1825323e4b5865717e8b98a7b1ac9f9285796d6053473d32201b0f0500010c18222d363f454a4b4f4f4f4f4f4f4f4f4f4f4f4f4f515d6a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000b151e2a343f48525c646e73808a92979fa6aca9a29f98928e8a868381807f7e7e7e7f80818386898d92979ea0a8aba39f9591867d716c61594f463c31281e13080000000000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d1104000000000000000000000000000b1825313e4b5864717e8b97a4ab9e918478685e5242382f32322f2e2b2620191007000000131f2c3946525f6c7985929faca295887b6f625554606b74818e97a1ada1968d80746a60544a3f33291f232f3c4956626f7c8995a2ac9f9386796c605346392d2013000c1925323f4c5865727f8b988e817468554b404a5663707d8996a49a897c6f6356493c30251a0e090c151f2b353d434b5153514b4847433c332f2633404d596673808c988b7e7165584b3e3225180b000c1925323f4c5865727f8b988e817468554b403428333f4c5966727f8c999e9184776b5e53534a505354565e68727e8b9aa095887b6e6155483b2e33404d596673808c988b7e7165584b3e3225180b00000000000000060f18222a323a424b51585f666c71787e85929eabadaba7a09d95908b847f79726d666059514b433d474f54565d595653504949443e352c21170b000000000000000a1723303d4a5663707d8996aab4ab9f928578695e52463a2d20140700000000000000000000000000000000000000000001090f14181a1b1c181413110d0805010000000000000000000f1c2835424f5b6875818e9ba8b3a6998c807366594d402f23180c00000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e0000000008131e28313a4145474b4c4d4e4f5052504d535557595a5b5c5d5d5e5e5e5e5e5f5f626f7c8995a2afa99c908376655b60606060606060606060606060606060605e697885929faba79b8e8174685b4e412d22170b000000040e19222a32373b3c3f46525f6c7985929facada093877a6d6054473f3f3f3f3f3f3f3f3f3f3f3f3a38342e271e150c18242f3a4754606d7a86929facaea298887b6e6255483b2f221508000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d1104000000000000000004101d2935404b556875828e9ba8b5a89b8f8275675d5145392c1f1309000005111d29343f485056585c5c5c5c5c5c5c5c5c5c5c5c5c5c5d6a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000007121d27303c46505a646e73808d929fa2a9aea59e97928c86817d7a77757372717171727375777a7d81858b91969fa3aba7a09892877e716b61584e433a2f24190c03000000000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d01000000000000000000000000000c1925323f4c5865727f8b98a5a99c8f827669564c412f26252522221f1b150e0700000000131f2c3946525f6c7985929faca295887b6f62555c666f7d88939fa9a59e9184796d60584e42382e2117232f3c4956626f7c8995a2ac9f9386796c605346392d2013000a1623303d495663707d8996908377675c51454754616e7a8796a1988b7f7265574d42362a201a19191e27313d474f555d605d5555534e4641382a36424d576976828f99897c6f6256493c2f231609000a1623303d495663707d8996908377675c5145382c333f4c5966727f8c999e9184776b5e51463f4446474d56616d7a87939f978a7e7164574b3e3136424d576976828f99897c6f6256493c2f23160900000000000000000610182029303940454e545b60666d7a85929fa9a19e989ea0a09d97918c857f78706b605d554e463d444849514d4946443f3839332c231a1005000000000000000815222e3b4855616e7b8898a2aeada297877b6e6154473b2e21140a0000000000000000000000000000000000000000030b131a20242728292521201d1913110d0802000000000000000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100400000000000000000000000000000000000000000005121e2a36424d576976838f9ca9b2a5988c7f7265594c3f3226190c000000010d19242f3a434c525457595a5b5c5d5e5d5a54484a4c4d4f5050515151515252525663707d8996a3b0ab9e9285796c605353535353535353535353535353535354616e7b8798a2aeaa988c7f7265594c3f322619060000000a15202a343c4347494c4c525f6c7985929facada093877a6d60544c4c4c4c4c4c4c4c4c4c4c4c4c4645403930271d1213202c3945525d687783909daab4aa978a7d7064574a3d3124170a0000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d01000000000000000006131f2c3845515d677884919eabb5ab988b7e7265554b4035291d100400000915212e3a45505a62656969696969696969696969696969696a7784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000c18232e39434e58626c73808d929ca4adaaa39f938e857f7a75706d67686665646465656668676d7074797e848c9299a1a9aaa29992877d706a5f554c4135291e150a0000000000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e130800000000000000000000000000000c1925323f4c5865727f8b98a5a89b8e8275685b4f42302814191615130f0a040000000000131f2c3946525f6c7985929faca295887b6f6257606d7984919aa4a99e938a7d70675d51463c30261c16232f3c4956626f7c8995a2ac9f9386796c605346392d2013000714212d3a4754606d7a87969286796d60534646525e687884919e9c8f8275695e52463c332a262524293039434f5960676d6765625f58534a41363a46535f697885919286796d6053473a2d201407000714212d3a4754606d7a87969286796d6053463a2d333f4c5966727f8c999e9184776b5e51443338393b46525d687784919e998c7f7366594c40333a46535f697885919286796d6053473a2d201407000000000000000000060e171e272e343c424a505b66727f8c98a2a197918c91969d9fa19e97918b837d746d675f584f473d3b3d44403c3937332d2d28211a110800000000000000000613202d394653606c7985929facb3a9968a7d7063574a3d31261b0f01000000000000000000000000000000000000000b151d252b30343536312d2c2924201d19130c070100000000000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a00000004111d2935414c565d6064656668696a6b69665e54423f414243434444444545454a5764717d8a97a4b0ada297887b6f625548464646464646464646464646414c5665717e8b98aaaea298897c6f6256493c2f2316090000030f1b26323c464e54555959595f6c7985929facada093877a6d60595959595959595959595959595953514b43392e2318111d2935414c566875818e9ba8b2a5998c7f7266594c3f3326190c00000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e13080000000000000000000714202d3a4753606d7986939facaea399887b6f6255483c2f24180c0000000b1724313d4a56626c71767676767676767676767676767676767784909daaa79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000004101c2834404b555f6a717e8b929da4aeaaa298928b817a736d6863605d5559585857585859555d6063676d717980879197a0a8aba39992867c6f675d51453d30261c1106000000000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c0100000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0908060300000000000000131f2c3946525f6c7985929faca195887b6e625f69737f8c95a0aca2978e81756b61554b40342b1e1516232f3c4956626f7c8995a2ac9f9386796c605346392d2013000713202c3945525d6877849199897c6f635349414d566774818e9a9f92877b6e61584e453c3631322f353a424b55606b707a76726e6a645c53483c3b4855616e7b8897908477675c5145382c1f1306000713202c3945525d6877849199897c6f6353493f33333f4c5966727f8c999e9184776b5e5144382e2e35414c566a7683909d9a8d8073675a4d40343b4855616e7b8897908477675c5145382c1f130600000000000000000000050c151d23282f394653606c7884919eaa9e91857f848a90959c9fa19e95918981796e6a60594f463c3237332f2d2b27221b1c17100800000000000000000006121f2b3844505b667683909ca9b3a79a8d807467584e43372b1e1308000000000000000000000000000000000000060f1d272f373c4041423e3a39352f2d29251e18120b0300000000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8897a2adaea298887b6e6155483b2e2215080000000613202c3945525d686d71727374757778767066544b403435363737373838383f4b5865727e8b98a5b1b3a9988b7f7265594f42392e393939393939392d3945525d6875828e9ba8ac9f9285796d6053463a2d201307000006131f2b37434e585f62666666666c7985929facada093877a6d666666666666666666666666666666605c554b4034281c1019242f404d596673808c99a6b3a79b8e8174685b4e4135281b0e000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c010000000000000000000916222f3c4955626f7c889aa4afac9f9286796d6053463a2d2013070000000b1825323e4b5865717e828282828282828282828282828282828286929faca79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000006131f2c3845515c676f7c86929fa4aeaaa29892867e756d68605d5654514b4d4c4b4b4b4c4d4b5153555c60676d737d859196a0a8aba29891847a6d60594f42382e23170c0000000000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c2013040000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faca194887b6e61626e7b86929fa8a69f92857b6e61594f433a2f22190c16232f3c4956626f7c8995a2ac9f9386796c605346392d20130004111d2935414c566875818e9a8d8074655b5044495663707d8996a0998d80736a5f574e4642403f3f41454c545d67707d86837f7b746e64584c40424d5765727f8c988e817467554b4034291c10040004111d2935414c566875818e9a8d8074655b504437333f4c5966727f8c999e9184776b5e51443b3b3b3c44505c667783909d998d8073665a4d4037424d5765727f8c988e817467554b4034291c10040000000000000000000000030b121b27333f4953636f7c8996a1a3998c7f73787d83898f949da0a09d938e847c706b60584e443b302523201f1b1711100b0500000000000000000000030f1c28333f4a546774808d9aaab4aa9d9184776a5f53473a2f24190b0200000000000000000000000000000000030e18212f3941484d4e4f4b4745413a39353029241d150d030000000714202d3a4753606d7a86939facaea399897d706353493f33271b0f030000000000000000000000000000000000000004111d2935414c5565717e8b98a9b3ac9f9285786d6053463a2d2013070000000714212d3a4754606d7a7e7f80818283858276665c5145382f2c2924262a2d37434e586774818e9aa7b4b7aa9d9083776b60544b40352f2b2623282b2f38414c56606d7a85929faca99b8e8275665c5144382c1f120600000815222e3b47545f6a6f72727272727985929facada093877a727272727272727272727272727272726d675c5145382c1f131824313e4b5764717e8a97a4b1a89c8f8275695c4f4236291c0f0000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c201304000000000000000000000b1824313e4b5764717e8a97acb6aa9d908477665c5144382c1f12060000010d1a2734404d5a6773808d8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f9298a2aea79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000004111d2935414c56606d79839198a2aeaea39892867d716c615e56524c474541403f3e3e3e3f404045474b51555c606b6f7b849196a1abaaa0968e81746b60544a3f34281c110600000000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d11040000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faca194877a6e616c76828f98a3ab9f948b7e72685e52473e31281d100916232f3c4956626f7c8995a2ac9f9386796c605346392d201300010d19242f3d4a5764707d8a989184786c6053464653606c7884919e9f92877c6f695f58534d4d4c4c4c51565d666d7983918f8c888174675a4e4147535f6977839097897d7063564a3d2f23180c0000010d19242f3d4a5764707d8a989184786c6053463c323f4c5966727f8c999e9184776b5e5148484848494e56606d7985929f988b7f7265584c3f3a47535f6977839097897d7063564a3d2f23180c0000000000000000000000000005121f2b3744505b6574808d9aa89f92867a6e6c70767c828991959fa39d9691867d706a5f564c41362a2113120f0b0600000000000000000000000000000b17222d3d4a5763707d8a98a2aeaca095887c6f62564c4135291d140a000000000000000000000000000000000915202a33414b53595b5c5854524c4746413a352f271f150b0100000613202c3945515d677784909daab4ab9a8d8073655b5044372b1f140a000000000000000000000000000000000000010c13202c3945515d6775828e9ba8b5a89c8f8275665c5044382b1f12060000000714212d3a4754606d7a878c8d8e8f909186796d60544a403a39352f31363a3f47535f6a7783909daab6b8aca095897d70665c5145413a37312e34383b424a525e68727f8c98a2ada1978a7d7164544a4034281c100400000916222f3c4955626f7c7f7f7f7f7f7f86929facb3a6998c807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6053463a2d20131724303d4a5763707d8a96a3b0a99c908376695d5043362a1d1000000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d1104000000000000000000000c1926333f4c5966727f8c99a5b2a99c8f827669544a4034281c10040000010d1a2734404d5a6773808d9a9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa2aab4a79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000713202c3945525d68727f8c95a0aaafa59f92867d706b625a524c45413a39352f32313132322f35383a40454b515960696e7b849199a3aea89e93897d70665c5044382d22170b000000000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d010000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faca094877a6d68717e8b949faaa3999083776c60564d41352c1f160c0916232f3c4956626f7c8995a2ac9f9386796c605346392d201300000813202d3a4653606d79859296897c7063584e44505b66717e8b959f9991847b6f6a615f57595859555d60686d78818e959c93877c6f625548424d57616e7b88959285796d6053463a2d2013070000000813202d3a4653606d79859296897c7063584e43373f4c5966727f8c999e9184776b5e545454545556585f68707d8a98a298897d7063564a3d424d57616e7b88959285796d6053463a2d201307000000000000000000000000000613202d394653606c7884919eac9b8f82756860646b6f767d838c9299a2a09892867c6f685e52463d32271b1003000000000000000000000000000000000614202d3a4753606d7985929facb1a79a8d8073685d52453b2f261b1106000000000000000000000000000006101a26313c45535d64686964605d5654524c45403931271d1207000004101d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b1106000000000000000000000000000000000007131d28333f4a54606d7a86929facb1a7988b7f7265544a3f34281c10030000000613202c3945515d67778390999b9c9d988a7d71665b514b4745404343424648505a626f7b8895a0acb8bcb1a79d9083796d605b524c464242413f44464d545b616d7a85919eaaa99e9184796d6053463a2e23180c0000000c1925323f4c5865727f8b8c8c8c8c8c9299a3aeb4a89c928c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877a6d6054473a2d21141623303d495663707c8996a3afaa9d9083776a5d5044372a1d1100000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d01000000000000000000000d1a2633404d596673808c99a6b3a79a8e8174675b4e412e23180c000000010d1a2734404d5a6773808d9aa6a9a9a9a9a9a9a9a9a9a9a9a9a9a9acaeb4aca79a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000004111d2935404b55606d7a85929fa7b1a99d938b7e716b60595046413a352f2c2924252524252524292c2e343940454f575e696f7c87929fa7afa59d9183786d60544a3f33281c0f0300000000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e1308000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faca093867a6d6d7a85929ea6a89f92867c6e655b50443b30231a0d040916232f3c4956626f7c8995a2ac9f9386796c605346392d2013000006131f2c3845515c6775818e9b8f82756a6054474a54606c78839098a09691847c746e696766656567676d727a828e939e958d80746a5f534746535e6974818e9a8e8174665c5044382c1f120600000006131f2c3845515c6775818e9b8f82756a6054473e3f4c5966727f8c999e9184776b61616161616162656a6f7a84919e9f9285796d6053463a46535e6974818e9a8e8174665c5044382c1f1206000000000000000000000000000815222f3b4855626e7b8896a1a49a8b7e7164565960636b70787f879297a2a29891847a6e61594f44382c1e13080000000000000000000000000000000006131f2c3845515c6775828f9ba8b2ab9f92857a6d60574d41382d2217110a020000000000000000000001081018222b37424e57646f7475716d6865615e56514b43392f24180c0000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000000000000000000000000000000071118242f3844505b66717e8b98a2aeaca095887b6e6155483b2e23170b0000000004111d2935414c556673808d99a3a8aa9d9083786c605d5553514b50504d53555a626c74818e9aa7b1b6b4b6aca0958d80736d605d56534d4e4e4a5053575e666c75828f97a1ada1978c7f73665c5145382c1c12070000000c1925323f4c5865727f8b98999999999fa3abb4b9ada49c99999999999999999999999999999993877a6d6054473a2d211416222f3c4955626f7c8895a2afaa9e9184776b5e5144382b1e11000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e130800000000000000000000000e1a2734414d5a6774808d9aa7b3a69a8d8073675a4d4034271a07000000010d1a2734404d5a6773808d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000613202c3945515d6773808d97a2adada1978e81746c61594f473e36302924201d181918181819181d1f23282f343d454d57606a727f8c95a0acaca0958b7e71665b5044382b1f1308000000000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c01000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faca39986796d75818e97a2aca0968c80736a5f53493f32291f1108000916232f3c4956626f7c8995a2ac9f9386796c605346392d2013000004101c2834404b55636f7c899494887c6f62594f44505b666e7b869298a0969187807b777473727273767a7f858f939e969083796d60584e434e58616e7b869294897c6f62544a3f34281c100300000004101c2834404b55636f7c899494887c6f62594f443f4c5966727f8c999e9184776e6e6e6e6e6e6e6f72757c839096a0978d8074665c5145434e58616e7b869294897c6f62544a3f34281c1003000000000000000000000000000b1825323e4b5865717e8b98a89f93877a6d61544f545960666d737d859297a2a1968f82756b6054483a2f24190d0100000000000000000000000000000004101c2934404b5563707d8a96a1acaea2988c7f73695e53493f3327221b140b090603000001000205080d1319222a343c47535f6a7481827e7a76716d68605d554b4035291d100400000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f0802000000000000000000000003091119232935404b55606c7884919daab3a99d908477695f53463a2d1c110600000000010d19242f3b4854616e7b86929fa9ab9f958c7f736d6762605d555d5d575f61656d717e8a939da9afa9a7a9aba79c928c7f746d68615f575b5b545c6062696e78808d949ea9a59e9184796d60544b4034281c0b000000000c1925323f4c5865727f8b98a5a5a5a5acaeb4bdbfb6ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a093877a6d6054473a2d211416222f3c4955626f7c8895a2afab9e9184786b5e5145382b1e120000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c0100000000000000000000000e1b2834414e5b6774818e9aa7b3a6998c807366594d4033261a0d000000010d1a2734404d5a6773808d939393939393939393939393939393939393939393938d8074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000714202d3a4753606d7a85929fa9b2a89e91857a6d605a50473d352a251e1913110d070b0b0b070c1013181d2329333b454e58606d7883909da7b1a79e9184786c6053463a3024190d0100000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c20130400000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929fac9f928679707d89939ea9a59d9184796d60584e41382d20170d00000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130000000c18232e394854606b76828f9c8f82756c61564c4a545f69707d8692979f99928d888481807f7f8082868b91979e9691847b6e675c51464b55606a74818d998f82766a605442382e23170c00000000000c18232e394854606b76828f9c8f82756c61564c414c5966727f8c999e91847b7b7b7b7b7b7b7b7c7e82879095a09892857a6d61544b404b55606a74818d998f82766a605442382e23170c00000000000000000000000000010e1b2834414e5b6774818e9aa79e918477685e5246484f545c606b707c85929fa59e93897d7063564c4135291d1104000000000000000000000000000000000c18232f394653606c7884919ea8b2aa9f92867b6e655b50443e332d261d1a1312100b060e090e1214191e2429343c46505a626e7b878f8b86827e7a766d675d5145392c1f1306000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e09060400000100000406090e141a232b353d45515d67717e8a95a0acada2978b7e7265574d42362a1e0a0000000000000814212d3a46535e6974818e97a1aba79c918c8079736f6d676a6a6a6a696e71777e87929fa5afa59d9b9c9fa6a49c918c807a726e6969686768666d6f747b828d929da6a69e938a7e71675d5142392e23180c000000000c1925323f4c5865727f8b989f9f9f9fa0aeb4bcb9b0a8a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f93877a6d6054473a2d211416232f3c4956626f7c8995a2afaa9d9184776a5e5144372b1e1100000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c2013040000000000000000000000000f1c2835424f5b6875818e9ba8b2a5998c7f7266594c3f3326190c000000010d1a2734404d5a6773808686868686868686868686868686868686868686868686868074675a4d4134271a0e0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000006121e2b37424d5765717e8b98a2aeaca0968b7e71685d52483e352b2319130d08040100000000000004070c12182129333d44505c66707d89959fabaca0968a7d7064564c4135291d110400000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d110400000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929fac9f9285797984919ea5a99d93897d70675c51463c2f261b0e0500000916232f3c4956626f7c8995a2ac9f9386796c605346392d201300000007121d2c38434f5963707d8994948a7d70685d52454d57606b707d858f949c9f9a95918e8c8b8c8d8f92989e9c938e847b6e695f554b45515c676f7c879394897c6f63584e4330261c1106000000000007121d2c38434f5963707d8994948a7d70685d52454c5966727f8c99a196918787878787878788898b8f93999e9691867d6f685d524245515c676f7c879394897c6f63584e4330261c11060000000000000000000000000004111d2a3744505d6a7783909da89b8e827568564c413d424a5159606a707d8a939ea69c8f8276685d5245392c2013070000000000000000000000000000000007121f2b3844505b66727f8b96a1acaea2988f82776c605a50443f382f2b26201f1c171b1a1b1a1e2124292f353e464e58626c75828f9999928f8b8682796d6053473a2d201407000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312100c070e070c1013131a1f262a353d47505a606d7984919ea7b1a99f9285796d6053473b31261a0e00000000000005121e2a36424d57616e7b859299a3aba39c928d84807c7a7877767677787b7e838b9299a3aea69d938e90949fa6a39c928d857f7b777675747576797c80868f949da4a69f948e81746c61554b4030271d1207000000000c1925323f4c5865727f8b939393939393a2aab4b3a89e9693939393939393939393939393939393877a6d6054473a2d21141623303d495663707c8996a3afaa9d9083776a5d5044372a1d1100000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d11040000000000000000000000000f1b2835424e5b6875818e9ba8b2a6998c7f7366594c403326190d000000000d1926333f4c58646e73797979797979797979797979797979797979797979797979746e64584c3f33261a0d0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000814212e3a47535f697683909daab4aa9e9184786d60564c41362d2319110802000000000000000000000001070f172128343f4a54606b7783909daab2a89b8f8275685d5245392c201307000000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d0100000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929fab9e918578808d96a0aca1978e81746b60554b40342a1d140a0000000916232f3c4956626f7c8995a2ac9f9386796c605346392d2013000000000f1b27323d4854606b7682909991847a6d605b51484f59606b707b828a8f939a9a9d9a9998989a9c9a99928f8981796e695f574d47505a606d798491988f82766b6054463d321e150a000000000000000f1b27323d4854606b7682909991847a6d605b514c5966727f8c99a8a19e949494949494949495989c9a97928d847d6f6b60564c47505a606d798491988f82766b6054463d321e150a000000000000000000000000000004101d2935404b556b7885919ea6998c807366594d40303940444f58616b75818e9ba99f92867a6d6054473a2d21140700000000000000000000000000000000030f1c28333f4a54606d7984919ea6b0aa9e948c7f726c615a5049413c37312d2b2823272728252a2d2f353a41454f585f6a717e8b939ea39f9c998f8275675d5145392c1f13060000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c181b1a1b181c1f20262b31363f474f59616c74808d96a1adada2978d8073675d5145392a1f1409000000000000020e1a25313b46525e69707d879299a1a9a49c96918d8986858483838485888b90959fa3aba59d948e818390949da5a49d97928c8884828181828385898d92989ea6a49f948f82796d605a5043392f1e150b00000000000c1925323f4c5865727f8686868686868998a2aeafa2968c87868686868686868686868686868686867a6d6054473a2d21141824313e4b5764717e8a97a4b1a99c8f8376695c504336291d10000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d010000000000000000000000000e1b2834414e5b6774818e9aa7b3a6998d8073665a4d4033271a0d000000000b17232f3b47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645c52473c3023170b0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000815222f3b4855626e7b88959fabaea3988b7e72665c50443a2f241b1107000000000000000000000000000000050f17232e38424f5964717e8a98a2aeac9f92867a6d6054473a2d2114080000000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e13080000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faa9d91847b87929fa8a69e92857a6d61594f43392e22180b020000000916232f3c4956626f7c8995a2ac9f9386796c605346392d2013000000000a16212c38444f59626f7c8692978e81746d625a50474f5960696e767d83878b8e909192929291908e8b86827c756d675f574d474f59626c73808d9592867c6e62594f44342b200c03000000000000000a16212c38444f59626f7c8692978e81746d625a505966727f8c9393939393939393939399929291908d8a8580796f6b60594f474f59626c73808d9592867c6e62594f44342b200c03000000000000000000000000000006131f2c3945515d677986929fa5988b7f7265584c3f322e343d464f59626f7c8997a2a3998a7d7164574a3e3124170b00000000000000000000000000000000000b17222d3845515c67717e8b949ea9b0a69f92877e716c605b534d47423c3a38342e34343531363a3b41454c5159616a6f7c86929fa5aea99f93877c6f62554b4035291d100400000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c282327272723282c2d31373b42465159606b717e8a929da8b1a79f92857a6d61554b4035291d10040000000000000009141f2a36424d57606b717e8792979fa2a8a19e999a9391909090919297989da0a7a8a19e938e82797a828e939da0a8a19e9996918f8e8e8f9092989a9fa3a7a09a938d82796d675d51483e31281d0c0300000000000b1824313e4a56626d7279797979797986929facada093877a7979797979797979797979797979797976685d5245392c20131926333f4c5966727f8c99a5b2a79b8e8174685b4e4135281b0e0000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e1308000000000000000000000000000e1b2734414e5a6774818d9aa7b3a79a8d8074675a4d4134271a080000000007131f2b36404a52585a6060606060606060606060606060606060606060606060605a58524a40362b1f13070000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000030f1c28333f4a5465727f8b98a7b1ac9f92867a6d60544a3f32281e1209000000000000000000000000000000000006111c26303d4753606d7a85929facaea3998b7e7164584b3e3025190e02000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c010000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faa9d9083839099a3aa9f948a7e71685d52473d30271d0f06000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130000000004101c27333d47535f6a737f8c95938c7f726c615950444f575f616b70767b7e8183858586858583817e7a756f6a605d554d445059606b717e8b92958c7f736a5f53473d3222190f000000000000000004101c27333d47535f6a737f8c95938c7f726c61595966727f86868686868686868686868686858483807d79736d6760594f445059606b717e8b92958c7f736a5f53473d3222190f0000000000000000000000000000000714202d3a4753606d7a8699a3a4978b7e7164584b3e312328343e4653606c7985929fab998c7f7266594c3f3326190c000000000000000000000000000000000006111c2834404b55616c75828f97a2abafa39992877e726c655f57534d4946443f41414141424246484c52555d606b707c859298a2aeada2978f82756a5f5343392f24180c00000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa4aeaaa0958b7f72685e5243392f24180d0100000000000000030e1a25303b454f59626c717d858d92989d9fa4aca49f9e9d9d9d9d9ea1a9aba49f9c96918a81786d6d78818991959c9fa3a8a09e9c9b9a9b9c9fa2aaa39f9b95908880786d675d554b40362c1f160c0000000000000915222e3a46515b62656c6c6c6c6c7985929facada093877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5d564c4135291d111c2934404b556774818e9aa7b3a6998c807366594d4033261a0d00000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c01000000000000000000000000000d1a2733404d5a6673808d99a6b3a89b8e8175685b4e422f24190d01000000020e19242e3840474c4d5353535353535353535353535353535353535353535353534d4c4740382f24190e030000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000006121f2b3844505b6675828f9ba8b5a89b8f8275685d5242382e20160c000000000000000000000000000000000000000a15202c3945515d6775828e9ba8b4ab9b8e817468564c41362a1e11050000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c201304000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929fac9f928790959faba2988f82766c61564c41352b1e150b00000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d201300000000000b16212b37434e58606d7883909793887e716b625a514a4d53596163696e71747678797979787674716d68626058514b4a505a616b707d8792979083786d60584e43352b2110070000000000000000000b16212b37434e58606d7883909793887e716b625a636d727979797979797979797979797978777673716d67605d554f4a505a616b707d8792979083786d60584e43352b2110070000000000000000000000000000000613202d394653606c7986929fa5988b7e7265584b3f3025212b3744505b657784909da79a8d8074675a4d4134271a0e0100000000000000000000000000000000000c18232e3943505a616e7b859299a3afaba39992877f776e69615f575553504a4e4e4d4e4f4d5354565d60676d747d859297a1aaaea49e92857b6e61584e4331271d1207000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d494644404141414141404546494d53575f616d727d869298a2aeaca2989083786c60564c4131281d120700000000000000000009141f29333d47505a626b6f7a80868c90939a999b9d9e9e9f9f9f9e9d9c9a9993908b847d746d66666d747d848a8f92999a9c9d9e9f9f9f9e9d9b9998928f89837d746d665d554c43392f241a0d0400000000000006121e29343f49515658606060606c7985929facada093877a6d6060606060606060606060606060605f524c443a2f2419131f2c3845515c677783909daab4aa988b7e7165584b3e3225180b000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c20130400000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f837669554c4135291d11040000000008121c262e363b3f40464646464646464646464646464646464646464646464646413f3c362f261d1208000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000613202d394653606c7885929fabb2a9988b7e7165564c4130261c0d040000000000000000000000000000000000000004101d2935404b5565717e8b98aab3ab9e918478685e5246392d20140700000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d1104000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929faca39992999fa7a79f92867b6e615a50443a3023190c0300000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130000000000050f1a26313c44505c666e7b85929992867d716c605c544e464f55575e6165676a6b6c6c6c6b6a6765615e56544e454e545c606c717d86929992857b6e665c50463c3123190f00000000000000000000050f1a26313c44505c666e7b85929992867d716c605c63666c6c6c6c6c6c6c6c6c6c6c6c6c6b6b696764605c55514b4e545c606c717d86929992857b6e665c50463c3123190f0000000000000000000000000000000005121f2b3744505b657885929ea6998c807366564c41362e2e2e3844505b667784909da79a8d8074675a4d4134271a0e01000000000000000000000000000000000007121d27303e46525e69707d87929fa4acaba399938c827b746e696562605c545b5a5a5b5c575e6164686d737a808a9297a1a9afa59d928a7e70695e52463c321f150b010000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa49a92867c6f665b50443a301f160c01000000000000000000030d17212c353f48505960686d737a7f83878a8c8e90919192929292908f8d8a86837e79706c605c5c606b70787d82868a8d8f919292929292908f8c8986827d776f6b605c544c433a31271d120800000000000000010d18232d373f464a4c5353535f6c7985929facada093877a6d6054535353535353535353535353535345413a32281e1314202d3a4753606d7986929facaea298887c6f6255493c2f2216090000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d110400000000000000000000000000000a1724313d4a5764707d8a97abb5ab9e918478675d5145392c20130600000000010a141c242b2f33343939393939393939393939393939393939393939393939393433302b241d140b01000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000815222f3b4855626e7b8897a2adada197877b6e6154483b2f21140a0000000000000000000000000000000000000000010d18242f3b4855616e7b8898a2aeada196877a6e6154473b2e21140800000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d01000000000000000000000000000000000000000c1926323f4c5965727f8c98a5a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929facaba39fa3ababa0958c7f72695f53483e32281e11070000000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130000000000000a152028343f4a545f696f7d87929892877e736d665f58524c484d5254585b5d5e5f5f5f5e5d5b5854524c474b51575f666d737e87929892877d6f695f544a3f342a20110700000000000000000000000a152028343f4a545f696f7d87929892877e736d665f586060606060606060606060605f5f5e5d5a5753514b4b51575f666d737e87929892877d6f695f544a3f342a20110700000000000000000000000000000000030f1b27333f49536a7784909da99c8f8276685e52463f3b3b3b404653606c7985929fac998c7f7266594c3f3326190c000000000000000000000000000000000000000b151e2a36424d56606b717f8b939aa3ababa49f948f86817b76726f6d6668686767686869696e71757a7f858d929ea2a9afa59e938d80746c61574d42342a200d030000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5a5b545c606266696e747b828b9299a2aaaea39f93887e706a5f544a3f32291e0d040000000000000000000000050f1a232d363f474f565d60686e72767b7d7f82838485858685858482807d7a76716d66615a51515960666c71767a7d80828485858685858382807d7a75706b636059514a423a31281f150b00000000000000000006111b252d343a3e3f4646525f6c7985929facada093877a6d6054474646464646464646464646464639352f282016101d2935404b5563707d8a99a3aeac9f9285796d6053463a2d2013070000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d0100000000000000000000000000000916222f3c4955626f7c8899a3aeaca196877a6d6054473a2d2114080000000000020a12191f2326272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726231f19120b0200000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000a1724313d4a5764707d8a97a9b3ab9e918578695e53463a2d2114020000000000000000000000000000000000000000000714212d3a46535f697885929fabb2a896897d7063564a3d3023170a000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e1308000000000000000000000000000000000003060809192633404c5966737f8c99a6a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929facb5afacafafa4999083786d60574d42362c20160c000000000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d2013000000000000030c17232e38424d57606b717e8a9299928b80786f6a605d56524c46474b4e505252535252504e4b47464b51555d606a6e787f889299928a7e716b60574d42382e22180e000000000000000000000000030c17232e38424d57606b717e8a9299928b80786f6a605d56524c5353535353535353535251504d4a474b51555d606a6e787f889299928a7e716b60574d42382e22180e0000000000000000000000000000000000000b17222d414e5a6774818d9aa99f92867a6d6159504a4847484b515b636f7c8998a2a49a8a7e7164574b3e3124180b00000000000000000000000000000000000000030c1925303b444f59626d727f889299a1a8afa69f99928e88837f7c797775747474747576787b7e82868c92979da4adaba39f938e81786d605a50453b3022180e0000000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39f918c7f726c61584e42382d20170d0000000000000000000000000008111b242d353d444c52565e6165696e71737577777879797978777573716e6864605c545044454f545b6064686d717376777879797978777573706d67636059544f44403930281f160d030000000000000000000009131b23292e31323946525f6c7985929facada093877a6d6054473a3939393939393939393939392c29241e160e19222c3945515d6774818e9aabb4a99c908376665c5044382c1f120600000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e13080000000000000000000000000000000713202d3a4653606d7986929facb2a896897c6f6356493c3025190e00000000000001080e1317191a20202020202020202020202020252728292622211f1a20201a1a17130e08010000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000c1926333f4c5966727f8c99a5b2a99c8f827669574d42362a1e120500000000000000000000000000000000000000000005121e2b37424d576a7683909da9b2a5988c7f7265594c3f3226190c0000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c01000000000000000000000000000000040a0f1315161a2734404d5a6773808d9aa6a79b8e8174685b4e4135281b0e0200000000000000000000131f2c3946525f6c7985929facb8bbb9b2a89f93877c6f665c50453b31241a0e04000000000003050916232f3c4956626f7c8995a2ac9f9386796c605346392d20130000000000000006111c26303c454f59616c717e879298928d837c736d68605d5653514a4a484847464748484a4a5053555d60676d737b838c939892877e716c61594f453c30261c0f060000000000000000000000000006111c26303c454f59616c717e879298928d837c736d68605d5653514a4a484847464748484a4a5053555d60676d737b838c939892877e716c61594f453c30261c0f06000000000000000000000000000000000000061724313d4a5764707d8a97a2a3988d80736b605c54555455555c606d75828f9caa9f93877a6e6154473b2e211408000000000000000000000000000000000000000009141f29323d47505a626d727e8791969ea5acaba39f9a95908c8885848281818081828385878b8f92989fa2a9ada8a099928d81786d665c50483e33291f100600000000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6aea8a199928b7f736d635a50463c2f261c0e05000000000000000000000000000009121b232b323a41454c5254565e616466686a6b6b6c6c6c6b6a696764615e5653514a423e3d424a5053565e616467696a6b6c6c6c6b6a686663605d55554f48433d342e271e160d040000000000000000000000010911181e22242c3946525f6c7985929facada093877a6d6054473a2d2d2d2d2d2d2d2d2d2d2d2d201d19130e17202935404b55606d7985929fabb1a7988c7f7265544a3f34281c1003000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c0200000000000000000000000000000006131f2c3845515c677783909daab2a6998c7f7366564d41362a1c11060000000000000002070b0d0d131313131313131313151e252c31343536322f2e2b26201f1c18120b0300000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000e1b2834414e5b6774818e9aa7b3a69a8d8073675a4d4031251a0e02000000000000000000000000000000000000000000020e1a2631414e5b6874818e9ba7b3a79a8d8074675a4d4134271a0e00000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c201304000000000000000000000000000000070f151b1f2222262b38434e586875828f9ba8a79a8d8074675a4d4134271a0e0100000000000000000000131f2c3946525f6c7985929facacacacada1968d80746a60544a3f33291f120900010407070c10121316232f3c4956626f7c8995a2ac9f9386796c605346392d201300000000000000000a151e2a333d47505a626c717d869196959087807a736d6863605c54575554545354545557545c6063676d727a7f8690959691867d716c625a50473d332a1e150a0000000000000000000000000000000a151e2a333d47505a626c717d869196959087807a736d6863605c54575554545354545557545c6063676d727a7f8690959691867d716c625a50473d332a1e150a000000000000000000000000000000000000000714202d3a4753606d7a85929ea89f93887d726d666362616263676d737f8b949ea69d908376685e5246392d2014070000000000000000000000000000000000000000020d17202b353f48515b626c717d848e939da0a7abaca79f9d989892908f8e8d8d8e8f909298979c9fa3aaada9a29f96918780786c665c544a3f362c21170d00000000000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808181828486898c90959a9fa3ababa49f9691877e736d635b51473e342a1d140a00000000000000000000000000000000091119202830353b4146474d525457595b5d5e5e5f5f5f5f5d5c5a5754524c46444039302f383f44464c5254575a5c5e5f5f5f5f5f5d5c595653514b48443d383228231c150c040000000000000000000000000000060d12151f2c3946525f6c7985929facada093877a6d6054473a2d212020202020202020201413110d0f182029323b45515d67727e8b97a2adab9f95887b6e6155483b2e23170c000000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c2013040000000000000000000000000000000004101c2834404b556774818e9aabb5a99c908376685e5246382e23170c0100000000000000000000010606060606060008111e272f373d4042433f3b3a37312d2c29231d150d04000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000101c2936434f5c6976828f9ca9b2a5988c7f7265594c3f322619090000000000000000000000000000000000000000000000091a2733404d5a6673808d99a6b3a89b8e8175685b4f4235281c0f00000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d1104000000000000000000000000000007101920272b2e2f31363e4754606a7885919eabaa998c7f7266594c3f3326190c0000000000000000000000131f2c3946525f6c7985929f9f9f9f9fa59e9184796d60584e42382e21170d02080d111314181c1f201f232f3c4956626f7c89959f9f9f9386796c605346392d20130000000000000000030c18212b353e48505a626b707c848e9399928d85807a75706d666664626160606061626466666d70757a7f858c9298938e847c706b625a50483e352b21180c03000000000000000000000000000000030c18212b353e48505a626b707c848e9399928d85807a75706d666664626160606061626466666d70757a7f858c9298938e847c706b625a50483e352b21180c03000000000000000000000000000000000000000613202c3945515d67727f8c96a1a49a92877f7873706e6e6e7073798088939fa69f948a7e7164564d41362a1e1105000000000000000000000000000000000000000000050e19232d363f49515a626b6f7a818990959c9fa6a9aca9aaa29f9d9b9b9a9a9b9b9c9fa2aaa8acaaa9a19e97928c847c736c665b544a42382e241a0f050000000000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8d8e8f919298999d9fa7acaca69f99938d847d716c635b51493f352c22180b020000000000000000000000000000000000070e161e24293036393b4246474a4c4f50515252535252514f4d4a4746413b38342e27262d33383a4146474a4d4f515252535252504f4d4a4745403a38332c272118120b03000000000000000000000000000000000106131f2c3946525f6c7985929facada093877a6d6054473a2d21141313131313131313060b0f151a212a323b444e58606d7984919ea9b2a89d908376695f53463a2d1c11060000000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d110400000000000000000000000000000000000c18232e3e4a5764717e8a99a3afac9f93877b6e61544a3f34281d13070000000000000000000000000000000000040e1a232f3941484d4f504c4847433d3a38342f271f160e040000000000000000000001040606111e2a3744515d6a7784909daaa99c8f8376695c504336291d10060000000000000000000000000000000000101d2a3743505d6a7683909da9b1a4978a7e7164574b3e3124180b00000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2a99c908376695d5043362a1d10000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d0100000000000000000000000000040f19222b32373b3c3f4246505a626f7c8997a1ada298897d7063564a3d3023170a0000000000000000000000131f2c3946525f6c798692939393939393938a7d70675d51463d30261c0f080d13191d202125292b2c2c292f3c4956626f7c89939393939386796c605346392d2013000000000000000000060f19232c363f485059616a6f7a818a919697928c86817d797673706f6e6d6c6d6e6f707376797d81858c929796918a817a6f6a615950483f362c23190f060000000000000000000000000000000000060f19232c363f485059616a6f7a818a919697928c86817d797673706f6e6d6c6d6e6f707376797d81858c929796918a817a6f6a615950483f362c23190f06000000000000000000000000000000000000000004111d2935404b55606d79849197a1a399928b84807d7b7a7b7d80858d939aa4a0968f82766c6155443b3025190e020000000000000000000000000000000000000000000008111b242d373f48505960686d757d83898f94989c9fa3aba7a8aaa8a7a7a7a7a8a9a9a7a5a8a09e9a97918c8580796f6b605b544a423830261c110800000000000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3aaaaababa39f9b948f878079706b625a514940372e231a100600000000000000000000000000000000000000040c13191e252a2d30363a3b3e4042444445464646454442403e3b3936302c28231c1c22282b3036393a3e40434445464646454442403d3a39352f2c27211b160c070000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d21140c0c0c0c0d090e1114171b1f262b333b444c56606a73808c96a1adada1968a7e7164574d42362a1e0a000000000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d0100000000000000000000000000000000000714212d3a4754606d7a86929facafa4998c7f72665c50443a2f24181007000000000000000000000000000000030c16202c35414b53595b5c5955534e4a47454039312820160c020000000000000004090e111213131e2a3744515d6a7784909daaa99c8f8376695c504336291d13130807050200000000000000000000000000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1aa9d9083776a5d5044372a1d110000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e130800000000000000000000000000000a15202b343c4347494c4d5359616c75818e9ba9aa9f92867a6d6054473a2d2114070000000000000000000000131f2c3946525f6c7986868686868686868681756c61554b40342b1e150c13191e24292c2d323638393836323c4956626f7c86868686868686796c605346392d20130000000000000000000007111a242d363f474f5860686d747d848c929898928e8a8582807d7b7b7a797a7b7b7d8082858a8e929898928c847d746d675f584f473f362d241a11070000000000000000000000000000000000000007111a242d363f474f5860686d747d848c929898928e8a8582807d7b7b7a797a7b7b7d8082858a8e929898928c847d746d675f584f473f362d241a1107000000000000000000000000000000000000000000010d18242f3a45515d676e7c8592979fa39f96918c89888788898d91979fa49d9691847b6e615a504532291f140800000000000000000000000000000000000000000000000009121b252d363f474f565e616b70787d82878b909299989a9c9d9e9f9f9f9e9e9d9c9b999696918d89857f7a736d676059504a42382f261e140a00000000000000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a29e9b99928e88827c746d676059504840372e251c110800000000000000000000000000000000000000000002080d14191e20252a2d2e31333537383839393938373634312e2d2a251f1c181211171c1f252a2d2e313436373839393938373533302d2c29241d1c160f0a04000000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d211919191919191a191e2022272b31373e454d565e686f7c87929fa8b1a79e9184786d6053463b31261a0e0000000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e13080000000000000000000000000000000000000713202c3945525d6876838f9ca9b3ab9e9184796d60554b4035292219100903000000000000000000000000040c151e28323d47535d65686965625f585653514b433a32281e1308000000000000080f151a1d1f2020202a3744515d6a7784909d9f9f9c8f8376695c504336292020201514120e09030000000000000000000000121e2b3845515e6b7884919eabafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9184776a5e5144372b1e1100000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c0100000000000000000000000000030f1b27323c464e545559575f616b707e8a939eaaa3988e8174675d5145392c2013060000000000000000000000121f2b3844515d6974797979797979797979756f65594f433a342e261e191e252a3035393a3f43454645433f3a4754606a6f79797979797979766c5f5346392d2013000000000000000000000009121b242d353e464e565d606b70797f858c91969a97928f8d8a888787868787888a8c8f92979a96918c857f79706b605d554e463d352d241b120900000000000000000000000000000000000000000009121b242d353e464e565d606b70797f858c91969a97928f8d8a888787868787888a8c8f92979a96918c857f79706b605d554e463d352d241b1209000000000000000000000000000000000000000000000007131d2935404b555f6a6f7d858f949c9fa09e999695949596999ea19f9b938e847b6e695e52483e3320170d020000000000000000000000000000000000000000000000000009131b242d353d444c525960656c70767b7f8386898b8d8f9091929292929190908e8c8a8784807c79726d67605d554f443f382f261d140c02000000000000000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817c766f6a605d554f473e362e251c130a00000000000000000000000000000000000000000000000002080e1114191e20212426282a2b2b2c2c2c2c2a29272421201e1914100c07060b0f13191d20212427292b2c2c2c2c2c2a29262320201d1813100b050000000000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d6054473a2d2525252525262627252a2d2d33373c434750575f686e7a849199a3afaa9f958b7e71665c504438291f140900000000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000004111d2935414c5664717e8a97a1adaca0968b7e71675d51453e342b221a140e09060400000101000205060c10161e27303a444f59656f7576726e6a6763605c554c443a3025190d010000000009121920262a2c2c2d2d2d3744515d6a778490939393938f8376695c5043362d2d2d2d22211e1a140e0600000000000000000000121f2c3845525f6b7885929eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e11000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c201304000000000000000000000000000006131f2b37434e5860626567696e747d86929fa5a49f92867b6e61554c4135291d11040000000000000000000000101c2935414d5862696c6c6c6c6c6c6c6c6c68655d535246443f383026252a30363a4145474b4f525352504c47454e5860626c6c6c6c6c6c6c6c645a4f43372b1e1200000000000000000000000009121b232c343c434c525961676d737a7f84898e91979899979594939393949597999897918e89847f7a736d676159514c433c342c231b1209000000000000000000000000000000000000000000000009121b232c343c434c525961676d737a7f84898e91979899979594939393949597999897918e89847f7a736d676159514c433c342c231b1209000000000000000000000000000000000000000000000000010c18242f39434e58606b6f7b828a8f94979a9d9e9e9f9f9e9d9a99928f89817a6e695e574d42362c220e0500000000000000000000000000000000000000000000000000000109121b232b323a41464f535b6063696e7276797c7f8182848585868685848483817f7d7b7773706d66605d55514b433d332d261d140b020000000000000000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817e7a746f6a626058514b433d352d241c130a0100000000000000000000000000000000000000000000000000000205090e11141417191c1d1e1f1f201f1f1e1c1a171414110d08040000000003080d111314171a1c1e1f1f201f1f1d1c1a171413110d070100000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d6054473a32323232323232333430363a3b3f44464e535a61696e7a839096a1abaea3989083786c60544a3f34281c1003000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c20130400000000000000000000000000000000000000010d19242f3a4653606d7985929ea9b2a89e9184796d605a50463d342a251f1a1313100c070e0e080e1114171c1f283039424c56606b7581837f7b7774706d675e564c4135291d110500000008121b242b313638393939393844515d6a77838686868686868276695c504337393939392e2d2b261f180f06000000000000000000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e110000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d110400000000000000000000000000000815222e3b4754606a6f7274777b81879298a2a39f928c7f72695f53433a2f24190d0100000000000000000000000d1925303b4650585d5f60606060606060605b5e60605f53504a42382e30363a41464c5254585c5e5f5f5c5853514b4e5456606060606060605f5a52493e33271b0f0000000000000000000000000009111a222b313a41454f555d60686d72787d8185888b8d8f919292939292918f8d8b8885817d78726d68605d554f45413a312a221a11090000000000000000000000000000000000000000000000000009111a222b313a41454f555d60686d72787d8185888b8d8f919292939292918f8d8b8885817d78726d68605d554f45413a312a221a1109000000000000000000000000000000000000000000000000000007121d27313c464f5960696e777d82888b8e909192929291908d8b86827d746d685e574d453b30241a100000000000000000000000000000000000000000000000000000000000091019202830363d41495053575e6165676d6f7274757778787979787877767472706e696763605c54514c45403a3128221c140b0200000000000000000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868585848382807d7b7975716d68625f58544e45403a312b231b120a01000000000000000000000000000000000000000000000000000000000000020507080b0d0f11111213131312110f0d0b080705010000000000000000010507070b0d10111213131312110f0d0a07060401000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d6054473f3f3f3f3f3f3f3f404042424647495053585f626c717b839095a0a8afa59f92867c6f655b5042382e23170c000000000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d1104000000000000000000000000000000000000000008131f2c3845515c6773808c97a1adada1968d80746c61584e463e36302a26201f1c181b1a1b1b191e2023282c313a424a545d68707d898f8c8884807d796d685e5246392d2013070000040f19242d353d424546464646453d4f5b6771777979797979797670665a4e3b44464646463b3a37312a21180e030000000000000000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d100000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d0100000000000000000000000000000916222f3c4955626f7c7f8084888e9299a29f99928c80746d63574d4231281e130800000000000000000000000008141f2a343e464d51525353535353535761686b6c6c6c605c544a3f353a41464c52565d6065696b6c6b6965605c554e474953535353535353534f4940372c21160a00000000000000000000000000000810191f282f353e434b51565d60666c7074787b7e80828485858685858482807e7b7874706c66605d56514b433e352f281f1910080000000000000000000000000000000000000000000000000000000810191f282f353e434b51565d60666c7074787b7e80828485858685858482807e7b7874706c66605d56514b433e352f281f191008000000000000000000000000000000000000000000000000000000010b151f2a343d474f575e656c70767b7e8183848586858483817e7b756f6b605d564d453b33291f1208000000000000000000000000000000000000000000000000000000000000070e161e252a2f383f44464d5354555c60636567696a6b6c6c6c6b6b6a69686663615e575653504a45413a352f281f17110a020000000000000000000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433d352f281f1911090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d60544c4c4c4c4c4c4c4c4c4c4d4e4d5254535b60636a6e757e859195a0a7afa59d938b7f726a5f53493f30261c1106000000000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d01000000000000000000000000000000000000000004101c2834404b55606d7a85929ea7b1a89d928a7e706a60585046423b36312d2c282327272728252a2d2e34383e434c545c666d7a84919c9896918d89857a6d6154473a2e21140700000915202b353f474e5253535353514948555f676a6c6c6c6c6c6c69665e54474851535353534846423c332a1f14090000000000000000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d1000000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e13080000000000000000000000000000000e1a2734414d5a6774808c8d90959b9fa098928e877f746e645b51453c311f160c01000000000000000000000000020d18222c343b4144464646464646505c6873787979796d665c504441454c52565e61686d727678797876726d675f584e464646464646464646433e372e251b1005000000000000000000000000000000070d161e2429313a40454c52545b6063656c6e717476777879797978777674716e6c6563605b54524c4540393129241e160d070000000000000000000000000000000000000000000000000000000000070d161e2429313a40454c52545b6063656c6e717476777879797978777674716e6c6563605b54524c4540393129241e160d070000000000000000000000000000000000000000000000000000000000030d18222b353d454d535b6063696e71747677787978777674716e69636059524c433b332921170d0000000000000000000000000000000000000000000000000000000000000000050c13191d262d33373b4246484b515356585a5c5d5e5f5f5f5f5e5d5d5b595754534d4946443f38352f29241d160d0600000000000000000000000000000000000000000000000000080e171f252a33383d44484d5254545c60626567686a6b6b6c6c6c6b6a6a68666462605c5454524c47433c383229241d160d07000000000000000000000000000000000000000004080a0b1313131313131311110e0b060100000000000000000004090e11121313131313131313070705010000000000000000000000060b0e1011131313131313130a0a0804000000000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d6058585858585858585859595a5b565e6164656c70757c828a9297a0a8afa59e938e81746d62584e41382d1e150a000000000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e1308000000000000000000000000000000000000000000000c18232e3945525d68727f8c959faaaea49f92867c6f6a625a524d46423c3a38342e343434353036393b3f444650565d666d78828f96a0a8a09e988d8074685e5246392d20130700000e1a26313d4751595e5f6060605e56544f555b5d6060606060605c5a544d53555d6060606055534d453c31261a0e0200000000000000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6b3a89b8f8275685c4f4235291c0f000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c020000000000000000000000000000000e1a2734414d5a6774808d9a9da0a7a0969186817b726d645c53493f332a1f0d04000000000000000000000000000006101a222a303538393939393945525e6b7885868686786d60534a4c51565e61686d737a7f82858685837f796f6a5f584e42382e393939393937332c251c13090000000000000000000000000000000000040c13191f282f353a41454a5053535b60626567696a6b6c6c6c6b6a69676562605b5353504a45413a352f281f19130c0400000000000000000000000000000000000000000000000000000000000000040c13191f282f353a41454a5053535b60626567696a6b6c6c6c6b6a69676562605b5353504a45413a352f281f19130c0400000000000000000000000000000000000000000000000000000000000000060f19232b333b41495053575f6164676a6b6b6c6c6b6a6764615e57544f45413a312921170f0500000000000000000000000000000000000000000000000000000000000000000002080b141b22272b31363a3b404547494c4e4f5152525353525151504e4c4a4846423d3a38342e29241e18130c04000000000000000000000000000000000000000000000000000000050d141a21272c33383b4246474a505355585a5c5d5e5f5f5f5f5e5e5d5b59575553504a4745413a37312b272018130c0400000000000000000000000000000000000000050c11141717202020202020201e1d1b17120c0400000000000000080f151a1d1f20202020202020201413110d080200000000000000040b11171a1d1e20202020202020171614100b0500000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a6d656565656565656565656566676869696e7074787d81878f939ea1a9aca49f938e81786d605b51463c2f261b0c030000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000007121d2935414c56606d78839098a2acaea29892857c716c615e57534d494645404141414141424146474a50535a61686d78818e949fa8b0a69f92857a6d61564c4135291d11050000111d2a36424e59636a6c6c6c6c6b636059514a51535353535353504e50575f626a6c6c6c6c6c5f574d42372b1e1205000000000000000f1b2835424e5b6875818e9ba8b3a6998c807366594d402f24180c00000000000000000000000000000000000000000000020e1b2835414e5b6874818e9ba7b4a79a8e8174675b4e4134281b0e0000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c201304000000000000000000000000000000000e1a2734414d5a6774808d9aa5a9aa9e91847d78716c605d554b43392f24180c050000000000000000000000000000000810181f25292b2c2d2d2d3643505d6976839098897c6f635a56555d60686d737a80858b8f9192928f8b847c6f6a5f544a3f34282d2d2d2d2b27211b130a0100000000000000000000000000000000000001080d161d24292f35383f444649505355585a5c5e5f5f605f5f5e5c5a585553504946443f38352f29241d160d080100000000000000000000000000000000000000000000000000000000000000000001080d161d24292f35383f444649505355585a5c5e5f5f605f5f5e5c5a585553504946443f38352f29241d160d080100000000000000000000000000000000000000000000000000000000000000000007111920292f383f44464d5355585b5d5e5f5f5f5e5d5a5854524d48443d352f281f170f05000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f252a2d2f34383a3c3f4142444545464645454443413f3d3b3a36312d2c28231c19130d0701000000000000000000000000000000000000000000000000000000000002090e161c21272c30363a3b3f4446494b4d4f5051525253525251504f4d4a4846443f3a39352f2b26201b160d0701000000000000000000000000000000000000000810171c2123242d2d2d2d2d2d2d2b2a27231d160e06000000000009121920262a2c2c2d2d2d2d2d2d2d21201d19130c050000000000050e161d22272a2a2d2d2d2d2d2d2d2423201c171008000000000000000000000000000000000006131f2c3946525f6c7985929facada093877a72727272727272727272727273737576787a7d8184898e93999ea6ada8a19a938c81786d665c50493f342a1d140a0000000000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c2013040000000000000000000000000000000000000000000000000d19242f3a44505c666e7b86929aa4afaaa29792867e756e69615f575653514b4e4e4d4e4e4f4c5254545c60646c717a828e939ea6b0a89f948c7f72685e52443a3025190d010000121f2c3845525e6a757979797978706b605c544d4546464646434b515a61696e777979797976695f53463a2d211407000000000000000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4035291d100400000000000000000000000000000000000000000005121e2b37424d57697683909ca9b2a5988c7f7265594c3f3226190c00000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d1104000000000000000000000000000000000e1a2734414d5a6774808d95999c9fa096918a847e756d675d554b40352921160b00000000000000000000000000000000060d14191c1f1f20202834414e5b6774818e9a8e81756c656364676d737a80868d92989c9e9f9e9c9691857c6f665c5044382b1f2020201e1b16100901000000000000000000000000000000000000000000040c13181e24292d3338393f4446484b4d4f515252535252514f4d4b4846443f3938332d29241e18120c0400000000000000000000000000000000000000000000000000000000000000000000000000040c13181e24292d3338393f4446484b4d4f515252535252514f4d4b4846443f3938332d29241e18120c04000000000000000000000000000000000000000000000000000000000000000000000000070e171d262d33373b4246484b4e505152535251504e4b4746423b383229241e160d05000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e2123292c2d303234363738393939383837363533302e2d2a25201f1c17110d0801000000000000000000000000000000000000000000000000000000000000000000050b10161c1f252a2d2e34383a3c3e414244454546464545444342403e3c3a38342e2c29241e1b150f0a04000000000000000000000000000000000000000008121a22282d3031393939393939393837332e2820180e0400000008121b242b31363839393939393939392e2d2a251e160e05000000040e1720272e3336373939393939393931302d28221a11080000000000000000000000000000000006131f2c3946525f6c7985929facb2a5988c7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385878a8d91969b9fa4ababa39f9691887f776d665c544a3f372d22180b0200000000000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d110400000000000000000000000000000000000000000000000008131e28343f4a545f69717e88939fa3afa9a298928b827b746e696662605c545b5a5a5a5b5c565e6164666d71767e848f949ea5afaaa1968f82786c60564c4132281e130800000013202c3946535f6c7987868686847d736d665f575146413e454d555c606c717b83868686867b6e6155483b2e221508000000000000000c1825323f4b5865727e8b98abb5aa9d908477675d5145392c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a00000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d01000000000000000000000000000000000e1a2734414d5a67748087898c90949da09e96918a81796d675d51453d33271c10030000000000000000000000000000000002080d101213131825323f4b5865727e8b98938b7f75717071747a80858d92989fa2aaa4a3a5a8a1979083786d6053463a2f24190d13120f0a0500000000000000000000000000000000000000000000000001070d13191c22282b2d3337393b3e41434445464646454443413e3b3937332d2b28221c19130d070100000000000000000000000000000000000000000000000000000000000000000000000000000001070d13191c22282b2d3337393b3e41434445464646454443413e3b3937332d2b28221c19130d07010000000000000000000000000000000000000000000000000000000000000000000000000000050b141b22272b31363a3b3e4143444546454443413e3b3a36302c272119130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214181c1f20232527292a2b2c2c2c2c2b2a2a28262421211e1a1312100c060000000000000000000000000000000000000000000000000000000000000000000000000000050b1014191e2023282c2d2f3234353738383939393837373533312f2d2b2823201d19130f0a0400000000000000000000000000000000000000000005101a242c33393c3e4646464646464644433f39322a20160c0100040f19242d353d42454646464646464646463936302820160c0200000b16202932393f4344464646464646463d3c39332c231a100500000000000000000000000000000006131f2c3946525f6c7985929facb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8c8c8d8e909297979a9ea1a8acaba39f99928d847d736c655c544a42382e241b100600000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d01000000000000000000000000000000000000000000000000010b17232e38424d57616c727f8c919fa3abaaa39f938f86817b76726f6d66696867676768686a686e7174797d838a91969fa6afa9a19891847a6d665b50443a3020160c020000000b1825323e4b5865717e8b9296918780786e69625b524c4550575f676d747e869095948d8074695f53463a2d211407000000000000000916232f3c4956626f7c8999a3afac9f92867a6d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8898a2aeaea298887b6e6155483b2e221508000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e130800000000000000000000000000000000000713202d3a4653606d787b7c7f838990959fa09d938e82796d60594f44382c1f1409000000000000000000000000000000000000000305060815222f3b4855626e7b88959b918b827e7d7e81858c92989fa2a29f9a9796989c9f9f958a7d7164554c4135291d110405020000000000000000000000000000000000000000000000000000000001080d11171c1f22272b2d2f323436373839393938373634322f2d2b27221f1c17110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d11171c1f22272b2d2f323436373839393938373634322f2d2b27221f1c17110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f262a2d2e31343738383939383734312e2d2a251f1b160d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205070c10131416191b1c1e1f1f20201f1e1e1d1b19171514120e09060300000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e1114171c1f20222527292a2b2c2c2c2c2b2b2a28262422201f1c1713110d080100000000000000000000000000000000000000000000000c17222c363e45494a53535353535353514f4b443c32281d1206000915202b353f474e5253535353535353535346413a32281e13080006111d27323b444a4f51535353535353534a49443e362c22170b00000000000000000000000000000006131f2c3946525f6c7985929facb8ada39c98989898989898989898989898999a9b9c9ea1a9a7aba9a8a19e99928e87817a706b605b534a423930261c12090000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e1308000000000000000000000000000000000000000000000000000006111c26303c45505a636d737f8b9299a1a8aea59e98928d87837f7c79777674747474747577787a7d81848a90949ea1a9afa8a19792867c6f685e544a3f32281e0e04000000000b1724313d4a56626d73808c9399938d837b726d615e56515a61696e79818a9298958f82786d60574d42372b1e1205000000000000000714202d3a4753606d7a86929facafa399897d7063544a3f33281c0f030000000000000000000000000000000000000004111d2935414c5665727e8b98aab3ab9f9285786c605346392d2013060000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c02000000000000000000000000000000000006121f2b3844505c666d6e6f72767c838f949fa59e948e81746b6054483b31251a0e020000000000000000000000000000000000000000000814212e3a47535f6a7784919d9b948f8b898a8d92989fa2a29f98928d8a898b90949c9c8f8276675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000060b0f12171b1f20222527292b2c2c2d2c2c2b29272522201f1b17120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12171b1f20222527292b2c2c2d2c2c2b29272522201f1b17120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e212225282a2b2c2c2c2b2a272521201e1a140f0b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e0f1112121313121211100e0c0a0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205060c10121316181a1c1d1e1f1f201f1f1e1d1c1a17151312100b06040100000000000000000000000000000000000000000000000004111c28333e48505557606060606060605e5c564e44392e23170b010e1a26313d4751595e5f606060606060605f524c443a3025190d010b17222e39444d555b5d60606060606060575550483e33281c1004000000000000000000000000000006131f2c3946525f6c7985929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a8a9a8a6aba39f9c9996918c87817b746d6761595049413930271e140a0000000000000000000000000000000000000000000000000000000000000c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000000000000000a141e2a333e48515b636d737f8791969fa4acaaa29f9a93908c898684828181808181828385878a8e91979c9fa6adaca59d9691857c6f6a60564c42382d20160c00000000000915212e3a45505a636e74818e939f9590867e756d68605c606c717b838e939f969083796d665c50453c31261a0e020000000000000006131f2c3945515d677783909daab5ab9a8d8073665b5044382b1f140a000000000000000000000000000000000000010c13202c3945525d6875828f9ba8b5a89b8f8275665b5044382b1f120600000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c20130400000000000000000000000000000000000003101c28343f4a545c606162666b6f79828f97a1a69d93897d7063574d42362a1e120500000000000000000000000000000000000000000006121e2b37424e5765727e8b95a09e9c9896979a9fa2a39f98928c85817e7d7e838c929f92867a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000003060b0f121315181a1c1e1f1f201f1f1e1c1a181513120f0b0603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060b0f121315181a1c1e1f1f201f1f1e1c1a181513120f0b0603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1e1d1b181414110e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607090b0e0f1112121313121211100f0d0b09070603000000000000000000000000000000000000000000000000000000000814212d3945505a61646c6c6c6c6c6c6c6b6760564b3f33271b0e04111d2a36424e59636a6c6c6c6c6c6c6c6c6c5e564c41362a1d11050e1a27333f4a555f676a6c6c6c6c6c6c6c64615a5044392d201408000000000000000000000000000006131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9b99979992908c89847f7b746e69605d554f443f382f271e150c0200000000000000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaaa8aab0a79b8e8174685d5245392c20130400000000000000000000000000000000000000000000000000000000020c18212c363f49515b636d727d848e939a9fa6acaca49f9d999992918f8e8d8d8d8e8f909298979a9ea1a9abaca7a09d938e847c6f6a60584e443a2f261c0e05000000000005111d29343f48525b606d78818f959f98928b827a706b676d747e8690959d9891847b6e675d544a3f332a1f1409000000000000000004101d2935404b556673808d99a9b3ab9e9184786c6053463d2f261c1106000000000000000000000000000000000008131e28343f4a54606d7a86929facb1a7988b7e7265544a3f33281c0f03000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d1104000000000000000000000000000000000000000b17232e38424a505354565960676d7a85919eaba59c8f8276695e53463a2d211407000000000000000000000000000000000000000000020e1a26313c4653606c78839097a1a8a4a3a4aaa29f98928d86807a74717072767f8c94998a7d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000030506080b0e1011121313131211100e0b080605030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030506080b0e1011121313131211100e0b0806050300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e101112131211100e0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040613131313131313130d0c0a070200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303c4955616c71797979797979797772675c4f43372a1d1106121f2c3845525e6a75797979797979797976685e5246392d201307101d2a36434f5b67717779797979797979706c6155493c3023160a000000000000000000000000000006131f2c3946525f6c798592939393939393939393939393939393939398929291918f8e8d8b8886837f7c78736e69615f57514c433e332d261d150c0300000000000000000000000000000000000000000000000000000000000000000e1a25313b4653606c7884919e9f9f9f9f9fa095897c6f63564c4135291d11040000000000000000000000000000000000000000000000000000000000060f1a242d374049515b626b6f7a818790949b9fa3ababa9aba39f9d9c9b9a9a9a9b9b9d9fa2aaa7ababaca49f9c959189817a6e6a60584e463d32281d140a000000000000010c18222d364044505c666d79829095a09f938f857d746f79818a9298a09992867c6f695e554b42382e21180e030000000000000000000c18242f3c4956636f7c8997a1adada196897d7063584e42382d22170f06000000000000000000000000000000081119242f3844505c66727e8b98a3aeaca095877b6e6154483b2d22170b00000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d010000000000000000000000000000000000000006111c2630383f444647494f555e68727f8c99a3ab9f94877b6e6154483b2e2115080000000000000000000000000000000000000000000009151f2b3844505b666f7c8591969c9f9f9e9c98928d86807a736d686463656d76828f998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d111320202020202020201a1917130e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000002080c101212131313131313131306040000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e8686868686868684776b5e5144382b1e110613202c3946535f6c7987868686868686867a6d6154473a2e211407111e2a3744515d6a7783868686868686867e7064574a3d3124170a000000000000000000000000000006131f2c3946525f6c798686868686868686868686868686868686868686858585848381807e7c7976736f6c65615e57534d45413a3127221b140b0300000000000000000000000000000000000000000000000000000000000000000009141f2b3844505b66737f8c999393939393939084776b6054443a3024190d0100000000000000000000000000000000000000000000000000000000000008121c252e374048515960686d757c83898e92999b9fa2a9a6a8a9a9a7a7a7a7a7a8aaa9a8a6aaa29f9c9a938f89847d746d685f584e463d342b20160b020000000000000006111b2428343f4a545d676d7a839196a19e979188807b838e929fa29f93877d706a5f574d433a30261c0f06000000000000000000000713202d3a4653606d7985919eabb2a89c8f82766a60544a3f3328211810080200000000000000000000000309111a232935414c56606d7884919eaab3a99d908377695e53463a2d1c1106000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e13080000000000000000000000000000000000000000000a141e262e34383a3b3d434c56606d7a86929faca6978a7e7164574b3e3124180b00000000000000000000000000000000000000000000030f1c28333f4a545f6a6f7c848c909292918f8b86807b746e68605d56565b64707d8a998f8275685c4f4235291c0f0200000000000000000000000000050a0d0f10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100f0d0a05000000000000000000000000000000000000000000000105090b0b131313131309090703000000000000000003070b0d0e1313131311100e0a0600000306080913131313100f0d09040004090e111213131313130a090704000000000000000000000000000000000003080b0d0e13131313070604000000000000000005090d0f1013131312110f0c07010000000000000000000000000000000000000000000000000000000000000000040c13181d202d2d2d2d2d2d2d2d2626231f19120a01000000000000000000000000000000000000000000000000000000000000000000000000000000060d13181c1e1f202020202020202013100c07010000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a93939393939184776b5e5144382b1e110613202c3946535f6c7986929393939393877a6d6154473a2e211407111e2a3744515d6a77849093939393938a7d7064574a3d3124170a000000000000000000000000000005121f2b3844515d6974797979797979797979797979797979797979797979787877767573716f6d666662605b53534d47423c352f281f17110a0200000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7a8786868686868686867f7265594f4332281e130800000000000000000000000000000000000000000000000000000000000000000a131c252e363f474f565d606a6f767c81868b8e929797999b9c9e9e9f9f9f9e9e9d9d9b999798928f8b87827d78706b605d564e463c342b22190e05000000000000000000091217232e38424b555d686e7b849197a2a19a938d8890959da59d928b7f726b61584e453b31281e140a000000000000000000000006121f2b3844505c6673808d99a4afaa9f94897c6f665b50443d332a2219140e09060400000100000406090e151a232b353d45525d68717e8b96a0acada1978b7e7165574d42362a1e0a000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c02000000000000000000000000000000000000000000020c141c23282b2d2e313a45525d687783909daaa6998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000b17222d38424e585f6a6f797f83858684827f7a736e69615e56524c4a54606d7987868683776a5e5144372b1e11040000000000000000000000030a1016191c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1c1916100a0300000000000000000000000000000000000000060c1115171820202020201615130f0a040000000001080e13171a1a202020201e1d1a16110b0a0f131516202020201c1b1915100a0f151a1d1f2020202020171614100b050000000000000000000000000001080e14171a1b202020201413100c0701000000020a1015191c1c2020201f1e1b18130c05000000000000000000000000000000000000000000000000000000000000040d161d24292c393939393939393933322f2a241c130a00000000000000000000000000000000000000000000000000000000000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d1f1c18120b0300000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a979f9f9f9e9184776b5e5144382b1e110613202c3946535f6c7986929f9f9f9f94877a6d6154473a2e211407111e2a3744515d6a7784909d9f9f9f978a7d7064574a3d3124170a000000000000000000000000000003101c2935414d5862696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a6968666462605c545653504946423b373129241e160d06000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3846525e686e797979797979797979726d6256473d3220160c020000000000000000000000000000000000000000000000000000000000000000010a131c242d353d444c525860626a6f757a7e8285888a8d8e909192929292929191908e8c8a8985827f7b75706c656059524c433c332b22191007000000000000000000000006111c263039434c565e696f7c859299a3a49f9a959da0a79e948d80746d62594f463c33291f160c02000000000000000000000003101c28343f4a54616e7b87939fabb0a69d9083786c60594f453c342a251f1a1312100c070e070c1013131a1f262b353d47505a606d7a84919ea8b2a99e9285796d6053473b31251a0e0000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c2013040000000000000000000000000000000000000000000000020a11171c1f20212935414c566774818e9aa7a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000006111c262f3c464e585f676d727678797876726d68615e56524c454145515d67757979797771675b4f43362a1d100400000000000000000000040d151c21262929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292926211c150d0400000000000000000000000000000000000911181d2124252d2d2d2d2d23221f1b160f070000020b12191f2326272d2d2d2d2a2927221c15151b1f22232d2d2d2d292825211b141920262a2c2c2d2d2d2d2423201c1610080000000000000000000000020b131a1f2426272d2d2d2c201f1d18120b0300040c141b212528292d2d2d2b2a28231e170f0600000000000000000000000000000000000000000000000000000000010c161f282f35394646464646464646403f3b352e261c120700000000000000000000000000000000000000000000000000000000000000000000000006101922293035383939393939393939392c29231d150d03000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4acaa9e9184776b5e5144382b1e110613202c3946535f6c7986929facaca094877a6d6154473a2e211407111e2a3744515d6a7784909daaaca3978a7d7064574a3d3124170a0000000000000000000000000000000d1925303b4650585d5f606060606060606060606060606060606060605f5f5e5e5c5b5a585553514b4946443f3836312b261f19130c04000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414d565e616c6c6c6c6c6c6c6c6c65625b5146342b210e0400000000000000000000000000000000000000000000000000000000000000000000010a121b232b323a41454e54586062686d7175797b7e80818384858586858584848381807e7c7975726e6963605b534f45413a312a21191007000000000000000000000000000a141e27313a444d575f6a707d879299a49f9f9f9fa9a0958f82786d605b51473e342a21170d04000000000000000000000000000b17232e3846535e6975818e99a3aeab9f958b7f726b60574e463e36302a25201f1c181b1a1b181c1f20262b31373f474f59626c74818e97a1adada1978d8073675c514538291f140900000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d110400000000000000000000000000000000000000000000000000060b10121319242f404d5a6673808d99a6a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000a141d2a343c464e555d6065696c6c6b6965615e56524d46413b35414b555d6b6c6c6c6a675f564b3f33271b0e02000000000000000000030d161f262d3235363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363635322d261f160d0300000000000000000000000000000009121b22292e31323939393939302f2c2721191007010b141d242b303334393939393736332e271f20272b2e2f393939393635312c261e242b3136383939393939302f2c28211a1108000000000000000000010b141d242b303334393939392d2c29241d150d030c161e262d3235363939393837342f2921180f0000000000000000000000000000000000000000000000000000000007131d28313a404553535353535353534d4b4740382e24190e0200000000000000000000000000000000000000000000000000000000000000000000020d18222b343b414445464646464646464638342f271f150b010000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9e9184776b5e5144382b1e110613202c3946535f6c7986929facada094877a6d6154473a2e211407111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000008141f2a343e464d51525353535353535353535353535353535353535352525251504e4d4b494645403c3937332d2a251f1a150d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000e1925303b444d52545f6060606060606060585651493f3422190f00000000000000000000000000000000000000000000000000000000000000000000000000091119202830353d43474e54565e6164656c6e717375767778797979787877767573716f6d6665615f57535049413d352f281f180f070000000000000000000000000000020c151f28323b454e58606b717e8793939393939393969083796d665c50493f352c22190f05000000000000000000000000000006111c2a36424d57616e7b86929fa8b1a79f92877d6f6a5f585046413b36312d2c282327272723282c2d31373c42475159606b717e8b939da9b1a79e92857a6d61554b4034291c1004000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d010000000000000000000000000000000000000000000000000000000306081926323f4c5965727f8c98a5a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000020b18222a343c434b5154595d5f5f5e5c5854524c46423b36302f3a434b515e6060605e5b564d44392e22170b000000000000000000000a151f2831383e424343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343423e3831281f150a000000000000000000000000000006111b242d343a3d3e46464646463c3b38322b23190f08121d262f363c3f414646464644423f3931292b32373b3c4646464643413d3830282d353d424546464646463d3c38332c231a1005000000000000000008131d262f363c4041464646463a39352f271f150b141e2830383e41434646464544403a332a210f050000000000000000000000000000000000000000000000000000010d18242f3a434b515f606060606060605957524a40352a1f13070000000000000000000000000000000000000000000000000000000000000000000008131f29343d464c5152535353535353535345403931271d12070000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4acaa9e9184776b5e5144382b1e110613202c3946535f6c7986929facaca094877a6d6154473a2e211407111e2a3744515d6a7784909daaaca3978a7d7064574a3d3124170a000000000000000000000000000000020d18222c343b41444646464646464646464646464646464646464646464545444342403e3c3a38342e2d2b27221b1a140e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f29323b4146475353535353535353534c4a463f372d2310070000000000000000000000000000000000000000000000000000000000000000000000000000070e161e242932373d43484c5254535b6062646668696b6b6c6c6c6b6b6a6a68666462605c5455534d46443f382f29241e160d0600000000000000000000000000000000030d162029333c464f59616c727f8686868686868686847b6e675d544a3f372d231a1007000000000000000000000000000000000e1a25313b46535f6973808d96a0abaea39991857c6f6a615a524d46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa5afaa9f958b7e71685e5243392f23180c00000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e13080000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000061018222a313a4145474c50525352504c4746413a36302a2528313a414547535353514f4b443b32281d110600000000000000000005101c26313a42494e50505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504e49423a31261c1005000000000000000000000000010c18222d363f454a4b53535353534948433d352b21160e19242f3840474c4d53535353514f4a433b31343d434749535353534f4e49423a30353f474e5253535353534a48443e352c21160b00000000000000030e1a242f3841474c4e535353534745403931271d121b26303a42494e4f53535352504c453c3321170d030000000000000000000000000000000000000000000000000004111d2935404b555d6c6c6c6c6c6c6c6c66635c52473b2f23170a000000000000000000000000000000000000000000000000000000000000000000000c1824303b464f575d5f606060606060605f514b43392f23180c0000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a979f9f9f9e9184776b5e5144382b1e110613202c3946535f6c7986929f9f9f9f94877a6d6154473a2e211407111e2a3744515d6a7784909d9f9f9f978a7d7064574a3d3124170a0000000000000000000000000000000006101a222a303538393939393939393939393939393939393939393939393837363533312f2d2c2823201f1b17110e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b4646464646464646463f3e3a342d251b1100000000000000000000000000000000000000000000000000000000000000000000000000000000040c131920272b32383a41464749505355575a5b5d5e5f5f5f5f5f5e5e5d5b59575653514a4846423b37332d261d19130c04000000000000000000000000000000000000040e17212a343d47505a626d727979797979797979786e695e554b42382e251b1108000000000000000000000000000000000009141f2a36424d57606d79849199a3afaba19791857c716c615e56534d494644404141414141404546494e53575f616d727d869298a3aeaba2989083776c60564c4131271d1207000000000000000000000000000000000000000000000000000c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000000610181f282f35393a3f43454645433f3a3936302a251f191f282f35393a46464644433f39322920160b000000000000000000000a16212d38424c545a5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5a544c42382d21160a00000000000000000000000005111d29343f48505658606060606056544f473d32271b131f2b36404a52585a606060605d5b554d43393d464e5456606060605c5a544c42333d4751595e5f6060606057554f473e33281c100400000000000008141f2b36414a52585a6060605f5e514b43392f2418212d38424c545a5c6060605e5c574f4533291f1409000000000000000000000000000000000000000000000000000613202c3945515d677679797979797979736e63574b3f3226190c00000000000000000000000000000000000000000000000000000000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c5c554b4034291c100400000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a93939393939184776b5e5144382b1e110613202c3946535f6c7986929393939393877a6d6154473a2e211407111e2a3744515d6a77849093939393938a7d7064574a3d3124170a00000000000000000000000000000000000810181f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2928272522201f1c1813120f0b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e39393939393939393932312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d151b21272c3035393a3f4446484b4d4e505152525352525151504e4d4b494644403b3a36312b27221b140b08010000000000000000000000000000000000000000050f18222b353e48515b62656c6c6c6c6c6c6c6c6b615e574d433a30261c1309000000000000000000000000000000000000030e1a26313b45515d676f7c87929fa4aea9a19791867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa39992857c6e655b50443a301f150b010000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaaa8aab0a79b8e8174685d5245392c201304000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000000000060d161d24292c2d323639393836322e2d2a251e19140d161d24292c2d3939393736332e2820170e04000000000000000000000d1926323e49545e666969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969665e54493e3226190d0000000000000000000000000915212e3a45505a62656c6c6c6c6c6360594f43382c1f1723303c47525c64676c6c6c6c6a675f554a3f434e5860626c6c6c6c69655e54453b424e59636a6c6c6c6c6c6361594f44382c2014070000000000000b1724303c47525c64676c6c6c6c6a5d554b4035291d25323e49545e66696c6c6c6b686157453b31251a0e020000000000000000000000000000000000000000000000000714202d3a4753606d7986868686868686807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000005121e2b3844515d6973787979797979797976675c5145382c1f130600000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e8686868686868684776b5e5144382b1e110613202c3946535f6c7987868686868686867a6d6154473a2e211407111e2a3744515d6a7783868686868686867e7064574a3d3124170a000000000000000000000000000000000000060d14191c1f1f202020202020202020202020202020202020201f1f1f1e1d1b1a18161313100c070503000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e20212c2d2d2d2d2d2d2d2d2524221e1811090100000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1e25292d2d3337393b3e40424344454646464545444342403e3c3a38342e2d2a261f1b17110a020000000000000000000000000000000000000000000000061019232c363f4951565860606060606060605e54524d453b31281e140a010000000000000000000000000000000000000009141f2935404b55606a717e8b929ca4afa9a198928a817b746e696562605c545b5a5a5a5b545c6063666a6e747b828b9299a2aaaca49f92877d706a5f53493f32281e0d030000000000000000000000000000000000000000000000000003090e1a25313b4653606c7884919e9f9f9f9f9fa095897c6f63564c4135291d1109030000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000000000040c13181d2021262a2c2c2b292521201d19130e09040c13181d20212d2d2d2b2a27221d160e0500000000000000000000000f1c2935424e5a6670767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767670665a4e4235291c0f0000000000000000000000000b1724313d4a56626c7179797979796f6b6054483b2f221a26333f4c58646e74797979797771675b4f424754606a6f79797979767065574d4245525e6a757979797979706b6155483c2f2316090000000000000d1a2633404c58646e747979797975675d5145392c1f2835414e5a667076797979787368574d42362a1e12050000000000000000000000000000000000000000000000000714202d3a4753606d7a8693939393938c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c788586868686868686796d6053473a2d20140700000000000000000000000000000000000000000000000000000000000a1723303c4955616c71797979797979797772675c4f43372a1d1106121f2c3845525e6a75797979797979797976685e5246392d201307101d2a36434f5b67717779797979797979706c6155493c3023160a0000000000000000000000000000000000000002080d1012131313131313131313131313131313131313131313121211100f0d0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e111414202020202020202020191816120d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d2022272b2d2f313335363838393939383837373533312f2d2c2823211e1a140f0b06000000000000000000000000000000000000000000000000000007111a242d373f464a4c5353535353535353524846423b33291f160c020000000000000000000000000000000000000000030c18242f39434e58626d73808d929fa4acaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39a938c7f726b61584e41382d20160c00000000000000000000000000000000000000000000000000050d141a1e212b3844505b66737f8c999393939393939084776b6054443a30241e1a140d0500000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000000000000001070d111314191d1f201f1d191413110d0802000001070d1113142020201e1d1b17110b04000000000000000000000000101d293643505c6976828383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838276695c504336291d100000000000000000000000000b1825323e4b5865717e86868686867d6f6356493c30231a2734414d5a6774808686868683776a5d51404b55626f7c868686868276695e534646535f6c7987868686867d7063574a3d3024170a0000000000010e1b2734414e5a67748086868687796d6053473a2d202936434f5c6976828686868578695e53463a2d2114070000000000000000000000000000000000000000000000000714202d3a4753606d7a86939f9f9f998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929393939393867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000814212d3945505a61646c6c6c6c6c6c6c6b6760564b3f33271b0e04111d2a36424e59636a6c6c6c6c6c6c6c6c6c5e564c41362a1d11050e1a27333f4a555f676a6c6c6c6c6c6c6c64615a5044392d201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507081313131313131313130c0b090601000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113171b1f20222427282a2b2c2c2c2c2c2b2b2a28262423201f1c1814120e0903000000000000000000000000000000000000000000000000000000000008121b252d343a3e3f4646464646464646453b3a36302921170d040000000000000000000000000000000000000000000007121d27313d46505a636e73808c939aa1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6afa8a09992887f726d62594f463c2f261b0e04000000000000000000000000000000000000000000000000050f171f252a2d2e333f4a54616e7a8786868686868686867f7265594f43322e2d2a251f170f05000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000000000000000010406070c10121312100c070705010000000000000104060713131311100e0b06000000000000000000000000000013202d394653606c79868f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f86796c605346392d20130000000000000000000000000b1825323e4b5865717e8b939393897c6f6356493c30231a2734414d5a6774808d93939084776a5d5145515d6774818e939393877b6e61544a3f535f6c79869293938a7d7063574a3d3024170a0000000000000b1825313e4b5864717e8b9399897c6f6356493c30232633404d596673808c9397877b6e6154483b2e2115070000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0aca6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929f9f9f9f93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000004111c28333e48505557606060606060605e5c564e44392e23170b010e1a26313d4751595e5f606060606060605f524c443a3025190d010b17222e39444d555b5d60606060606060575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105060b0f121315181a1b1d1e1f1f201f1f1e1e1d1b1a18161312100c070502000000000000000000000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d2a251f170f050000000000000000000000000000000000000000000000010b151f2b343f48525c646e737f8892979ea5acaaa29f9a93908c898684828181808181828486898c90959b9fa3ababa39f9691877e726d635b51473e332a1d140a000000000000000000000000000000000000000000000000030d17212931363a3b464646525e686e797979797979797979726d62564746463b3a36312921170d030000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202d394653606c7986939c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9386796c605346392d20130000000000000000000000000b1825323e4b5865717e8b989f96897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d514753606d7a85929fa4998c8073665c5044535f6c7986929f968a7d7063574a3d3024170a0000000000000915222f3c4855626f7b8898988c7f7265594c3f302424303d4a5763707d8a96978a7e7164574a3e2e23180c0000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabaca093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000c17222c363e45494a53535353535353514f4b443c32281d1206000915202b353f474e5253535353535353535346413a32281e13080006111d27323b444a4f51535353535353534a49443e362c22170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131312070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0b1313131313130d0d0b07070b0d0d1313131313130b0b09050100000000000000000000000000000000000000000000000000000000000000000000030506080b0d0f101112131313121211100f0d0b09070604000000000000000000000000000000000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d2d2b21201e1a140d0500000000000000000000000000000000000000000000000000030d19222d36404a525c646d727d858f939da0a7acaca49f9c989892918f8e8d8d8d8e8f919299999da0a7acaca49f99928d847d716c635b51493f352c21180b0200000000000000000000000000000000000000000000000009141f29333b4246485353534d565e616c6c6c6c6c6c6c6c6c65625b515353534846423b33291f14090000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000000000000000000000003070b0d0e13131313131312100d0a06050300000000000000000000000000000000000000000000000000000013202d394653606c7986939f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d20130000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d514e5764717e8b98a2ab9e9184796d605346535f6c7986929f968a7d7063574a3d3024170a0000000000000613202d394653606c7985929b8e817568564c413529212e3a4754616d7a87969a8d807467544b4034281c100400000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000005101a242c33393c3e4646464646464644433f39322a20160c0100040f19242d353d42454646464646464646463936302820160c0200000b16202932393f4344464646464646463d3c39332c231a100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f12151520202020201f1413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c111517182020202020201a1917131317191a202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d1216181920202020202020201f1514120e090200000000000000000000000000000000000000000000000000000007101b242e38404a525b636b707a828990959c9fa4abaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3abaaababa39f9a938f8780796f6b615a51493f372d231a0f06000000000000000000000000000000000000000000000000020e1a25313b454d535f6060606060605d5f60606060606060605c6060606060605f534d453b31251a0e0200000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000000000000000001080e13171a1a20202020201f1e1d1a1613120f0b060000000000000000000000000000000000000000000000000013202d394653606c798693939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939386796c605346392d20130000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d51535f6a7683909caaa9a1978a7d7064574d535f6c7986929f968a7d7063574a3d3024170a00000000000006121f2b3844505b6676838f9c918477685d5246392d202d3946525e687884919d908376665c5145382c1f130600000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000008121a22282d3031393939393939393837332e2820180e0400000008121b242b31363839393939393939392e2d2a251e160e05000000040e1720272e3336373939393939393931302d28221a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222c2d2d2d2d2c21201d19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000911181d2124252d2d2d2d2d2d2726231f1f2326272d2d2d2d2d2d2524211d1811090000000000000000000000000000000000000000000000020608080b0e1011121313131312100f0d0a0706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313131313131313120807050200000000000000000000000000000000000000000000000000000000000009121c262e384049515961686e757d83898f93999c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a19e9b99928e87827c736d67605950483f372d251b11080000000000000000000000000000000000000000000000000005121e2a36424d575e6c6c6c6c6c6c6c6a665f55535353545e66696c6c6c6c6c6c6c5e574d42362a1e120500000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2c2b2a2723201f1b17110a02000000000000000000000000000000000000000000000013202d394653606c798686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c605346392d20130000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d4a54626e7b88949f9f9c9f9c8f8276695e53535f6c7986929f968a7d7063574a3d3024170a000000000000030f1c28333f4a546773808d9a96877a6d6154473a2e212a36414c566875818e9b9286796d6053463a2d20130700000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000810171c2123242d2d2d2d2d2d2d2b2a27231d160e06000000000009121920262a2c2c2d2d2d2d2d2d2d21201d19130c050000000000050e161d22272a2a2d2d2d2d2d2d2d2423201c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939382e2d29251e160e04000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b22292e313239393939393934332f2b2b2f333439393939393932312e29221b1209000000000000000000000000000000000000000306090f121415181a1c1e1f1f20201f1e1d1c19171413100d0704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141c262e373f474f565e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817b756f6a605d554f473e362d251c130900000000000000000000000000000000000000000000000000000714212d3a46535e69767979797979797771665b4f464e5a66707679797979797976695e53463a2d21140700000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e0200000000000000000000000000000000000000000000000000000000010b141d242b303334393939393939383734302d2b27221b140b080000000000000000000000000000000000000000000013202d3946535f6c767979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979766c5f5346392d20130000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d515c6673808d9a9f948f949f93877b6e61544a5f6c7986929f968a7d7063574a3d3024170a000000000000000b17222d3e4a5764717d8a9796897d7063564a3d302325303f4c5965727f8c9898897c6f6256493c2f23160800000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000050c11141717202020202020201e1d1b17120c0400000000000000080f151a1d1f20202020202020201413110d080200000000000000040b11171a1d1e20202020202020171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222a31373a3c4646464646453a3935302820160c0200000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d343a3d3e464646464646403f3b36363b3f404646464646463e3d3a342d241b110600000000000000000000000000000000040a0f13151a1f21222527292a2c2c2d2c2c2b2a28262320201d1813100c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0d0f11121313131212100e0c0906060300000000000000000000000000000000000000000000000000000000000000020a141c252e353d444c525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817d7a746e6a626058514b433d352c241c130a0100000000000000000000000000000000000000000000000000000815212e3b4854616e7b86868686868683776a5d50444f5c6976828686868686867b6e6154483b2e21150800000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0e020000000000000000000000000000000000000000000000000000000008121d262f363c3f414646464646464543403d3937332d261d1a110a010000000000000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e120000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d53606d7985929e978f828f99998c8073665c505f6c7986929f968a7d7063574a3d3024170a000000000000000615212e3b4854616e7b8797998c7f7366594c40302523303c4956636f7c8999988b7f7265584c3f3025190d01060606000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000004080a0b1313131313131311110e0b060100000000000000000004090e11121313131313131313070705010000000000000000000000060b0e1011131313131313130a0a08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347485353535353524746413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000010c18222d363f454a4b5353535353534d4c474040474c4d5353535353534b4a453f362d22180c0100000000000000000000000000040a0f151b1f21262b2e2f32343637383939393938373533302d2c29241f1c18120c0700000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131416191c1d1f1f20201f1e1d1b191613120f0b06000000000000000000000000000000000000000000000000000000000000020a131c232c323b41464f54596063686e7276797c7e808283848585868585848382807d7b7974716d68625f58544e454039312b231a120a010000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939393939083776a5d50444f5c6976828f93939393877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a79b8e8174685b4e4135281b0709080603000000000000000000000000000000000000000000000000030e19242f3840474c4d53535353535251504d4946443f382f2b231c130a01000000000000000000000000000000000000000f1b27333e49525a5f60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5a52493e33271b0f0000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d5764707d8a979e92857a86929e9184796d60535f6c7986929f968a7d7063574a3d3024170a000000000000030714212d3a46535e697885929b8f827568574d42362a202d3a4753606d7a86929b8e817568564c41362a1d11131313130b0b09050100000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c464e53555f606060605f54524c443a3025190c030000000000000000000000000000000000000000000000000000000000000000000000000005111d29343f485056586060606060605a58524a4a52585a606060606060585650483f34291d1105000000000000000000000001070d161b20262b2e31373a3b3e4143444546464646454342403d3a39352f2c28231d18120b030000000000000000000000000000000000000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b2a282523201f1c17110f0a0300000000000000000000000000000000000000000000000000000000010a111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433c352f271f19110800000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87949f9f9d9083776a5d50444f5c6976828f9c9f9f94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a89b8e8275685b4f422f2418191615130f0a040000000000000000000000000000000000000000000007131f2b36404a52585a60606060605f5e5d5a56535049413d352e251c130a000000000000000000000000000000000000000a16212c3740494f535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534f4940372c21160a0000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5d5e6975828f9c9a8d8075828f9b978a7d7064575f6c7986929f968a7d7063574a3d3024170a0000000001090f14181e2a36424d576975828f9c918578695e52463a2d202c3845515d677783909d918477685e5246392d202020202020181715110c06000000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e1111131313131313131308070502000000000000000000000105090b0c13131313131313130f0e0c08040000000000000000000000000000000000000000000000000004090c0e0f131313131313130c0b09060100000000000000000000000000000004090c0e0f1313131313131310060503000000000000000006121f2b37434e585f626c6c6c6c6c6b615e564c4135291e150b000000000000000000000000000000000000000000000000000000000000000000000000000915212e3a45505a62656c6c6c6c6c6c67645c52525c64676c6c6c6c6c6c65625a50453a2e21150900000000000000000000040c131820272b32373b3c4347484b4d4f51525253535251504f4c4a4745403a38342e28231c150c070000000000000000000000000000000000000000000000000000000000000000040a0f161b1d23292c2d303335373839393939383635322f2d2b28221c1b150e090300000000000000000000000000000000000000000000000000000000080e171e252a32383d44484d5254545c60626567686a6b6b6c6c6c6b6a6a68666462605c5454524c47433c373229241d150d070000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aa9d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5a99c8f827669554b403529252522221f1b150e070000000000000000000000000000000000000000000b1723303c47525c64676c6c6c6c6c6c6b6a6763605b534f473f372e251c100700000000000000000000000000000000000005101b252e373e4346464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646433e372e251b10050000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a53616e7b87939f95887c707d8a979c8f8276695e5f6c7986929f968a7d7063574a3d3024170a000000030b131a2024272531404c5966737f8c9997877b6e6154483b2e2d2935404b556774818d9a96877a6d6154473a2e2d2d2d2d2d2d2524211d1811090000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000040b12171b1d1e20202020202020201514120e090300000000000000060c1115171820202020202020201b1b18140f090100000000000000000000000000000000000000000002091015191b1c20202020202020191816120d0700000000000000000000000002091015191b1c202020202020201c13120f0b060000000000000815212e3a47535f6a6f7979797979786d685e52463d30271c12070000000000000000000000000000000000000000000000000000000000000000000000000b1724313d4a56626c71797979797979736e645858646e73797979797979716c62564a3d3124170b000000000000000000060d161d242932383c4347494e5355585a5c5d5f5f605f5f5e5d5b595653514b46454039342e271e191009010000000000000000000000000000000000000000000000000000000000060b151b21272c2f34383a3d40424445464646454543413f3c3938332d2b26201a150b0600000000000000000000000000000000000000000000000000000000050d141921272c33383b4146474a505355585a5c5d5e5f5f5f5f5e5e5d5b59575553504a4745413a37312b272018120b03000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1a99d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4aa9e918477675d5145392f32322f2e2b262019100700000000000000000000000000000000000000000d1a26333f4c58646e74797979797979787673706c656059514940372e22190f0400000000000000000000000000000000000009131c252c33373939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393937332c251c1309000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a5b65737f8c999d9083766d7985919e93877b6e615f6c7986929f968a7d7063574a3d3024170a0000010b151d252b303435393d4a5763707d8a96978a7d7064574a3d2d39392f3e4b5864717e8b97968a7d7063574a3d2d39393939393932312e29221b120900000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000060e161d23272a2b2d2d2d2d2d2d2d2d22211e1a140e0600000000000911181d2224252d2d2d2d2d2d2d2d282724201a130b0300000000000000000000000000000000000000030c141b212528292d2d2d2d2d2d2d2625221e18110901000000000000000000030c141b212528292d2d2d2d2d2d2d29201f1b17110a02000000000915222f3c4855626f7c8786868686857a6d61594f42392e23180c0300000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8686868686868073675a5a6773808686868686867e7165584b3e3225180b0000000000000000060f181f282f353d43474e5355585f626567696a6b6c6c6c6c6b6a686663605d5553514b444039302b221b130b020000000000000000000000000000000000000000000000000000020a111720262b323839404547494c4f50525253535251504e4c4946443f3837312b262017110a0200000000000000000000000000000000000000000000000000000002080e161c21272c3036393b3f4446494b4d4f5051525253525251504f4d4a4846443f3a39352f2b26201b150c070100000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87949c9c9c9083776a5d50444f5c6976828f9c9c9c94877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97acac9f93867a6d605347403f3f3f3c3b37322a22190e04000000000000000000000000000000000000000e1a2734414d5a6774808686868686858483807d78706b635b514940342b20160a000000000000000000000000000000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a01000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a606c7884919e988b7e716673808d9a998c8073665c6c7986929f968a7d7063574a3d3024170a000009131d272f373c404146464754616d7a8796998d80736653493f46464646464855626e7b8898998c807366544a3f464646464646463e3d3a342d241b1106000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000e1820282e33363839393939393939392e2d2b261f180f0600000009121b23292e313239393939393939393534312c251d150b000000000000000000000000000000000000020c151e252c3134353939393939393932312e29231b13090000000000000000000c151e262c31343539393939393939362d2b27221b140b020000000815212e3a47535f6a73808d9693978e81746b60544a4034281f140900000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b939393938d8073675a5a6773808d939393938b7e7165584b3e3225180b00000000000000061018212a313a40454e54585f62676a6e71747677787979797978767573706d6764605c54514a423d342d251d140b01000000000000000000000000000000000000000000000000040b141c222832373d43484b515356595b5d5e5f5f5f5f5e5d5b585653504a47433c373127221b140b0300000000000000000000000000000000000000000000000000000000050b10161c1f252a2d2e34383a3c3e414244454546464545444342403e3c3a38342e2c29241e1a150f0a04000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b878f8f8f8f8f83776a5d50444f5c6976828f8f8f8f8f877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000a1623303d495663707c899aa4afa4998a7e71645b514b4c4c4c4947433c342a20150a000000000000000000000000000000000000000e1a2734414d5a6774808d939393989291908d89837d726d635b51463d32271b0f04000000000000000000000000000000000000010910161b1e202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201e1b1610090100000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a63707d89969f92857a6d626f7b88959e9184796d606c7986929f968a7d7063574a3d3024170a00030f1a252f3941484d4e535353525e687884919c8f8276655b505353535353535353606c7985929c8f8276665b5053535353535353534b4a453f362d22180c010000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000060f202a32393f434446464646464646463b3a37312a21180e030006111b242d343a3d3f464646464646464642403d372f271d0b02000000000000000000000000000000000009141e2730373d4142464646464646463f3e3a352d251b0f060000000000000008121e2730373d414246464646464646433937332d261d140a00000006121f2b37434e58606d7984919e9f93887d6f665c51443b31261a0d04000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b989f9f9a8d8073675a5a6773808d9a9f9f988b7e7165584b3e3225180b000000000000050e18222a333c434b515860626a6f74787b7e80828485858686858483827f7d7a76716d66605c544e463f372e261d130a0000000000000000000000000000000000000000000000040d161d262d333c43474f54555c606366686a6b6c6c6c6c6b69686562605b54534e47423c332d261d150d030000000000000000000000000000000000000000000000000000000000050b1014191e2023282c2d2f3234353738383939393837373533312f2d2b2823201d19130f0a030000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8283838383828074675a4e414d5a6673808283838383827a6e6154473b2e21140800000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9c9083766d605d5559585855544e463c32261b0f030000000000000000000000000000000000000e1a2734414d5a6774808d9a9f9fa29f9e9d9a9590887f726d63584e43372b20150a0000000000000000000000000000000000000000050a0f1213131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313120f0a05000000000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a6875818e9b9a8e8174675f6a7683909d978a7d70646c7986929f968a7d7063574a3d3024170a000814202b37414b53595b60606060566875828e9b9285796c606060606060606060605b6576838f9c9285796c60606060606060606060585650483f34291d11050000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000030d1821323c444b4f5153535353535353534846423c332a1f1409010c18232d363f454a4b53535353535353534e4d4841392f1d140a0000000000000000000000000000000004101b25303942494d4f535353535353534c4a463f372d21180b020000000000050e1a24303942494d4f535353535353534f46443f382f261b11060000030f1b26313c45515d67707d8a939e9a9183786d60574d42362a1f160c010000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000020b17202a343c454d555d606a6f767c8084888b8d8f90929293929291908e8c8986827e79726d666058514940382e251c1108000000000000000000000000000000000000000000030c161f282f383f444e54596063676d707375777879797978787674726f6c66625f58534d443f382f271f150d0300000000000000000000000000000000000000000000000000000000000002080e1114171c1f20222527292a2b2c2c2c2c2b2b2a28262422201f1c1713110d080100000000000000000000000000000000000000000000000000000000000000000000000000000714202d3946525e686e767676767676746e64584c404b58636e737676767676766e685e5246392d20140700000000000000000000000000000000000000000000000000000713202c3945525d687784919dabab9f948b7f736d6766656565625f584e43372b1f13060000000000000000000000000000000000000e1a2734414d5a6774808d98989a9c9fa3aba7a09a938c7f726a6054473d32271b0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a6d7a86929f95897c6f635865727e8b989c8f8276696c7986929f968a7d7063574a3d3024170a000c1824303c48535d64686c6c6c6c6c6c727f8c9897887b6e6c6c6c6c6c6c6c6c6c6c6c6c73808d9998887b6f6c6c6c6c6c6c6c6c6c6c65625a50453a2e2115090000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000009141f2933444e565c5e606060606060606055534d453c31261a0e05111d29343f4851565860606060606060605b59534b412f261b11060000000000000000000000000000000915212c37424b53595c60606060606060595651493f332a1d140a00000000020d17202c36424b54595c606060606060605c53504941382d22170b0000000a15202935404b55616b75818e98a0958c7f72695f53463e31281e13080000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000a141d29333c464e575f676d747c82888d9196989a9c9d9e9f9f9f9f9e9d9b9999928f8a847f786f6a625b524a40372e231a0e0500000000000000000000000000000000000000000b151e283139424a50585f626b6f75797d7f828385858686858483817f7c79746f6a625f575049413931271f150b01000000000000000000000000000000000000000000000000000000000000000205060c10121316181a1c1d1e1f1f201f1f1e1d1c1a17151312100b0604010000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6169696969696967645c52473c47525c6366696969696969615e564c41362a1e1105000000000000000000000000000000000000000000000000000004111d2935414c566673808d99a3afa69f9388807a75737272726f6a5f54473b2e2215080000000000000000000000000000000000000e1a2734414d5a6774808b8b8c8d9092999ea5aca49f92877c6f62584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000060b0e101113131313131313110605030000000000000000000000000000000000000000000000000000000000000000000000000001040707131313131313131308070502000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a727f8b989d9184776b6054606d7a86929f93877b6e6c7986929f968a7d7063574a3d3024170a000e1a2734404d59646f74797979797979797d8996978a7e79797979797979797979797979797e8a97988b7e7979797979797979797979716c62564a3d3124170b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b455660676b6c6c6c6c6c6c6c6c6c5f574d42372b1e120915222e3a45515b62656c6c6c6c6c6c6c6c68655d5341382d22170b0000000000000000000000000000000c1925313d49535d65686c6c6c6c6c6c6c65625b51453c2f261c110600000008141e29323e48545d65686c6c6c6c6c6c6c69605b53493f33271b0f030000040c18242f39434f59616e7b85929f9f92867b6e615a50433a2f24190c0200000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000006111b262f3b454e585f696e7981878f949a9ea1a8a7a9aaaaaaa9a9aaaba9a8aba39f9c97918c847c726d645c524940362c20170c0200000000000000000000000000000000000007121d273039434b545b606a6f767c8185898c8e90919292929291908e8b8985817c756e69605b534b433931271d12070000000000000000000000000000000000000000000000000000000000000000000000030607090b0e0f1112121313121211100f0d0b090706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303b444c52545c5c5c5c5c5c5a58524a4136404a52585a5c5c5c5c5c5c54524c443b3025190d010000000000000000000000000000000000000000000000000000010d1924303b4854616e7b87929fa7afa49a938d8582807f7f7f7c6f6255493c2f221609000000000000000000000000000000000000091623303c4956636f7d7f7f7f8083868f939ea5afa3999083766a6054473b2e2215070000000000000000000000000000000000000000000000000000000000000000000000000000040b11171b1d1e202020202020201e13120f0b0600000000000000000000000000000000000000000000000000000000000000000002080d11131420202020202020201514120e090300000000000000000000000000000000000000000b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776a7783909d998c7f726559515d6774818e9a998c8073667986929f968a7d7063574a3d3024170a000e1b2835414e5b68748186868686868686898f999a908a86868686868686868686868686868a909a9b908b86868686868686868686867e7165584b3e3225180b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57677277797979797979797976695f53463a2d21140b1724313d4a56626d727979797979797979756f6553493f33271b0f0300000000000000000000000000020e1b2834414d59656f7579797979797979726d62574d42382d22170b0200050e1925303b44505a656f7579797979797979766c655b5044372b1f120500000007121d27313e46525e69727f8b959f988f82756c61554c4135291e140a00000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000b17222d38414d575f6a6f7b848e939a9fa6abacaaaaa39f9e9d9c9c9d9ea1a9a7acaca9a19e9691877f746e645b52483e32291e13080000000000000000000000000000000000040d18232e39434b555d666c737c83898e9298999b9d9e9f9f9f9f9e9c9b9897918d88827b736c655d554b43392f24180e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e29323b4146475050505050504e4c4741382f3840474b4d5050505050504746413b32291e1408000000000000000000000000000000000000000000000000000000000814212d3a46535e6974808d959fa7aca49f98928f8d8c8b8b7f7266594c3f3326190c0000000000000000000000000000000000000915222f3b4854606b6f72727273767b818e939ea9ab9f95897c6f6256493c2e23180c00000000000000000000000000000000000000000000000000000000000000000000000000050e161d22272a2b2d2d2d2d2d2d2d2b201f1b17110a02000000000000000000000000000000000000000000000000000000000000040c13191d20212d2d2d2d2d2d2d2d22211e1a140e06000000000000000000000000000000000000020b1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d9084776f7c88959f92867a6d61544b55626f7c89959e9184796d7986929f968a7d7063574a3d3024170a000e1b2835414e5b6874818e9393939393939699a1a29a979393939393939393939393939393979aa2a29b98939393939393939393938b7e7165584b3e3225180b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f69778486868686868686867b6e6155483b2e2215091825323f4b5865727f86868686868686868175655b5044372b1f120500000000000000000000000000020f1c2935424f5c687582868686868686867f72695f544a3f33281d140a020c17202a36414c56616c75818686868686868682796c605346392d201306000000010b151f2a36424d56606c788390999e948a7e71675d51453c30261c1106000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000030f1b27333f49535e696f7c8591969fa4acaca7a09d98989291908f90909197979b9fa2aaada8a099928c80746e635a50443a3025190d03000000000000000000000000000000010c161f2834404b555d676d78808790949b9fa2a9a29e9c9b9a9a9b9d9fa3a9a19e9a948f877f776d675d554b40352920170d02000000000000000000000000000000000000000000000000000000000000000000030607090b0d0f1111121313121211100f0d0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b43434343434341403c362f262e353b3f404343434343433b3936302920170d020000000000000000000000000000000000000000000000000000000005121e2a36424d57606d798390959fa2aaaaa29f9b9998988c7f7266594c3f3326190c00000000000000000000000000000000000007131f2c38434f59606365656567696e78818e97a1ada79a8d807467554b4034281c10040000000000000000000000000000000000000000000000000000000000000000000000000e1720282e33363739393939393939382d2b27221b140b0200000000000000000000000000000000000000000000000000000000040e161e24292c3939393939393939392e2d2b261f180f0600000000000000000000000000010507070f0f1825323e4b5865717e8b98a296897c6f6356493c30231a2734414d5a6774808d9a9d90847774808d9a9b8e8275685e524754606a7783909d978a7d707986929f968a7d7063574a3d3024170a000e1b2835414e5b6874818e9b9f9f9f9f9f9fa0acafa6a49f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a3a8a6a49f9f9f9f9f9f9f9f9f988b7e7165584b3e3225180b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b88969393939393938b7e7165584b3e31261a121e2a36424d576875818e9393939393939285786c605346392d20130800000000000000000000000000000714212e3a4754616d7a85919393939392867b6e665b50443c2f261c1108131e29323a46525e68717e8a939393939392857a6e655b5044372b1f120500000000030d1925303b44505b666f7c87929f9e91847a6d60584e42382e23170b020000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000005121f2b3744505b656e7b849197a0a8afa7a09d95908b8885848383838485878a8e92989fa3ababa39f928c80736c61564c41362a1f140900000000000000000000000000000008131e28313a45515c676d79828d92999fa6a39f9a97928f8e8d8e8e9092989b9fa3a69e99928c82796d675d51453f32291e140800000000000000000000000000000000000000000000000000000000000104060b10121315171a1c1d1e1f1f201f1f1e1d1b19171514120e09060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3636363636363433302b241d242a2f32333636363636362e2d2a251e170e050000000000000000000000000000000000000000000000000000000000020e1a25313b45515c676d7a838c92989b9d9e9fa39f9f998c7f7266594c3f3326190c000000000000000000000000000000000000030f1b27323d474f5456585859575e666d7a85929eabaa9d908377675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000711202932393f434446464646464646443937332d261d140a000000000000000000000000000000000000000000000000000000020c1620283035394646464646464646463b3a37312a21180e030000000000000000000002080d1113141c1c1c25323e4b5865717e8b98a296897c6f6356493c30231c2734414d5a6774808d9a9d9084777985929e96897d7063564c434e5865727e8b989c8f82767986929f968a7d7063574a3d3024170a000e1b2835414e5b6874818e93939393939393939fa3a59d9b939393939393939393939393939394979ea49d9a9393939393939393938b7e7165584b3e3225180b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000030d152c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a5465727e8b98a89f9f9f9f9b8e817568574d42372b1e14212d3a46535f697884919e9f9f9f9fa197887c6f6255493c2f24190d01000000000000000000000000000713202d3946525e68707d8a929da8a2989083786c60574d42382d22170e1925303a44505a616e7a85929ea5a89d938a7d70685e53493f33271b0f03000000000009141f28333f4a545f6a74808d96a1978d80746a60544a3f34281f14090000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000004101c2834404a54606c77828f96a1a9aea49d959189837f7c797777767677787a7d81868c9299a0a8afa49c928a7e70685e52463b31251a0e0000000000000000000000000000010d19242f3a43505a606d79828f949fa3a7a099928e898583818181828386898e92999fa7a39f948f82796d605b51443b3025190e02000000000000000000000000000000000000000000000000000001070d1113171c1f20222426292a2b2b2c2c2c2b2b2a28262422211e1a1312100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e20212929292929292726241f1a13191f23262729292929292921201e19140d050000000000000000000000000000000000000000000000000000000000000009141f2934404b555e686d7980858b8e909192999393938c7f7266594c3f3326190c000000000000000000000000000000000000000a16212b353d4348494c4c4c4d545d6873808c99abac9f9286796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000050f1923323b444b4f51535353535353535146443f382f261b1106000000000000000000000000000000000000000000000000000008131e28323a41455353535353535353534846423c332a1f1409000000000000000000040c13191d202128282828323e4b5865717e8b98a296897c6f6356493c3028282834414d5a6774808d9a9d9084777d8a979e9184786c6053463d4754606d7a86929f93877b7986929f968a7d7063574a3d3024170a000e1b2835414e5b68748186868686868686868692999d938e8686868686868686868686868686878c979d928d868686868686868686867e7165584b3e3225180b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000010b151f2935414c566c7885929fabada093867a6d6053473a2d20160c0200000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c6675828f9ba8acabacab9e918578695f53473a2e2115222e3b4855616e7b8896a1adacaaaca9998c7f7366564c4135291d11040000000000000000000000000005111d2a36414c56616b74808d96a0aa9f948b7f72695f544a3f33281d16202a36414c56616c75818f97a1aba0968e81746c61564d41382d22170b000000000000020b17222d38424e58606d7984919e9f93877c6f665c50443b30251a0d0300000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000006121f2c3844515c66717e8b949fa9afa59d928d837d77726f6d666a69696a696e70747a80879196a0a8aea49e92857a6d61574d42362a1c11060000000000000000000000000004111d2935414c56616c74818e949ea6a69f959087817c79767474747577797d818790959ea5a69e948e81756d62564c41362a1e140800000000000000000000000000000000000000000000000003090e13181d2023282b2d2f3133353737383939393837373533312e2d2a26201f1c17110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114141d1d1d1d1d1d1b1a17140e080e1317191a1d1d1d1d1d1d1414110d08020000000000000000000000000000000000000000000000000000000000000000030c18232f39434c565e676d737a7e8184858686868686867f7266594c3f3326190c00000000000000000000000000000000000000040f19232b32383b3c3f3f3f424c56626f7c8899a3aea399877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000000000b16212b35444d565b5e606060606060605e53504941382d22170b00000000000000000000000000000000000000000000000000010d1924303a444c525f606060606060606055534d453c31261a0e0200000000000000040e161e24292d2e35353535353e4b5865717e8b98a296897c6f6356493c3535353535414d5a6774808d9a9d908477828e9b9a8c8073665b50443945515d6774818e9a998d807986929f968a7d7063574a3d3024170a000e1a2734404d59646f7479797979797979797987929b8e8179797979797979797979797979797a87969a8d8079797979797979797979716c62564a3d3124170b0000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000007121d27313945525d687885929fabada093867a6d6053473e32281e13080000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7985929fa8a19ea1a8a197887b6e6255483b2f221825313e4b5864717e8b97a8a8a09ea0a89c908376685d5245392c20130700000000000000000000000000010d1925303a444f59606d79849199a3a69f92867b6e665b50443c2f261e28323a46525e68717e8a939ea9a3999184796d605a50443b2f261b11060000000000000006111c262f3c45515d67707d8a949e999083786d60574d42362a1f150b01000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000713202d3a4653606d7984919ea6b0a79d938d8079706b6562605c545c5d565e6164686d737c849196a0aaada2978e8174695e5346382e23170b000000000000000000000000000613202c3945525d68717e8a939da6a89f948f837c746f6c6668676768666d70757c838f939ea7a69e938b7f72685e52463b3025190d01000000000000000000000000000000000000000000040a0f151a1d24292c2e34383a3c3e404244444546464545444342403d3b3a36312d2c28231c19130d080200000000000000000000000000000000000000000000000000000000000000000000000000000000010507081010101010100e0d0b08030002070a0c0d10101010101008070501000000000000000000000000000000000000000000000000000000000000000000000007121d27313a444c555d60686d71747778797979797979726d63574b3e3225180c000000000000000000000000000000000000000007101921272c2f3032322f3a4653606d7986929facab95887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000004101c27323d47565f676a6c6c6c6c6c6c6c6b605b53493f33271b0f0300000000000000000000000000000000000000000000000004111d2935414c565d6c6c6c6c6c6c6c6c6c6c5f574d42372b1e1205000000000000020c1620283035393a4242424242424b5865717e8b98a296897c6f635649424242424242414d5a6774808d9a9d90837a86929f93877b6e61544a3f35414c55626f7c89959e91847886929f968a7d7063574a3d3024170a000c1824303c48535d64686c6c6c6c6c6c6c677783909d918477686c6c6c6c6c6c6c6c6c6c6c687784919d908377676c6c6c6c6c6c6c6c65625a50453a2e2115090000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000030c18242f39434f59606d7a86929facaea194877b6e615a50443a3024190d030000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8998a2a1969196a1a9988b7e7265584b3f31261e2a36424d576874818e9ba9a0969196a09f92867a6d6054473a2d21140a000000000000000000000000000008131e28323e45515d676f7c87929fa6a2989083786c60574d42382d25303a44505a616d7a85929ea5a69f92877c6f675d51483e32291d140a0000000000000000000a141d2935414b55616c75828f98a0958b7f72695e52463e31271d1207000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00030f1c28333f4a5464717d8a96a1acaca0958e81746d6760595553514a50504d5254565d606a6f7b849198a2aea99f92867b6e61544a3f34281c1003000000000000000000000004111d2935414c55606d7a85929ea5aca0968f82796e6a62605b545a5b545c60636a6e78818f959faba59f92857a6e61564c41362a1e11050000000000000000000000000000000000000000070c151b20262b2f35393a3f4446484a4d4f5051525253525251504e4c4a4846423d3a38342e29251e19140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f29323a434b51565d6064686a6b6c6c6c6c6c6c66635b51463a2f22160a000000000000000000000000000000000000000000070f161b1f222325252c3844515c667784919daaa296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000000713202c38444f5967717779797979797979776c655b5044372b1f14090000000000000000000000000000000000000000000000000713202c3945525d6876797979797979797976695f53463a2d21140700000000000008131e28323a4146474f4f4f4f4f4f4f5865717e8b98a296897c6f63564f4f4f4f4f4f4f484d5a6774808d9a9d90837e8b989c8f8276695e5342382f3a4754606a7783909d978a7d86929f968a7d7063574a3d3024170a000814202b37414b53595b606060606060556774818d9a96877a6d61606060606060606060566875818e9b9286796d6060606060606060585650483f34291d11050000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000a151e2935404b55606b74818e98a3aeb5a89c8f82756c61564c4135291f150b0100000000000000000000000000000000000000000000000000000000000005111d2935414c566673808c99aa9e9184919eaa9b8e817568584e43372b202d3a46525e697784919ea1979184919ea3998a7d7164574a3e31261b0f0300000000000000000000000000020c16202935404b55606a737f8c949faa9f948b7f72695f544a3f332935414c56616c75818e97a1aa9f948c7f736a60554b40362c20170b02000000000000000000020b18242f3a43505a616e7b86929f9f92867b6e61594f43392f24180b020000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0006121f2b3844505b6675828f9ba8b1a89d9083786d605c554f4946444043434246474c52585f696e7b86929fa8afa3998d8073665c5044382b1f120600000000000000000000000613202c3945515d6773808d97a1ada69e91847a6d675f5853504a4e4e4b5153585f666d79839099a3ada2978d8174685e5246392d201409000000000000000000000000000000000000030b121820262b31373a4145474a50535557595c5d5e5e5f5f5f5e5e5d5b595755534d4946443f3835302a251e170e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000002080c1012121313131313131313060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d172029313940454c5254585b5d5e5f6060606060595751493f352a1e120600000000000000000000000000000000000000000000040a0f131516191c2834404a546a7683909da9a296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000000916222f3b4854606b77838686868686868684776c6053463b30251a0e0000000000000000000000000000000000000000000000000714212d3a4754606d7a86868686868686867b6e6155483b2e2215080000000000010d1924303a444c52545b5b5b5b5b5b5b5b65717e8b98a296897c6f635b5b5b5b5b5b5b5b54535a6774808d9a9d918483909c978a7e7164574d422f2b37434e5865727f8b989b8e8187929f968a7d7063574a3d3024170a00030f1a252f3941484d4e5353535353535864717e8b97968a7d70635753535353535353535865727f8b9899897c6f63565353535353534b4a453f362d22180c010000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000006111c26303845515d67707d89939daab4b9aa9e948a7e71685d52463d31271d12070000000000000000000000000000000000000000000000000000000000000713202d3946525d687683909da8988c7f8c98a29e9185786a5f53473a2e212e3b4754616e7b8796a09e9285808c99ab9a8e817467584e43372b1f12060000000000000000000000000000050e18242f39434e58606d78839098a2a69f92867b6e665b50443c323a46525e68707e8a939ea9a2989083786d60584e43392f231a0e05000000000000000000000007131d28313e46535e69727f8c95a0988e81756b61554b4035291d140a0000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000613202d394653606c7985929fabaca095897d70665c514b433d3a38342e30363a3b41454e565e69727f8b96a0acab9e9185796d6053463a2d20130700000000000000000000000714212d3a4754606d7a85929fa9aa9e94897d70685d554e46443f41414045464e545c676f7c87929faca99f92867a6e6154473c31261a0e0200000000000000000000000000000000070c151d232831373c42474b5154545c60626466686a6a6b6c6c6c6b6a6a686664615f575653504a46413a3630292019130d0500000000000000000000000000000000000000000000000000000000000000000000000000000000060d13181c1e1f202020202020202013100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f272f353a4145474b4e51525353535353534c4b463f372e23180d02000000000000000000000000000000000000000000000000030709090c18232e43505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5663707d8995939393939396897d7063574d42362a1c110600000000000000000000000000000000000000000000000714202d3a4753606d7a86939393939393877b6e6154483b2e211508000000000005111d2935414c565d61686868686868686868717e8b98a296897c6f686868686868686868615e576774808d9a9f928690949e9285796d6053463b3127323d4754606d7a86929f928588939f968a7d7063574a3d3024170a000009131d272f373c404146464646464855626e7b8897998d807366544a3f46464646464956626f7c8998988c7f7265594c46464646463e3d3a342d241b1106000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000020b17232e38424e58606d7984919ea5afafacafa69e92857a6d61594f43392f24180c0300000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939fa096877a85929fa197887b6e6255483b2d22313e4b5764717e8a97a89b8f827d8a96a89e9184786a5f53473a2e21150700000000000000000000000000000007121d27313c44505c666e7b86929fa5a2989083786c60574d423a44505a616d7a85919ea5a59f92867b6e665c50463d31281d1108000000000000000000000000010c161f2a36424d57606d788390999e938a7d70675d51453c2f261b110600000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000815222f3b4855626e7b8897a2adaa9d9184776b60544a4039312d2c2823252a2d30353c444d57606c7884919eaaada197897c6f6356493c302316090000000000000000000005111e2a36424d5765727f8b98a2aea99c8f82756b60564c433c38332d2e34383c424b555f6a74818e9ba8aea3988c7f7266574d42372b1e12050000000000000000000000000000000810191e272e343c43474d53555d6064666d6f7173757777787979787877767573706e696763605c54524c46413b322a251e170e0600000000000000000000000000000000000000000000000000000000000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d24293035393a3e4144454646464646463f3e3a352e251c12070000000000000000000000000000000000000000000000000000000000071d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000713202d3946525e6875818e9ba89f9f9fa89b8f8275695e5246382e23170b00000000000000000000000000000000000000000000000713202d3a4653606d79869aa49f9f9f94877a6e6154473b2e21140800000000000713202d3946525d686d757575757575757575757e8b98a296897c757575757575757575756e695e6774808d9aa29892989f9a8d8074665c51453829202c3945525d6874818e9b9892939aa4968a7d7063574a3d3024170a0000010b151d252b30343539393939394653606c7985929c8f8376665c5044383939393a4653606d7986929b8e827568574d423639393932312e29221b120900000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000a141d28343f4a54606a73808d96a0acaca49fa4aca1978e81746b60554b4035291e150a00000000000000000000000000000000000000000000000000000000000b1724313e4a5764717e8a99a49e918477828f9ca9988b7e726553493f332a36414c566774818d9aaa988b7f7a8796a0a196887c6f6255483c2f24180d010000000000000000000000000000010b151f28343f4a545f69717e8b939ea99f948b7f72695f544a414c56616c75818e97a1a89e938b7e71695f544a3f342b1f160c0000000000000000000000000000040d1a25313b44505c666f7c87939f9e9184796d60584e41382d22170b02000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000a1724303d4a5763707d8a96a9b3a69a8d807367594f42382f27201f1c18191e202429323b44505b65737f8c99a9a6a9998c807366594d4033261a0d000000000000000000000714202d3a46525e697683909daaada196897d7063594f433a312b282223282c3039434e58626f7c8895a0acaa9d908477695f53463a2d211407000000000000000000000000000009111a222a303940454e53575f62676d7175797b7d8082838485858685858483817f7d7b7874706d66615e56524c443e36302920180f0700000000000000000000000000000000000000000000000000000000000000000000000006101922293035383939393939393939392c29231d150d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181e24292c2d3135373839393939393933322f2a231c130a000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616d7a86929facacacacac9f92877b6e61544a3f34281c10030000000000000000000000000000000000000000000006121f2c3844515c667986939facaca094877a6d6154473a2e21140700000000000714212e3a4754616d7a8182828282828282828183909da99c8f82828282828282828282817b6e616774808d9aaaa29fa29f95887b6f62544b4034281d2935414c56626f7c8995a09f9fa4ac968a7d7063574a3d3024170a000000030b131a202427282d2d2d2b3744505b6576828f9c9285796d6053463a2d2d2c3844515c667683909c918478695e52463a2d2d2d2524211d1811090000000000000000000000000714202d3a4753606d7a8693a0ada6998c807366594d4033261a0d0707040100000000000000000000000000000000000000000000000006111b262f3844505c666f7c87929fa8a69f9a939aa4a99d93897d70675d51453c30261c110600000000000000000000000000000000000000000000000000000006121f2b37434e586774818e9aab9b8e81757f8c99a99b8e8275655b5044372d3946525e687784919da298887c7784919ea9998c7f7266554b4035291d1104000000000000000000000000000000030d17232e38424d57626c75828f97a1a69f92867b6e665b5045525d68707d8a939ea9a1968e81756c62574d42382e22190d0400000000000000000000000000000009141f28343f4a54606a74808d97a1968d80736a5f53493f33271e1308000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000b1825323e4b5865717e8b98a4b1a4978a7e7164574b3e30261d1512100c0e1114192027333f4953616e7b88979a9998978f8276695c4f4336291c10030000000000000000000814212e3b4754616e7b87959fabab9e9184786c6053463d31281f1c17181c1f27313c47535f6a7784919daaaca095887b6e6155483b2e2215060000000000000000000000000009121b232c343c424b51585f62696e747a7d8185888a8c8f9091919292929191908e8c8a8884807d79736d68615e565046413a322a2119100700000000000000000000000000000000000000000000000000000000000000000000020d18222b343b414445464646464646464638342f271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c13191d202125282a2b2c2d2d2d2d2d2625221e18120a01000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000006121f2b3844505b66727f8c99a3aeaaa8aaafa3998c7f73665c5044382b1f14090000000000000000000000000000000000000000000004101c2834404a5f6c7986929facada093867a6d6053473a2d20140700000000000815212e3b4854616e7b878e8e8e8e8e8e8e8e8e90959fab9f948f8e8e8e8e8e8e8e8e8e887c6f626774808d9aa7aeacaa9d9083766a5f5342392e2319242f3a4754606a7783909daaacafa3968a7d7063574a3d3024170a0000000001090f14181a1b20201b27333f495366737f8c9998887c6f6255493c2f222834404a546773808d9a96877b6e6154473b2e212020201b1a17140e08010000000000000000060c1114202d3a4753606d7a8693a0ada6998c807366594d4033261a1a1413110d0801000000000000000000000000000000000000000000000b17222d38414d57606d78839099a3ab9f948f87939fa8a59e9184796d60584e42382e23170c0300000000000000000000000000000000000000000000000000000814212e3a47535f6a7884919eab988c7f727c8897a29e9285796c605346392e3a4754616d7a8795a09f92857974818e9ba79c8f8376675d5145392c2013060000000000000000000000000000000006111c26303b45505a616d7a85919ea4a2989083786c60574f59606d7a84919ea5a49a91847a6d615a50453b30261c100700000000000000000000000000000000030c17232e38424e58606d7a85919e9f92877c6f655b50443a3025190c030000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000c1925323f4c5865727f8b98a5afa396897c706356493d3023140b0604000205080e17222d3846535f6978858e8d8c8c8b8a85786b5e5245382b1f12050000000000000000000b1824313e4b5764717e8a97a7b1a79a8e8174665b5044382b1f160f0b0c10151f2b37434e586773808d9aa6b1a7988b7e7165584b3e2d22170b00000000000000000000000009121b242d353e464e545c606a6f757b81868a8e929797999b9d9d9e9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b2219100700000000000000000000000000000000000000000000000000000000000000000008131f29343d464c5152535353535353535345403931271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314181b1e1f202020202020191816120d070000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eaba69e9c9ea6ab9e9184786d6053463b31261a0e00000000000000000000000000000000000000000000000c18232e46525f6c7985929facaca09386796d6053463a2d20130700000000000815212e3b4854616e7b87949b9b9b9b9b9b9b9b9d9fa79fa69f9c9b9b9b9b9b9b9b9b95887c6f626774808d9a9f9f9fa2988b7e7165584e4330271d131e2b38434e5865727f8b98a29f9f9f968a7d7063574a3d3024170a0000000000010911181e2225252d222d3d4a5663707d899a988b7f7265584c3f3025232e3e4a5764717d8a97978a7d7164574a3e2e232d2d2d2726241f1a130b020000000000000910171d21202d3a4753606d7a8693a0ada6998c807366594d403326262621201d19130c040000000000000000000000000000000000000000040f1b27333f49535f69727f8c95a0aba3998f82808c96a0aca0968d80736a5f544a3f34281f140900000000000000000000000000000000000000000000000000000815222f3b4855626e7b8896a1a399897c6f7985929fa197887b6f6255483c2d3e4a5764717d8a97a89c8f8276717e8b98a89f92867a6d6053473a2d20140900000000000000000000000000000000000a141e29333f46525e68707d8a929da89f948b7f72695f56616b74818e97a1a79f93887d70685d52483e33291e140a00000000000000000000000000000000000006111c26303d45525d68717e8a949f999083776c60564c41362a1e150b0000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000c1825323f4b5865727e8b98a5afa295897c6f6256493c2f23160600000000000006111b2a36424d576673808180807f7e7d7d706356493d3023160a000000000000000000010e1b2834414e5b6774818e9aa7b4aa978a7e7164544a3f3328190d040000040d1b26323d4a5764707d8a97aab4a79b8e81746853493f33271b0f030000000000000000000007101b242d363e474f585f666d737c82878e92989b9ea2a9a6a8aaa8a7a6a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e0500000000000000000000000000000000000000000000000000000000000000000c1824303b464f575d5f606060606060605f514b43392f23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070b0e11121313131313130c0c0a0602000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000005121e2a36424d5763707d8a96a0ab9e948f949eaaa1968a7d7064574d42362a1c120700000000000000000000000000000000000000000000071f2c3845525f6b7885929eabaea3998679665c5145382c1f130600000000000815212e3b4854616e7b8793939393939393939393939393939393939393939393939393887c6f626774808d939393939392857a6d6054473c3121150f1b27323d4754606d7a869293939393938a7d7063574a3d3024170a000000000009131b23292e31323939393a4754606d7a86939b8e817568564d42363939393b4854616e7b87969a8d807367544a3f34393939393433302b241d140b010000000009121b22282d30313a4753606d7a8693a0ada6998c807366594d40333333332d2c29241e160d04000000000000000000000000000000000000040e1a242b3744505b656e7b86929fa7a89f92867c7984919ea5a89f92877c6f665c50443c31261a0e0500000000000000000000000000000000000000000000000004101c2934404b5565727f8c98a89f9286796d75828f9ba9988b7f726553493f35414c566774808d9aaa998c7f726e7b8896a1a3998a7d7064574a3d31261a0e0200000000000000000000000000000000020c18212a36414c56616b74818d96a0a69f92867b6e665d68707d8a939ea9a0958d80736b60564c41362d21180c02000000000000000000000000000000000000000a151e2935414c56616c76828f989f948b7e71685e52463d30271d120700000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000b1724313e4a5764717d8a97a4b0a396897d7063564a3d2d22170b010000000000000e1a26313b4b58636e73757473727170706b6054483b2f22160900000000000000000005111e2a36414c566a7683909da9aea298887b6e6155483b2d221708000000000a15212e3b4854616e7b8798a2aeaa9d908377655b5044372b1f1205000000000000000000050e19222d363e485059616a6f7980878f93999fa3aaabaaaaa29f9d9b9a9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c0300000000000000000000000000000000000000000000000000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c5c554b4034291c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000714202d3a46525e6975828f9ba8a3998f828f98a2a89c8f8276695f5346392e23180c00000000000000000000000000000000000000000005121f2b3845525e6b7885919eabac9f9286796c5f4b4034281c100400000000000815212e3b4854616e7b8686868686868686868686868686868686868686868686868686867c6f62677480868686868686868174675d5145392c20130a16202c3945525d687481868686868686867d7063574a3d3024170a0000000007111b252d343a3e3f4646464645525d687784919d918478695e5246464646464646525e697884919c908376665c50444646464646413f3c362f261d130800000006101b242c34393d3e404753606d7a8693a0ada6998c807366594d40404040403a39352f2820160c0100000000000000000000000000000000020c16202a36424d56606c77828f98a3aca0968c8073707d8a939eaaa3999083786d60574d42372b20170d02000000000000000000000000000000000000000000000006131f2c3845515c6776828f9ca99c90837667727f8b98a99b8f8275655b50443945525d687783909da298897c6f697884919eab9a8d817467574e42372b1e12060000000000000000000000000000000000060f1925303a444f59606d79849199a3a2989083786c606d7a84919ea5a3989083796d60594f443a30241b0f060000000000000000000000000000000000000000030c19242f3a43505a616e7b86929f9e92857a6d61594f42392e23180c03000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000a1623303d495663707c8996a8b1a4978b7e7164544a3f33281d120700000000000009141f2f3b47525c63666867666564646360594f44382c2013070000000000000000000713202d3946525e687885929fabac9f9285796c605346392d201306000000000714212d3a46535e697985929facac9f9285796c605346392d2013060000000000000000020d17202b343e48505a616b707c838c92999fa4abaca7a09d999892908f8d8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b00000000000000000000000000000000000000000000000000000000000005121e2b3844515d6973787979797979797976675c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313060400000000000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87929fac9f92877a85929fab9f93877b6e61544a4034281c1004000000000000000000000000000000000000000005121e2b3845515e6b7884919eabac9f9285796c5f52462e23180c0000000000000714202d3a46525e6976797979797979797979797979797979797979797979797979797979766a5f646e7479797979797979746f64554b4135291d1104111d2935414c56646f7479797979797979706b6155483c2f231609000000010d18232d373f464a4c53535353534c566774818e9a96877b6e6154535353535353534d576875828f9b9285796d60535353535353534e4c4741382f241a0e0300000c17222c363e45494b4d4d53606d7a8693a0ada6998c807366594d4d4d4d4d4d4745413a32281e13080000000000000000000000000000000008131e28323a46525e69717e8b949faaa59e9184796d6b75818e98a2aba0958c7f72695f53463f32291e140800000000000000000000000000000000000000000000000714202d3a4753606d7986929fab998d8073666f7b8897a19e9285796c6053463a4754606d7a86939f9f9286796d6875818e9ba89e9184786a5f53473a2e21140700000000000000000000000000000000000008131e28323e45515d676f7c87929fa79f948b7f726b74818e96a1a69f92867c6f675c51473d32281e12090000000000000000000000000000000000000000000008131e28313e46535f69727f8c95a0978e81746b60544b4034281f1409000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000814212e3b4754616e7a8795a0aca79a8e8174665b5044392f2318110a020000000003131f2a35404a52585a5b5a5959585756544f473d32271b10040000000000000000000714212e3a4754616d7a8798a2aeaa9d918477665b5044382b1f12060000000005121e2a36424d576a7784919daaaea298877a6e6154473b2e211408000000000000000009141f29323d46505a626c717d8690959fa3ababa49f9b95908c898584828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d1207000000000000000000000000000000000000000000000000000000000006121f2c3945525f6c788586868686868686796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151520202020202013100c070100000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000006121f2c3844505c6673808c99a3ab9c8f8276818e9ba9a4998d8073665c5144382c1f1509000000000000000000000000000000000000000005111e2b3844515e6b7784919eaaab9f9285786c5f5245392c1f0700000000000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c625f585c64676c6c6c6c6c6c6c67645d53433a2f24180d010d19242f3a43535d64686c6c6c6c6c6c6c6361594f44382c20140700000006121e29343f495156586060606060606065717e8b98978a7d71646060606060606060606065727f8c9898887c6f62606060606060605a58524a41362b1f14080005111d28343e48505557595959606d7a8693a0ada6998c8073665959595959595954524c443a2f24190d010000000000000000000000000000030d1924303a44505a616e7b85929fa6a99e93897d7067616e7b86929fa7a79f92867b6e615a50443b3025190d04000000000000000000000000000000000000000000000a1723303d4a5663707d8998a2a3998a7d70636a7885919ea297887c6f6255483d4a5763707d8a99a49c8f82766665717e8b98a8a196887b6e6255483b2f24180c000000000000000000000000000000000000020c16202935404b55606a737f8c959fa69f92867b707d89939da89f948b7f726a5f554b40352b20160c0000000000000000000000000000000000000000000000010c161f2a36424d57606d7883919a9e93897d70665c51453c31261a0d040000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000714202d3a46525e697784919dacab9e9184786c60554b403429221c140b05000000020e19242e3840474b4d4e4d4d4c4b4a4948443d352b21160b000000000000000000000915222f3c4855626f7b8895aab4a99c8f837669544a3f33281c0f0300000000020e1a2531434f5c6976828f9ca9b4aa95887b6f6255483c2f22150900000000000000030d1925303b444e58626c717e879298a0a7afa79f99938e88837f7c79777574737373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c030000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929393939393867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d1f1c18120b03000000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919eaba3998b7e717d8a97a2ab9e9285796d6053463c31261a0e010000000000000000000000000000000000000004111e2b3744515e6a7784919daaab9e9185786b5e5245382b1f12050000000000020e1a25303b454d525f60606060606060606060606060606060606060606060606060606055534e52585a606060606060605b59534b4131281d13070008131e2831414b53595b6060606060606057554f473e33281c10040000000916222e3a46515b62656c6c6c6c6c6c6c6c6f7b88989a8d80736c6c6c6c6c6c6c6c6c6c6c6c6f7c8999988b7e726c6c6c6c6c6c6c6c67645c52473c3024170b000815212d3945505a6164666666666d7a8693a0ada6998c80736666666666666666605d564c4135291d110400000000000000000000000000010b151f2935414c56616c75828f97a2ada2978e81756b605e69727f8c95a0aca2988f82766c62564c41362a1f160c01000000000000000000000000000000000000000005111e2a36414d566773808d9aaa9f92867a6d606875818e9ba9988b7f7265544a404b556773808d9aaa998c7f7366616e7b8896a1a8988b7f7265554b4035291d1004000000000000000000000000000000000000050e18242f39434e58606d78839098a2a29890827a84919ea5a2978f82776c60584e43392e23190e04000000000000000000000000000000000000000000000000040d1a26313b44515c666f7d88939f9d9184796d60574d42372b20160c0100000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0005111e2a36424d566774808d9aa4ada1968a7e71675c51453f332d261d170e0600000008121c262e353b3f404241403f3e3d3d3b38322b23190f04000000000000000000000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422d22170b000000000000091c2835424f5b6875828e9ba8b0a396897d7063564a3d3023170a000000000000010b151f2a36424d56606a717e889299a2aaafa49c959087817c77726f6d6668676766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b4034282015090000000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929f9f9f9f93867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939392c29231d150d030000000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000000000000000000000000000000000005121e2a36424d5764707d8a96a1ac9f92867a6d7985929faba1978a7e7164574d42372b1d12070000000000000000000000000000000000000004111d2a3744505d6a7783909daaab9e9184786b5e5145382b1e120500000000000009141f29333b424648535353535353535353535353535353535353535353535353535353494743474c4d535353535353534e4c4841382f1f160c0100010c161f2f3941484d4e535353535353534a48443e352c21160b000000000b1825313e4a56626d727979797979797979797885929d908379797979797979797979797979797986929b8e81797979797979797979746e64584c3f33261a0d000a1724303d4955616c7173737373737a8693a0ada6998c807373737373737373736d685d5245392c2013070000000000000000000000000007121d27313945525d68717e8a939ea9a69f92857a6d615957606d7883909aa4aa9f948b7e71685e52463e31281e130800000000000000000000000000000000000000000714202d3946525e687784909daa9d908377675d65717e8b98a89b8f8275665b5045515d677683909da298897c6f635f697884919ea99c8f8276675d5145382c1f13060000000000000000000000000000000000000007121d27313d44505c666e7b86929fa69f9490849196a1a59e92857b6e655b50463c30271d1108000000000000000000000000000000000000000000000000000009141f2834404a54606b74818e97a0968c7f73695f53463e32281e130800000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00020e1925303b4855626e7b87939faaa99e9184796d605a50443f382f292017110a0300000a141c242a2f3233353433323131302f2c272119110700000000000000000000000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b060000000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a00000000000007121d27313946525e696f7c86929aa3ababa39f928d837c756f6a6662605c545a5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e0500000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabaca093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c46464646464638342f271f150b0100000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000714212d3a46535f6976828f9ca8ab9c8f82766874818e9ba9a99c8f8276695f5347392f23180c0000000000000000000000000000000000000004101d2a3743505d6a7683909da9aa9e9184776b5e5144382b1e1105000000000000020d17212930363a3b4646464646464646464646464646464646464646464646464646463c3b373c3f414646464646464641403c362f261d0d04000000040d1d272f373c4041464646464646463d3c38332c231a1005000000000c1925323f4c5865727f868686868686868686868a989f95908686868686868686868686868686868b999e938e8686868686868686868074675a4e4134271b0e000b1824313e4b5764717e8080808080808d99a6b3a99c90828080808080808080807a6d6054473a2d211407000000000000000000000000030c18242f39434f59606d7a85919ea5ab9f948b7e71685e52505c666f7c87939fa9a69f92857a6e61594f433a2f24190c03000000000000000000000000000000000000000814212e3b4754616e7a8795a0ac9a8d80736755616e7b8796a19f9285796c60534753606d7a86929f9f9285796d60576874818e9ba79f9286796d6053473a2d20140900000000000000000000000000000000000000010b151f28343f4a545f69717e8b939ea69f969196a0a89d938a7e71695e53493f342a1e150b000000000000000000000000000000000000000000000000000000030c18232e39424f59616d7a85929e9f92867b6e615a50443a2f24190c02000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000914212e3a47535f6a75828f98a3aca0968d80746c625a504a423b3228231c150c0500020a12191f2326272827262625242322201b160f070000000000000000000000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b0000000000000c18232f3943505a616e7b859198a3acaca399928b80786f6a625f585653504a4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b00000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474853535353535345403931271d120700000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000004101c2834404b54616e7b87939faca3998b7e7165707d8a97a2ab9f94887b6e62554b4034291c100400000000000000000000000000000000000003101d2a3643505d697683909ca9aa9d9184776a5e5144372b1e110400000000000000050f171f252a2d2e3939393939393939393939393939393939393939393939393939392f2e2b303334393939393939393433302b251d140b00000000000b151d252b30343539393939393939302f2c28211a110800000000000c1925323f4c5865727f8b93939393939393939394a2a79f9d9393939393939393939393939393939fa3a59e9b93939393939393938d8174675a4e4134271b0e00101c2936434f5c6976828c8c8c8c8c8d929ca8b4ab9f94908c8c8c8c8c8c8c8c877b6e6154483b2e2115080000000000000000000000000a151e2935404b55606b74818e97a1ada3999083776c60564c4a54606b74818e97a1ada2978e81756c61554c4135291e150b000000000000000000000000000000000000030f1b27333f495364717e8b97a7a49a8a7d7064575e697884919ea297887c6f62554a5663707d8999a39c8f8276665c5864717e8b97a8a3988a7d7063574a3d31261a0e0200000000000000000000000000000000000000030d17232e38424d57626c75828f97a1a8a09ea0a8a0968e81746c61564d41382d22180c030000000000000000000000000000000000000000000000000000000007121c27303d46525d68717e8b949f988f82766c61564c4135291e140a000000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000006121f2b37434e58626f7c86929fa6a89d928b7e716c605b544d443d342e261e170e070000080e1317191a1b1a1a191817161613100b04000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e0100000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b000000000004101c2934404b55616c76828f97a1aaafa49a92877e736d665f58534e4946443f41404040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c1004000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c464e535560606060605f514b43392f23180c00000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000000000000000000000000000006131f2c3845515c6673808d9aa4ac9f92867a6d606d7985929faba69a8d8073675c5145382c1f150a00000000000000000000000000000000000003101d293643505c6976838f9ca9aa9d9084776a5d5144372a1e11040000000000000000050d141a1e20212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d22211f2326272d2d2d2d2d2d2d282724201a130b020000000000030b131a202427282d2d2d2d2d2d2d2423201c1610080000000000000c1925323f4c5865727f8b989f9f9f9f9f9f9f9f9faaacaba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9faaacaaa89f9f9f9f9f9f9f9a8d8174675a4e4134271b0e00101c2936434f5c6976828f99999999999ca4aeb9b0a69f9c9999999999999994877b6e6154483b2e211508000000000000000000000006111c26303845515d67707d89939da9a89f92877c6f655b5044424f59616d7a85929ea6a99e938a7d70675d51453d30271d1207000000000000000000000000000000000005121f2b3744505b6575818e9ba89f93867a6d6154576774818e9aa9988b7f7265544b556673808c99aa998c7f72665454616e7b8796a1aa9a8d807467574d42362a1e1205000000000000000000000000000000000000000006111c26303c45505a616d7a85929eabacaaaca3999184796d605a50443b2f261b10060000000000000000000000000000000000000000000000000000000000000b151e2935414c56626c76828f989f948a7e71685d52453d30261c11060000000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000020f1a26313c47535f6a727f8c949fa7a49f93877e736c665e564f443f38302920191109000002070a0c0d0f0e0d0c0b0a0a0907040000000000000000000000000000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b000000000006131f2c3845515c67707d8a949fa9b0a69f93887e716c605c544e47433c3a38342e3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6c5c554b4034291c1004000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca9a396897d7063564a3d302317080806020000000000000000000000000000000000000000000000000713202d3a4653606d7985929eacaa9c8f8275685d6674818e9ba9ab9e9285796d6053473c31261b0f01000000000000000000000000000000000003101c2936434f5c6976828f9ca9a99d9083766a5d5043372a1d100400000000000000000002090e121415202020202020202020202020202020202020202020202020202020161513171a1a202020202020201b1a18140f08010000000000000001090f14181a1b20202020202020171614100b05000000000000000c1925323f4c5865727f8b939393939393939393939da0a7a09393939393939393939393939393939393a0a79f9d939393939393938d8174675a4e4134271b0e00101c2936434f5c6976828f9c9f9f9fa0a2a7afb9b6aea8a69f9f9f9f9f9f9f94877b6e6154483b2e21150800000000000000000000020b17232e38424e58606d7984919ea5aca1968d80736a5f53493f3d46525e68717e8b949faba59e91847a6d60594f43392e23180b02000000000000000000000000000000000613202d394653606c7885929eaa9d908477685d525764717e8a97a79b8f8275665b515c677683909ca298897c6f6356535e697884919eaa9d918477695f53463a2d2114070000000000000000000000000000000000000000000a141e2a333f46525e68707d8a99a3aeb7ac9f92877c6f675d51483e32291d140a00000000000000000000000000000000000000000000000000000000000000030c1924303a44505a626e7b86929f9e91857a6d60584e42382e23170b0300000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000a15202b37434e58606c78828f959fa6a499938b80786e686159504a423b322b231b1209000000000000020100000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b0e0100000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a0000000003101c28343f4a54606d7984919ea6b0aa9e948c7f736c625a504a423c37322d2c282327272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f000000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000003060b0f15212e3a47535f6a76797979797976675c5145382c1f130e090603000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9a4978a7d7164574a3e2f24191514120e090300000000000000000000000000000000000000000006121f2b37434e5864717e8a97a1ada3988b7e71645663707d8a97a1ada2978b7e7164584e43372b1d13070000000000000000000000000000000000020f1c2935424f5c6875828f9ba8a99c908376695d5043362a1d10030000000000000000000000020507081313131313131313131313131313131313131313131313131313130908060b0d0e131313131313130e0e0b0803000000000000000000000003080c0e0e131313131313130a0907040000000000000000000c1925323f4c5865727f86868686868686868686868995a0958986868686868686868686868686868689959f958986868686868686868074675a4e4134271b0e00101c2936434f5c6976828f9393939393969da7b2aea49c999393939393939393877b6e6154483b2e211508000000000000000000000a141d28343f4a54606a73808d96a0aca59e9184796d60584e413835414c56606c77829099a3ada1968d80746b60554b4034281d140a000000000000000000000000000000000916222f3c4955626f7c8897a1a79a8d817467564c54616e7a8795a09f9285796c6053606d7986929f9f9285796d60534d576874818e9ba7a096887b6e6155483b2e23180c00000000000000000000000000000000000000000008131e28323a45515c666e7b86929facb7ab9e91847a6d605a50443b2f261b1106000000000000000000000000000000000000000000000000000000000000000008131e28323e47535f6973808c96a0978d80746a60544a3f34281f140900000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000030f1a26313c44505b666d79838f949da5a49f928d827a706b605c544d443d352d241b12090000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a89b8e8175685b4e4235281b090000000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a0000000006121f2b3844505c66727f8c96a0acaea2988f82776c605a50443f38302b26201f1c171a1a1a171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d12070000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000060b1012171b1f222f3c4855626f7c8686868686796d6053473a2d201e1a15130f0a04000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8a6998c7f7366554b4135292422211e1a150e0600000000000000000000000000000000000000000814212e3a47535f6a7683909ca9ac9f92867a6d6054606d7985929eaba99d9083766a5f53473a2f24180d0100000000000000000000000000000000020f1c2835424f5b6875828e9ba8a99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4a56626d72797979797979797979797983909d918479797979797979797979797979797983909d90837979797979797979746e64584c3f33261a0d00101c2936434f5c6976828686868686868b96a2aea89c928c8686868686868686867b6e6154483b2e21150800000000000000000006111b262f3844505c666f7c87929fa8aa9e938a7d70675d51463c2f303a44505b656f7c87929fa8a89f93887d6f675c51453c2f261c1106000000000000000000000000000004111d2935404b5566727f8c99a9a8978a7d7164574a525e687784919da297887c6f625663707c8998a39c8f8276665c514b5864717e8b97a8a8988b7e7265544b4034281c100400000000000000000000000000000000000000050f19242f3a444f59606d79839099a3acaaaca1968e81746c61564d41382d22170c0300000000000000000000000000000000000000000000000000000000000000020c16202b37424d57606d7984919e9f93877c6f665c50443b30251a0d04000000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000a152028333f4a545d676d79828e939fa3a49c948f857d736d665e564f473e362d241b110800000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4330251a0e0200000000030f1c2936424f5c6975828f9ca8b5ab95897c6f6256493c2f231609000000000713202d3a4653606d7884919ea8b2a99f92867b6e655b50483e342e261e1b1312100c060d060b0f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c0000000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000001080d11171c1f22272b2d2f3c4855626f7b88939393867a6d6053473a2e2d2a25211f1b15100b0500000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7a89b8f8275675d51453c352f2f2e2b2620180f0600000000000000000000000000000000000004101d2935404b55626e7b88949faba89b8e8175685d525c6674808d9aa7ab9f95887c6f62554b4035291d110400000000000000000000000000000000020f1b2835424e5b6875818e9ba8a99c8f8276695c4f4336291c100300000000000000060b0e10111313131313130f0e0c0904000000000000000000000003070b0d0e13131313131312110f0c0701000000000000000000000004080a0b1313131313131308070502000000000000000000000000000000000000000916222e3a46515b62656c6c6c6c6c6c6c6c6c6c74818d9a93867a6d6c6c6c6c6c6c6c6c6c6c6c6c74818e9a9286796d6c6c6c6c6c6c67645c52473c3024170b000f1c2835414e5a6670767979797979798693a0ada6998c8079797979797979797976695e53463a2d2114070000000000000000000b17222d38414d57606d78839099a3aea2988e81756b61554b40342a27333f49535f6a73808d96a1ada49a9184796d60584e42382d22170b03000000000000000000000000000613202c3945515d6776838f9ca9a096877a6e6154474c566774808d9aa9988b7f72655466737f8c99aa998c7f7266544a4854616e7b8796a0a89c8f8275665c5145382c1f1306000000000000000000000000000000000000020b17212935414c56606b73808d95a0a7a09da0a79d938a7e70685e53493f33271e150b0000000000000000000000000000000000000000000000000000000000000000040e1a26313c45515c67707d89939e999083786d60574d42362a1f160c010000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000030b17222d38424b555d676d78818b9298a0a69f97928880786e69605950483f362d231a0e04000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b8798a3aeaa9d9084776a574d42362a1e12050000000005111d2935414c566a7783909daaafa399877b6e6154483b2e21150800000005111e2a36414c5664707d8a96a1adada1978c7f72695e53493f3628231c140c0a060300000000000306090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c100400000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000060b13191c23282b2d3337393b3e4855626f7b88959f93867a6d6053473e3b3a36312e2b26201c170e09030000000000000000000000000000000000000000000c1825323f4b5865727e8b98a6ac9f92857a6d60574d45413f3b3a37312a21180e03000000000000000000000000000000000006131f2c3945515d6774808d9aa6aca096897d7063564c54626f7b88959faba79a8d8174675d5145392c20150a00000000000000000000000000000000020e1b2835414e5b6874818e9ba7a89c8f8275695c4f4236291c0f030000000000040b12171b1d1e2020202020201c1b19150f09020000000000000001080e13171a1a2020202020201f1e1b18130c050000000000000000050c11141717202020202020201514120e0903000000000000000000000000000000000006121e29343f4951565860606060606060606064717e8b979a897d70636060606060606060606065717e8b9899897c6f6360606060605a58524a41362b1f1408000d1925323d49545e66696c6c6c6c6d7a8693a0ada6998c80736c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000000040f1b27333f49535f69727f8c95a0aba79f92857b6e61594f43392f22222d38414e58606d7984919ea6aca0958c80736a5f544a3f33281f1409000000000000000000000000000714202d3a4753606d7a86929faa9d918477685e52464a5764707d8a99a49b8f8275655c6676828f9ca298897c6f62564946525e697784919eaa9f9285796d6053463a2d2013090000000000000000000000000000000000000a141d29333b45525d68707d87939fa69f959095a0a59e92857a6e655b50443c30271d120700000000000000000000000000000000000000000000000000000000000000000915202834404b55606b75818e97a0958c7f72695e52463e31281d12070000000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000006111c262f3a434b555d666d747f8691969ea5a19a938d827b706b615a50483f352b20160c020000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578695e52463a2d201407000000000713202d3946525d687885929eabac9f9286796d6053463a2d2013070000000714202d3946525e6876828f9ca8b2ab9e9185796d60574d41382d2417110a02000000000000000000000002091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f130600000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000020a11171e24292e34383a3f4446484b4d55626f7b8895a093867a6d60534d4a4846423c3b37322d28221a150e0600000000000000000000000000000000000000000815222f3b4855626e7b88949faba2988b7f72695f57514c4c4847423c332a20150900000000000000000000000000000000000714202d3a4753606d7985929fabab9e9184786c605346535f6a7683909daaab9f92857a6d6053473d32271b0f01000000000000000000000000000000010e1b2834414e5b6774818e9aa7a89b8e8275685b4f4235281c0f0200000000050e161d23272a2b2d2d2d2d2d2d282825201b140c030000000000020b12191f2326272d2d2d2d2d2d2b2b28241e170f060000000000000810171c2123242d2d2d2d2d2d2d22211e1a140e0600000000000000000000000000000000010d18232d373f464a4c535353535353535355626e7b8897998c7f736659535353535353535355626f7b8898988c7f726559535353534e4c4741382f241a0e03000915212c38424c545a5c606060606d7a8693a0ada6998c807366606060606060605f534d453b31251a0e0200000000000000040e1a242b3744505b656e7b86929fa7ab9f958b7f72695e52473e31271d1b262f3c45515d67707d8a949eaaa89f92877c6f665b50443b31251a0e040000000000000000000000000a1724303d4a5763707d8a99a3a79a8e817467564c414754606d7a86939f9e9285796c606d7985929f9f9285796d605346424d576774818e9aa7a298897d706356493d30251a0e020000000000000000000000000000000006111c262f3b45505a606d7a849199a49f9490849096a1a1978f82776c60584e43392e23180e0400000000000000000000000000000000000000000000000000000000000000030c18232e39434f59616d7a85929f9f92867b6e61594f43392f24180b0200000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000a141d28313a434b545c606d727c848e939fa2a49f9490857d716c625a50473d32281e130800000000000000000000000000000000000000000000000000000006121f2b3844505c667784909daaaea298877b6e6154483b2e21150a000000000714212e3a4754616d7a8797a1adaa9e918477665c5145382c1f13060000000814212e3b4754616e7a87939facafa3998c7f72675d51453b2f261b1206000000000000000000000000000000071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d20130800000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000040b141b22272f35383f444649505355585a5c626f7b8895a093867a6d605b5a5754534d4947433c39332b261f180f09000000000000000000000000000000000000000814212e3a47535f697683909ca5aa9f92857b6e69605d555855534d453c31261a0e0200000000000000000000000000000006131f2b37434e5865717e8b97a2ada3998c7f72655b50444e5865717e8b98a2aea2988b7e7165584e43372b1e1308000000000000000000000000000000010e1a2734414d5a6774808d9aa7a89b8e8175685b4e4235281b0f02000000040e1720282e3336373939393939393534312c251e150c02000000010b141d242b3033343939393939393837342f2921180f050000000008121a22282d3031393939393939392e2d2b261f180f060000000000000000000000000000000007111b252d343a3e3f4646464646464647535f697885929c8f827569574d4246464646464653606c7985929b8e827568564d424646413f3c362f261d1308000005101b26303a42494e4f535353606d7a8693a0ada6998c807366595353535353534846423b33291f140900000000000000020c16202a36424d57606c77829098a3aea3999083786c60564d42352c1f15141d2935404b55616c75828f98a2aea3999083786c60574d42362a20160c020000000000000000000005121e2a36424d576774808d9aaba8978a7e7164574b3e45525d687783909da297887c6f626f7c8998a29c8f8276665c50443e4b5764717e8a97a8aa9a8d807367574d42362a1e1205000000000000000000000000000000030d17222d38424d57616c75818e96a1a39890827a84919ea59f948b7f726a5f554b40342820160c020000000000000000000000000000000000000000000000000000000000000007121d27303d46525e68717e8b949f988f82756c61554b4035291d140a00000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000020b161f28313a424a515b626a6f7a818b9298a0a69f9792877e716c62594f443a3025190d03000000000000000000000000000000000000000000000000000003101c28343f4a546875818e9ba8b3aa978a7d7064574a3d32271b0d04000001081623303d495663707c8996a9b3a89c8f827569544b4034281c10040000030f1b27333f495364717e8b9aa4afac9f92867a6e61554b4033291d140a000000000000000000000000000000000007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d01000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000050d161d262d333a41454a5053535b60626467686a6f7b8895a093867a6d6a686664615e5755534e49443e37312a211a120a01000000000000000000000000000000000006121e2b37424d5763707d89939ea6a29891847b736d676665625f574d42372b1e12060000000000000000000000000000000815212e3b47535f6a7683909da9ac9f92867b6e6153493f4753606d7a85929facaa9d9083776a6054473a2f24190d010000000000000000000000000000010d1a2734404d5a6773808d9aa6a79b8e8174685b4e4135281b0e020000000b16202932393f434446464646464642413d3730271e140900000008121d262f363c3f414646464646464544403a332b21170c01000005101a242c33393c3e464646464646463b3a37312a21180e030000000000000000000000000000000009131b23292e313239393939393937424d576975828f9c928578695f53473a3939393844505b6676838f9c918478695e52463a393433302b241d140b010000000a141e2830383d4143464753606d7a8693aab4a6998d8073665a4d46464646463b3a36312921170d030000000000000008131e28323a46525e69727e8b949faaa89f92877c6f665b50443b30231a0d0b18242f3943505a616e7b86929fa8ab9f958b7f72695e53463e32281e1308000000000000000000000714212d3a46535e697784919eaaa196877b6e6154483b414c566673808d99a9988b7f7266727f8c99aa998c7f7266544a3f3b4754616e7b8796a0aa9d908477695e52463a2d2014060000000000000000000000000000010b151f28333f4a545e69717e8a939ea79f92867b707d89939ea69f92867c6f675c51453d32281e130800000000000000000000000000000000000000000000000000000000000000000b151e2a36414c56606c778390999e938a7d70675d51453c2f261b1106000000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000040d161f2830394044515860676d757e8691969fa7a19992887e716b60564c4135291f15090000000000000000000000000000000000000000000000000000000b17232e3f4b5865727e8b98a8b2a69a8d807367584e43372b1f15100c090e131e2a36414c5666727f8c99a5b3aa998c7f7366594c402e23180c00000005121f2b3744505b6575818e9bacb6a99c8f8276685e5243392f21170b020000000000000000000000000000000000010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d1104000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000050e171f282f383f444c51545c6063656c6e71747576787c8895a093867978777573716e6967625f58555047423c332c241c130a0000000000000000000000000000000000020e1a26313c4854606b74818e949da5a09691857f7a7673726e695f53473a2e211408000000000000000000000000000004111d2935414c55626f7c88959faba99b8f8275685e52413845515d6774818e9ba7aca095897c6f62564c4135291d11040000000000000000000000000000000d1a2733404d5a6673808d99a6a79a8e8174675b4e4134281b0e01000006121d28323b444b4f515353535353534f4d48423930251b0f0400030e19242f3840474c4d53535353535352504c453d33291e130700000c17222c363e45494a535353535353534846423c332a1f140900000000000000000000000000000000010911181e2225252d2d2d2d2d2631404c5966737f8c9997887b6e6255483b2f2d28333f4a546673808d9996877a6e6154473b2e2726241f1a130b0200000000020c161e262c3235363a4653606d798698a3aea79a8d81746753493f36393a3c3a38342f271f150b01000000000000030d1924303a44505a616e7b85929fa6ada1968d80746a5f544a3f32291f110807121d28313e46535f69737f8c95a0aca79f92867b6e615a50443a3025190d040000000000000000000815212e3b4854616e7b8796a0ab9e918478695e53463a3d4a5663707d8999a39b8e82756675828f9ca298897c6f6256493c3a46525e697784919daaa095877b6e6154483b2e23170c000000000000000000000000000007121d27313944505b666e7b85929fa5a0958c7f726b75818e97a1a3989083796d60594f443a3025190f0600000000000000000000000000000000000000000000000000000000000000030c1925303a44505b656f7c87929f9e9184796d60584e41382d22170b020000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000000040d161e272e343f464e555d606c717c8490959fa7a39a92877d70685e52463c31261a0e0000000000000000000000000000000000000000000000000000000615222f3c4855626f7b8896a0acaa9d9184776a6054473c31271f1c181b1a1e242d3946525e6876838f9ca9aea298897c706356493d302316070000000613202d394653606c7885929eabb3a9988b7f7265564c4131271d0f050000000000000000000000000000000000000006111c2935414c5665727f8b98aab4aa9d918477685d5245392c201306000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000040e172029313a414950555d60666d7075797b7e8082838486929fac9f9286858382807d7b77736f6a64615a534d453e362d251c120900000000000000000000000000000000000915202c38444f59606d79828e939c9fa097928c8683807f7b6e6255483b2f22150800000000000000000000000000000613202c3945515d6774818e9aa7ada1968a7d7063564d4135404b55636f7c8995a0aca79b8e8174685d5245392c20160a0000000000000000000000000000000d1a2633404d596673808c99a6a79a8d8074675a4d4134271a0e0100000b17232e39444d565b5e6060606060605b59534b42372c2015090007131f2b36404a52585a6060606060605e5c574f453a2f24180c0004111c28333e485055576060606060606055534d453c31261a0e020000000000000000000000000000000000070d12161819202020202023303d4a5663707d8999978b7e7164584b3e2f24222d3d4a5764707d8a97978a7d7064574a3d2e231717140e0801000000000000040c141b2125282c3845515c667986929faca89b8f8275655b5046424547484745403931271d12070000000000010b151f2935414c56616c75828f98a2aea69e9184796d60584e42382d20170d00010c161f2a36424d57606d7984919da5aea2988f82756c61564c4135291f160c010000000000000003101c28343f4a5465727e8b98a8a79b8e817468574d42363a4753606d7a86929f9e9285786c7985929f9f9285796d6053463a36424d566774818e9aa7a7988b7e7165544a3f34281c1003000000000000000000000000050e18242f39434e58606c78829097a2a3999083786d616d7a85929ea6a0958d80736b60564c41352921180c030000000000000000000000000000000000000000000000000000000000000008131e27333f49535f6a73808d96a0968d80736a5f53493f33271e14080000000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000040c151c2328343c434c515a626a6f7a839095a0a9a39992857a6d61574d42372b1b110600000000000000000000000000000000000000000000000000000815212e3a47535f6a7784919eabaca095887c6f62584e4339312c282327262b2f35414c56616d7a86929facab9f9285796d6053463a2d2013070000000815222e3b4855616e7b8897a1adada197887b6e6255483b3022150b0000000000000000000000000000000000000000000d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d211407000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000020b162029323b434b535b60676d73797d8285888b8d8f90919298a3aea3989291908e8d8a8784807c76706c625f5750483f372d241b10060000000000000000000000000000000003101c27333d45515c676d7981898f939aa29f9992908d8b7f7265584c3f3225190c00000000000000000000000000000714212d3a4754606d7a85929facac9e9184796d6053463b303a4854606b7784919dabac9f92867a6d6054473d32271b0f0200000000000000000000000000000c1926333f4c5966727f8c99a5a69a8d8073675a4d4034271a0d0100020e1b27333f4b565f676a6c6c6c6c6c6c68655d53483d3125190c000b1723303c47525c64676c6c6c6c6c6c6b6861574c4034281b0f030814212d3945505a61646c6c6c6c6c6c6c6c5f574d42372b1e12050000000000000000000000000000000000000106090b0c1313131314212d3a4754606d7a86939a8d817467554b403529212e3a4754616d7a8796998d807366544a3f34281c100303000000000000000000020a1015191c2834404b546b7885929eabab9e9184786c6056534d51545553514b43392f23180c000000000007121d27313945525d68717e8a939eaaaa9e948a7d70675d51463c2f261c0e050000040d1a26313b45515c66707d89939ea9aa9e948a7e71685e52463d31281d12070000000000000006121f2c3844505c6675828f9ba8a9988b7e7165584b3e313945515d677683909ca197887b6f7b8897a29c8f8276665c504438303e4b5764717e8a97a8a89b8e8275665c5044382c1f12060000000000000000000000020c17202935404b555f6a727f8c949fa89f92877c6f665e68717e8a949ea79f93887d70685e52463f332a1e150a00000000000000000000000000000000000000000000000000000000000000020b17222d38414e58606d7984919e9f92877c6f655b50443b3025190c0300000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000000000030b1218222b313a414550585f686d79839097a1aba1978e8174695f5347382d22170b000000000000000000000000000000000000000000000000000006121f2b37434e586673808d99a3afa89b8e81756a5f554b433c38342e3431373a4145525d68737f8c99a3afa79b8e8175675c5145382c1f13060000000a1724303d4a5763707d8a96a9b3ab9e928578695f53473a2e2114030000000000000000000000000000000000000000000813202d394653606c7985929facb1a795897c6f6256493c2f231609000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000a141d28323b444d555d656c717a80858a8e9297979a9b9d9e9fa3aab4aaa39f9e9d9b999796918d88837d766e69615a51493f362d22180b02000000000000000000000000000000000b16212834404b555d676d747d82889297a2a39f9c988b7f7265584c3f3225190c0000000000000000000000000007131f2c38434f5965727e8b98a2aea49a8d8073665c5044382c38434f5965727f8c99a3aea2988b7f7265594f44382c1e130800000000000000000000000000000c1926323f4c5965727f8c98a5a6998d8073665a4d4033271a0d000004101d2a36434f5b677177797979797979756f65594d4134281b0e020d1a26333f4c58646e747979797979797873685c5044372b1e11050a1723303c4955616c717979797979797976695f53463a2d21140700000000000000000000000000000000000000000000000606060613202c3945515d677784909d908377675d5145382c202d3946525e687884919c908376665c5044382c1f120600000000000000000000000005090c18232e43505d6a7683909da9ada196897d7068615f575d6062605c554b4034291c1004000000030c18242f39434f59606d7a85919ea6aea2988f82756c61554b40342a1d140a0000000009141f2834404b54606b75818e97a2ada69e92857a6d61594f43392f24180c030000000000000713202d3a4653606d7985929faba197887b6e6155483b2e35404b556673808c99a9978b7e717e8b97a9998c7f7266544a3f342e3b4754616e7a8795a0ab9f9285796d6053463a2d201308000000000000000000000008131e29323a45515d676f7c87929fa6a0968d80736a5f56616c75828f98a2a49a91857a6d615a50453c30261c11060000000000000000000000000000000000000000000000000000000000000006111b262f3c45515d67707d8a939e999083776c60564c41362a1e150b00000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000000000000000710191f282f353f464e565d676e7a85929ea6a99f93877b6e6253493f33271b0f0300000000000000000000000000000000000000000000000000030f1a26313c4854616e7b87929faaac9f92877c6f675d554e46454041414142474c515b606d7a85929eabaca095897d7063554b4034281c10040000000c1926323f4c5965727f8c98a5b2a99c8f837669574d42372b1e120600000000000000000000000000000000000000000006121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000006111b262f3a444d565e676d777e858d91979b9ea2a9a7a8a5a4a4a6acb3aba5a3a4a5a7a6a8a09d9a95908a827b716c635b51483f342a1d140a0000000000000000000000000000000006111c262f3b444d575e666d72797e85929faba8a5988b7f7265584c3f3225190c000000000000000000000000000a15222f3b4854606b7783909daaac9f93877b6e61544a3f3428323d4754616d7a86929facaa9d9184776b6054483a3025190d00000000000000000000000000000c1925323f4c5865727f8b98a5a6998c807366594d4033261a0d000004111e2b3744515e6a77848686868686868175685b4f4235281c0f020e1a2734414d5a67748086868686868685786b5e5245382b1f12050b1724313e4a5764717e868686868686867b6e6155483b2e221508000000000000000000000000000000000000000000000000000004111d2935414c556774818e9a92867a6d6053473a2d202a36414c566875818e9b9285796d6053463a2d2013070000000000000000000000000000071a2734414d5a6774808d9aa9b2a89d91837a726e696c676d6f6d675c5145382c1f13060000000b151e2935404b55606b74818e97a1ada79f92867b6e615a50433a2f22190b0200000000030c18232e39424f59616e7a85929fa7ada1978e81746b60554b4035291e150a000000000000091623303c4956636f7c8997a2ab9e918578695f53463a2d2f3c4956636f7c8998a29a8e8174818d9aa298897c6f6256493c2e2d3946525e687784919daaa297897c6f6356493c3025190d01000000000000000000060f1925303a444f59606d79839199a3a49a9184796d6058505a616e7b86929fa7a1978f81756c62574d42382e23170d04000000000000000000000000000000000000000000000000000000000000000a141d2935404b55616b75818e989f958b7e72685e52463d30271d1207000000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000000000000000070d161e2429343c444c555e68707d8a949faba49a8d8174655b5044372b1f120500000000000000000000000000000000000000000000000000000a15212d3a46535e6975818e98a3aea3999083796d675f5853514b4e4e4e4d53555d606d74818e97a1ada69d9083776b605443392e23180c000000000e1b2834414e5b6774818e9aa7b3a79a8d8074675a4d4131261a0e02000000000000000000000000000000000000000000030f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000006121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000b17222d38414c565e696e79828b91979ea1a9aba8a19e9b9997989ba2aba1999697989b9ea0a8aaa79f9d948f867e726d635a50463c2f261b11060000000000000000000000000000000b17222d38424d565e696e787f858b9297a29f9c98958b7f7265584c3f3225190c00000000000000000000000006111b2935414c56636f7c8995a0aca99c8f8276695f5342382e232d3946525e6875828e9ba8aca095897c6f63564c41362a1b1106000000000000000000000000000c1825323f4b5865727e8b98a5a6998c7f7366594c403326190d000004111e2b3744515e6a778491939393938e8275685b4f4235281c0f020e1a2734414d5a6774808d939393939185786b5e5245382b1f12050b1724313e4a5764717d8a9393939393887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000010d19242f3e4b5865717e8b9899897c6f6356493c302325303f4c5865727f8b9898887c6f6255493c2f22160800000000000000000000000000000b1724313e4a5764717d8a97a1adaca09591847f7b7978797a7c796d6053473a2d201407000007121c27303945515d67707d89939da9aba0958c7f72695e53483e31281d100700000000000007121d27303d46525e68727f8b959faba99e93897d70675d51453d30261c11060000000005111d2935414c566673808c99a9a89b8e817568574d42372b2d3a4653606d7985929f9d90847783909d9f9285796d6053463a2d2a36414c566774818d9aa7a9998d807366564c41362a1e11050000000000000000030c18212a36414c56616b74808d95a0a89f93887d6f675c5146535e69727f8b959fa99e938b7e71695f544a3f34281f160c01000000000000000000000000000000000000000000000000000000000000020b18242f39434f59616e7b85929f9f92857a6e61594f43392e23180c030000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000000000000000000040c1319222a323a434d56616c7683909cabac9e9285786c605346392d201306000000000000000000000000000000000000000000000000000005121e2a36424d57616e7b86929fa6aba0958f82796f6a63605c555b5a5b575f62676d747f8c939ea9a99f948a7d7064594f4430271d120700000000101c2936434f5c6976828f9ca9b2a5998c7f7266594c3f3326190900000000000000000000000000000000000000000000000b17222d404d5a6773808d9aa6b3a89b8e8175685b4f4235281c0f000000000000000000000000000000000000000000000000121f2c3945525f6c7885929fabada093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000030f1b27333f49535d686e7b838f949ea1a9a9a19e9996918e8c8b8b909ba5998f898a8c8e9196999ea1a9a69f98928a7f726c62584e41382d22170b0000000000000000000000000000030f1c28333f4a545e696e7b838c92979f9f99938f8b88877f7265584c3f3225190c0000000000000000000000000b17222d3946525d6875818e9ba7ada1978a7e7164574d4230261c2a36414c5663707d8996a1ada79b8e8175685e5246382d22170b000000000000000000000000000b1825323e4b5865717e8b98a4a5988c7f7265594c3f3226190c000004111e2b3744515e6a7784919d9f9f9b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9a9f9f9e9185786b5e5245382b1f12050b1724313e4a5764717d8a979f9f9f94887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8897988c7f7265594c3f3025232f3c4956626f7c8998988b7e7265584b3f3024190d01000000000000000000000000000713202d3a4653606d7985929ea6b0a7a096918b8886858687877b6e6154483b2e21150800000c18232e39424e58606d7984919ea5afa4999083786d60574d42362c1f160c00000000000000000b151e2a36414c56606c78839099a4afa59e9184796d60584e42382e23170c000000000713202d3946525d687683909da9a9988b7e7265584b3f31262c3844515c6676828f9c9f93867a86929f9c8f8275665c5044382b25303e4a5764717d8a97a7aa9d908377685e5246392d20140600000000000000000b151e2a333c46525e68707d8a929da8a1968d80746b60554b424d57606c78839099a3a59f92867b6e665c50443d31281e13080000000000000000000000000000000000000000000000000000000000000007121d27313e46525e68727f8b959f978e81756b60554b4034281f15090000000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000010810182028313b44505a64717e8a99a3ada197887c6f6255493c2f2216090000000000000000000000000000000000000000000000000000020e1a25313b46535f69737f8c949fa7a79f948f837c75706d676867676869696e737a818c919ca5aaa1978f82766c6155473d331e150b0000000000101d2a3643505d697683909ca9b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f0000000000000000000000000000000000000000000000030d152c3945525f6c7885929fabada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000010c161f2b3744505b656d7a8490959fa6aaa29f96918c8884817f7e7e8b98a396897d7d7f8184888c91979fa3aaa29f918b7e716a5f53493f33271b0f030000000000000000000000000006121f2b3844505b666e7b8490959ea19d948f87827e7c7a786c605346392d2013060000000000000000000000030f1b27333f4953616d7a86929facab9e9285796d6053463b31201925303a4653606c7884919eabac9f92867a6d6153493f33271b0f030000000000000000000000000b1824313e4b5764717e8a97a4a5988b7f7265584c3f3225190c000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aca194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000613202d394653606c7985929b8e827568574d42362a202d3a4653606d7986929b8e817468564c4135291d11040000000000000000000000000006131f2c3845515c67737f8c949fa6ada8a19e989992929299877b6e6154483b2e2115080004101c2834404a54606a73808d96a09fa99f93877c6f665c50453b31241a0d040000000000000000030c1925303b44505b666f7c87939fa99fa1968d80736a60544a3f34281c10030000000714212e3a4754616d7a86939faca197887b6f6255483c2f222834404a5466727f8c99a4998c7f8c99a3998c7f7266544a3f3428212e3a4754616d7a8795a0ac9f93877a6e6154473b2d22170b0000000000000007121c27303c45515b616d7a85919ea4a59e9184796d60594f433b44505b666f7c86929fa7a2989083786d60594f433a2f24190f05000000000000000000000000000000000000000000000000000000000000010b151f2a36414d56606c788390999e93897d70675c51453c31261a0e0400000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000000000000000000000000060e161f29323e4753606d7a86929f9fa9988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000009141f2a36424d57606d78828f959fa7a69f959087817d79777574747476787b80858e939ca3aaa29892857b6e615a5044352b210c030000000000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a99c908376695d5043362a1d1000000000000000000000000000000000000000000000010b151f2935414c566c7885929fabada093867a6d6053473a2d20160c0200000000000000000000000000000000000000000000000008131e2935414c56606c77828f96a0a7a8a198928c84807b787572717b8895a0938679717274777b80848d9299a2aaa39f92867c6f655b5044372b1f130800000000000000000000000003101c28343f4a54606c788390969fa79d938e827b75726f6e6c665b5044382b1f1206000000000000000000000005121f2b3744505b65727f8c98a3aea79a8d8074675c5145382c1f131f2b3844505b6673808c99a4aea3988c7f72655b5044372b1f14080000000000000000000000000b1724313e4a5764717d8a97a4a5988b7e7265584b3f3225180c000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000005121f2b3744505b6576828f9c918478695e52463a2d202c3845515c667683909d918477685d5245392c2013070000000000000000000000000004101c2834404b55606d78828f949ea1a8a9aaaba39f9f9f94877b6e6154483b2e2115080006121f2c3844515c666f7c879293939393978d80746a60544a3f33291f11080000000000000000000008141e28333f4a54606a74808d979393939392877c6f665c5044382c1f12060000000b1724313e4a5764717d8a99a4ab9e9285796c605346392d20232e3c4955626f7c8897a29e9184919ea298897c6f6256493c2e23202d3946525e687784909daaa49a8b7e7164544a3f33281c0f030000000000040d18232e39424d57626d75828f97a1a99e938a7d70675d51473d333f4a545f6a73808c95a0aa9f958c80736b60554c41352921170b02000000000000000000000000000000000000000000000000000000000000030d1925303b44505b666f7c87929f9e9184796d60574d42372b20160c02000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000040d17202c3945515d67778490939393938c807366594d4033261a0d000000000000000000000000000000000000000000000000000000030e1a26313b44505c666d7a8390959da5a7a099938e898683828181818385888c92979da5a7a09892867d70695e52483e3323190f000000000000111e2b3844515e6b7784919eaaafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000007121d27313945525d687885929fabada093867a6d6053473e32281e13080000000000000000000000000000000000000000000000010d19242f3946525e68727f8c949ea8a8a19691867f79736e6968666f7b8895a093867a6d6568696e737980879298a2aea3999083786c6053463a2f24190d01000000000000000000000006121f2b3844505c66727f8b959fa89f958e81786e69656261605b544a3f33281c0f0300000000000000000000000613202d394653606c7884919daaab9f95887c6f62554b4034281c101c28333f4a54616e7b87939facaa9e9184786c6053463b3025190e0000000000000000000000000a1724313d4a5764707d8a97a3a4988b7e7165584b3e3225180b000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000030f1b27333f49536673808c9396877b6e6154483b2e212834404b546774808d9393867a6d6054473a2d21140700000000000000000000000000000c18232e3944505c666d7a828c91969a9c9e9f9f9f9f9e94877b6e6154483b2e211508000713202d3a4653606d798386868686868686857a6d60584e42382e21170d0000000000000000000000020b17222d38424e58606d7a858686868686868683796d6053463a2d201307000006121f2b37434e586774818e9aaba89b8f8275655b5044372b1f202d394653606c7985929fa1969196a19f9285796d6053463a2d201e2a36414c566774818d9aacac9b8e8175665b5044382b1f120600000000010c161f2834404a545f69727e8b949ea9a1978e81756b61554b41352d38424e58606d79839199a4a79f92877d6f675d51453e33291d140a0000000000000000000000000000000000000000000000000000000000000008141f28333f4a545f6a73808d96a0968c8073695f53473e32281e1308000000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000000000000000000000000000005111d2935404b556976828686868686868174675b4e4134281b0e0100000000000000000000000000000000000000000000000000000009141f28343f4a545e686d7a838e929d9fa7a49f9b9892908e8e8d8e8f9197999ea1a9a29e9590867d706b60574d42362c221108000000000000121f2b3845525e6b7885919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000030c18242f39434f59606d7a86929facaea194877b6e615a50443a3024190d030000000000000000000000000000000000000000000004111d2935414c55616d7a86929fa6aba19691847c726d66615f57626f7b8895a093867a6d60575f61676d737d86929fa5ab9f958a7d7064554c4135291d110400000000000000000000000713202d3a4653606d7884919ea7a89d9083786d665f57555453504a42382d22170b000000000000000000000005111e2a36414c5663707d8996a0acaa9d9083766a5f5343392e23180c17222d3846535e6976828f9ca9aca096897d7063564d41362a1c110600000000000000000000000a1724303d4a5763707d8a96a3a4978b7e7164584b3e3125180b000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000b17222d3d4a5763707d868686867d7164574a3e3124232e3e4b5764717e868686867d7063564a3d3023170a000000000000000000000000000007121d28343f4a545e686d787f848a8d9091929292929190877b6e6154483b2e2115080006121f2c3844515c666d7779797979797979786d685d52463d30261c0f0500000000000000000000000006111c262f3c45525d686d7879797979797979776d665c5044382c1f120600000814212e3a47535f6a7884919eaba9988b7f726553493f33271b1f2b3844505b6675828f9ba8a19ea1a89c8f8275665c5044382b1f1925303e4a5764717d8a9aa4ab9e9285796c605346392d2013080000000008131e28313a44515c666e7b86929fa6a69e92857a6d61594f433a2f262f3c45515c666f7c87939fa8a39991847a6d605a50453b2f261c1106000000000000000000000000000000000000000000000000000000000000020b17222d38424e58606d7984919e9f92867b6e625a50443a3024190c030000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000000000000000000000000000010d18242f3a4e5a667076797979797979746f64584c4033271a0d01000000000000000000000000000000000000000000000000000000030b17232e38424c565e686d79818990959b9fa2aaa39f9d9b9a9a9b9c9ea1a9a49f9c97928c837b706b60594f453b30241a1000000000000000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e110000000000000000000000000000000000000000000a151e2935404b55606b74818e98a3aeb5a89c8f82756c61564c4135291f150b010000000000000000000000000000000000000000000613202c3945515d6773808d98a2aea49991847b6e6a605c545355626f7b8895a093867a6d605353555d606b707d8a939ea9a79c8f8276675d5145392c20130600000000000000000000000a1623303d495663707c8996a1aca096897d70665c544d494746443f382f261c110600000000000000000000000714202d3946525e6875828e9ba8aea2988b7e7165584e4330271d1207111c2a36424d5764717e8a97a1ada89b8f8275685e5246382e23170b00000000000000000000000a1723303d4a5663707d8996a3a4978a7d7164574a3e3124170b000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000616232f3c4855616b7079797979716c6155493c302323303d4955616c7179797979706b6055483c2f2316090000000000000000000000000000000c17232e38424c565e666c72797d808384858686858483817a6d6054473a2d2114070004101c2834404a545c606a6c6c6c6c6c6c6c6b605d564c41342b1e150a00000000000000000000000000000a141d2935414c565d606b6c6c6c6c6c6c6c6a605c544a3f34281c100300000815222f3b4855626e7b8896a1ada297887c6f6255493c2d22171c28333f4a5465727f8b98a9acabaca9988c7f7265544a3f34281c14212e3a4754616d7a86939faca197897c6f6256493c3024190d010000010d19242f3a434f59606d78839098a2a99e948a7e71685e52473e31281d2834404b54606b74808d96a1aba0968e81746c61574d42382d22170b0000000000000000000000000000000000000000000000000000000000000006111c262f3c45515d67707d8a939e988f82766c61564c4135291e150a0000000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000007131d323e49545e66696c6c6c6c6c6c67645c53483c3024180b000000000000000000000000000000000000000000000000000000000006111c26303a444c565e676d747c83898e9298999b9d9e9f9f9f9f9e9d9b999993908b857f786e6960594f473d33291f120800000000000000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d10000000000000000000000000000000000000000006111c26303845515d67707d89939daab4b9aa9e948a7e71685d52463d31271d12070000000000000000000000000000000000000000000714212d3a4754606d7a85929faaab9f93877d6f695f58514b4855626f7b8895a093867a6d6053474b5159616b74818e9ba8ac9f92867a6d6054473a2d21140700000000000000000000000d192633404c5966737f8c99a8aa9d9184776b60544a423c3b3938332d261d140a0000000000000000000000030f1c28333f4a54616e7a86929facac9f92857a6d6053473c3120150b000e1a25313b4653606d7985929eabac9f92867b6e61544a3f34281c100300000000000000000000091623303c4956636f7c8996a2a3978a7d7064574a3d3124170a000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000714202c38444f5961636c6c6c6c64615a5044392d21212d3945505a61646c6c6c6c6360594f44382c20140700000000000000000000000000000006111c26303a444c545b60666d70737677787979787876746d685d5245392c20130700000c18232e39424a51535d606060606060605e54524c433a2f22190c030000000000000000000000000000020b19242f3a434c52545e606060606060605d53504a42382e23170c000004101c2834404b5565727f8b98a89f9f9285796c605346392d201317222d3b4855626e7b8897a19f9f9fa297887c6f6255493c2e231713202d3946525e687784909d9fa9998c7f7366564c4135291d1105000004111d2935414c55606b73808d959f9fa2978f82756c61564c41352c1f18232e39424f59606d7984919ea5a89e938a7e71695e544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000a141d2935404b55616c75828f989f948a7e71685d52453d30261c110600000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000000000000000000000000000000115212d38424c545a5c6060606060605b58534a41362b2014080000000000000000000000000000000000000000000000000000000000000a141e28323a444c555c606b6f777d8185898c8e90919292929291908f8d8a86837e79726d665f574f473d352b20170d0000000000000000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d1000000000000000000000000000000000000000020b17232e38424e58606d7984919ea5afafacafa69e92857a6d61594f43392f24180c0300000000000000000000000000000000000000030f1b27333f495364717e8a98a2aca3998d80746b60574e45404855626f7b8895a093867a6d60534740454f59626f7c8896a0aca3998a7d7063574a3d3024170a00000000000000000000020f1b2835424e5b6875818e9ba8a79a8e817467594f4239302e2d2b28221c140b02000000000000000000000006121f2b3844505b66737f8c99a3aea79a8e8174675d5145392c2013030009141f2c3845515c6674808d9aa7afa3998c7f73665c5044382b1f1409000000000000000000000916232f3c4956626f7c8995a2a3968a7d7063574a3d3024170a000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000004101c28333e474f555760606060575550483e33281c1d28333e485055576060606056554f473d33271c1004000000000000000000000000000000000a151e29323a424a50545c606467696b6c6c6c6c6b6967605d564c4135291d1104000007121c2730394044465153535353535353524745413a31281e10070000000000000000000000000000000008131e28313a41454752535353535353535146443f3830261c1106000006131f2c3845515c6775828f939393938f8275665b5044382b1f1214212e3a47535f6a78859193939393939285796d6053463a2d2013111d2935414c566774808d93939393908376685d5246392d20130700000613202c3945515d676f7d87939393939392857b6e615a50443a30231a121d27303d45515d67707d8a939393939392857b6e665b5044382b1f120600000000000000000000000000000000000000000000000000000000000000020b18242f3a43505a616e7b86929f9e92857a6d60594f42382e23170c03000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000000000000000000000000000000a15202a343c4347495353535353535353534f4940372c21160a000000000000000000000000000000000000000000000000000000000000020c162029323a434b515960636b7075797c7f82838485868685858382807d7a76726d67605c544d453d352b23190e050000000000000000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3a89b8f8275685c4f4235291c0f000000000000000000000000000000000000000a141d28343f4a54606a73808d96a0acaca49fa4aca1978e81746b60554b4035291e150a0000000000000000000000000000000000000005121f2b3744505b6574818e9b9ea09f92867b6e61594f453c3c4855626f7b8895a093867a6d6053473a3e47535f6a7784919eaaab988c7f7265594c3f3226190c00000000000000000000030f1c2936424f5c6975828f9ca8a4988b7e7165584b3e302721201f1c17110a020000000000000000000000000613202d394653606c7884919eabaca095897c6f62554b4035291d11040004101c2834404b54626f7c88959fabab9e9184786d6053463b31251a0e000000000000000000000916222f3c4955626f7c8895a2a396897d7063564a3d3023170a000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000b16212c353e44484a535353534a49443e362c221717222c363e45494b535353534a48443d352c21160b0000000000000000000000000000000000030c1720292f383f444a5053575a5d5e5f5f5f5f5e5d5b54524c443a2f24190d010000000b151e272e34383a4446464646464646453a39352f281f160c0000000000000000000000000000000000010c161f282f35393a4546464646464646443a38342e261e150a0000000713202d3a4653606d79868686868686867f7266544a3f33281c0f121f2b37434e58687581868686868686868275665c5044382b1f120d1925303d4a5764707e868686868686877a6d6154473a2e21140700000714212d3a4754606d7a84868686868686867f71695e52483e32281e110b151e2935414b55616b75818686868686868682796c605346392d201306000000000000000000000000000000000000000000000000000000000000000007131d28313e46525e69727f8c95a0978e81746b60544a3f34281f1409000000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b00000000000000000000000000000000000000030f1b26323c464e535560606060606060605f5a52493e33271b0f02000000000000000000000000000000000000000000000000000000000000050e172029313940454f54596063676d70727576787879797878777573706d6865605d55504a423c332b231911070000000000000000000f1c2835424f5b6875818e9ba8b3a6998c807366594d402f23180c00000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e00000000000000000000000000000000000006111b262f3844505c666f7c87929fa8a69f9a939aa4a99d93897d70675d51453c30261c11060000000000000000000000000000000000000613202d394653606c78858b8e9196968f8275695e53473d333c4855626f7b8895a093867a6d6053473a37434e586976828f9ca9a69a8d8073675a4d4034271a0d0000000000000000000003101d293643505c6976838f9ca9a3978a7d7064574a3d31241513120f0b060000000000000000000000000005121e2a36424d5763707d8a96a1acaa9d9083776a6054433a2f24180d0100000c18232e3947535f6a7683909daaada1968a7d7063574d42362a1c12070000000000000000000915222f3c4855626f7b8895a2a396897c706356493d3023160a000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000005101a232c33383c3d464646463e3c39332c241a10101a242c33393d3e464646463d3c38332c231a0f05000000000000000000000000000000000000050e171d262d33383f44464a4d50515253535251504e4745413a32281e130800000000030c151c23282c2d3739393939393939382d2c29241e160d04000000000000000000000000000000000000040d161e24292c2d3839393939393939372d2c28231c150c0300000006131f2c3845515c676d79797979797979726d635742382d22170b0f1a26313c4d59656f7579797979797979757065544a3f34281c10081623303c4955616c707979797979797975685d5246392d20130700000613202c3945515d676d7879797979797979716d62574d42362c20160c030c18242f3a434f59656f7579797979797979766c665b5044382b1f12060000000000000000000000000000000000000000000000000000000000000000010c161f2a36424d57606d788390999f93887c6f665c50443b31251a0d040000000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b0000000000000000000000000000000000000006131f2b37434e585f626c6c6c6c6c6c6c6c6c645a4f43372b1e120500000000000000000000000000000000000000000000000000000000000000050e171f272f343d43484f54555c606366686a6b6c6c6c6c6b6a686664615e5653514b4c4841382f21191108000000000000000000000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100400000000000000000000000000000000000000000005121e2a36424d576976838f9ca9b2a5988c7f7265594c3f3226190c0000000000000000000000000000000000000b17222d38414d57606d78839099a3ab9f948f87939fa8a59e9184796d60584e42382e23170c0300000000000000000000000000000000000613202d394653606c777c7e8184878a8b7e7165574d42352f3c4855626f7b8895a093867a6d6053473a32414e5b6874818e9ba7a79a8d8174675a4e4134271b0e0000000000000000000003101d293643505c6976838f9ca9a396897c706356493d3023160a06030000000000000000000000000000000714202d3a46525e6975828f9ca8aea3988b7f7265584e4331281d130700000007121d2b37434e5865717e8b98a2aea89c8f8275695e5346392e23180c0000000000000000000815222f3b4855626e7b8895a1a295897c6f6256493c2f231609000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000008111a21282c2f303939393931302d28221a120808121a22282d303139393939302f2c27211a11080000000000000000000000000000000000000000050b141c22282e34383a3d404344454646454543413a39352f2820160c010000000000030b12181c1f202a2d2d2d2d2d2d2d2b21201d19130c040000000000000000000000000000000000000000040c13191d20212b2d2d2d2d2d2d2d2a201f1c17110a030000000004101c2834404b555c606c6c6c6c6c6c6c66635b51462f261c11060a1520313d48535d65686c6c6c6c6c6c6c69655d5442382e23170b0814202d3944505a61646c6c6c6c6c6c6c6b5d564c4135291d1105000004111d2935414c555d606b6c6c6c6c6c6c6c65625a50453b30241a0e040007131d28313e47535d65686c6c6c6c6c6c6c69605b544a3f33281c0f03000000000000000000000000000000000000000000000000000000000000000000040d1a25303b44505c666f7c87939f9a9083786d60574d42362a1f160c0100000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000815212e3b47535f6a767979797979797979766c5f5346392d2013060000000000000000000000000000000000000000000000000000000000000000050d1925303b444c525f6060606060605d5d5e5f5f5f5f5e5d5c5a6060606060605a58534a41362b201408000000000000000000000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a0000000000000000000000000000000000040f1b27333f49535f69727f8c95a0aba3998f82808c96a0aca0968d80736a5f544a3f34281f1409000000000000000000000000000000000005121f2b3744505b656c6f7274777a7d807a6e6154473b312f3c4855626f7b8895a093867a6d6053473a35414b556875828e9ba8a69a8d8073675a4d4034271a0d0000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000000000003101c28343f4a54616e7b87929facac9f92867a6d6154473d3221160c01000000000f1b26313c4754606d7a85929facac9f93877b6e61544a4034281c100400000000000000000815212e3b4854616e7b87949f9f95887c6f6255493c2f221609000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000810161c2023242d2d2d2d2423211c17100800000810171d2123242d2d2d2d2323201c160f0800000000000000000000000000000000000000000000020a11171c23282c2d31343638393939393836342d2c29241e160d040000000000000000070c1012131e202020202020201f1413110d08010000000000000000000000000000000000000000000001080d1113141f202020202020201e1312100c06000000000000000c18232e39434b51535f606060606060595751493f351d140a000314202c37414b53595b606060606060605c5a544b4230261c110604101c28333e485055576060606060606054524c443a3024190d010000010d19242f3a434c51545e60606060606060585650483f33291f12080000010c161f2c35414b53595b606060606060605c53504a42382d22170b000000000000000000000000000000000000000000000000000000000000000000000009141f28343f4a54606a74808d97a0958c7f72695e53463e31281d130700000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c8686868686868686796c605346392d201306000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6c6c6c6c6c6c6c6a675f555353524f5960636c6c6c6c6c6c67645c53483c3024180b00000000000000000000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8897a2adaea298887b6e6155483b2e22150800000000000000000000000000000000040e1a242b3744505b656e7b86929fa7a89f92867c7984919ea5a89f92877c6f665c50443c31261a0e0500000000000000000000000000000000030f1b27333f49535b60626568686d70736e685e524639292f3c4855626f7b8895a093867a6d6053473a3a45515d677683909da9a5998c7f7266594c3f3326190c0000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000000000006121f2c3844505c6673808c99a3afa89b8e8175685e5246392d20130400000000000a15202c3945515d6774818e9ba7afa4998d8073665c5144382c1f150900000000000000000814212e3b4754616e7a8793939393887b6f6255483c2f221509000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000050b1014161720202020171614100b0500000000060c1114171820202020171614100b0500000000000000000000000000000000000000000000000000060b11171c1f2024272a2b2c2c2c2c2b2a2821201d19130c0400000000000000000000000406071113131313131313120706040100000000000000000000000000000000000000000000000000000104060712131313131313131107060300000000000000000007121d273039404546525353535353534c4a463f372d230b0200040f1a252f3941484d4e535353535353534f4d494239301e140a00000b17222c363e44494a535353535353534746413a32281e13080000000008131e28313a41454751535353535353534b4a453f362d20170d00000000040d1a232f3941484d4e535353535353535046443f382f261c11060000000000000000000000000000000000000000000000000000000000000000000000030b17232e38424e58606d7a84919e9f92867b6e615a50433a2f24180d01000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c8893939393939386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000714202d3946525e68767979797979797771675b4f464854606b70797979797979746e64584c4033271a0d010000000000000000000714202d3a4753606d7a86939facaea399897d706353493f33271b0f030000000000000000000000000000000000000004111d2935414c5565717e8b98a9b3ac9f9285786d6053463a2d201307000000000000000000000000000000020c16202a36424d56606c77828f98a3aca0968c8073707d8a939eaaa3999083786d60574d42372b20170d02000000000000000000000000000000000b17222d38414950535558565d616366615e564c41362a2f3c4855626f7b8895a093867a6d6053473e444d57606d7a86929faca9988b7e7165584b3e3225180b0000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000000000713202d3a4653606d7984919eabaca096897d7063564c4135291d1105000000000004111d2935414b55636f7c8995a0acab9e9185796d6053463c31261a0e00000000000000000714212e3a4754616d7a8686868686867b6e6255483b2f221508000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000407090a131313130b0a0804000000000000000005080a0b131313130a0907040000000000000000000000000000000000000000000000000000000000060c101213171a1d1e1f20201f1e1d1b1413110d080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e34383a464646464646463f3e3a352d251c1100000009131d272f373d40424646464646464642413d3730271e0c02000005101a242c33393c3d464646464646463a3935302820160c0200000000010c161f282f35393a45464646464646463e3d3a342d241b0e05000000000008111d272f373d404246464646464646433938332d261d140a0000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d45515d67717e8a949e988f82756c61554b4035291d1104000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c88959f9f9f9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e4134271b0e010000000000000000000613202c3945515d677784909daab4ab9a8d8073655b5044372b1f140a000000000000000000000000000000000000010c13202c3945515d6775828e9ba8b5a89c8f8275665c5044382b1f120600000000000000000000000000000008131e28323a46525e69717e8b949faaa59e9184796d6b75818e98a2aba0958c7f72695f53463f32291e14080000000000000000000000000000000006111b262f383f4446494b4c5254575954524c443b30252f3c4855626f7b8895a093867a6d605347464f565f69727f8b98a3ada197887c6f6255493c2f2216090000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000005121e2b37424d5764717d8a97a1adab9e9184786c6053463a3025190d010000000000010d18242f3a4854606b7784919dabada1978a7d7164574d42372b1d1207000000000000000713202d3946525e687679797979797976695f53473a2e211408000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306070a0d10111213131212100e0707040100000000000000000000000000000000000000000000000001040707131313131313130d0c0a0702000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d23282c2d3939393939393933312e2a231c130a000000020b151d252c313435393939393939393634312c261e150c0000000008111a22282d3031393939393939392e2d29241e160e04000000000000040d161e24292c2d383939393939393932312e29221b1209000000000000000b151d252c31343539393939393939362d2b28221c140b0200000000000000000000000000000000000000000000000000000000000000000000000000000a141e2935414c55616c75828f9893948a7d70675d5145392c201306000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c8895a2acac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271b0e0100000000000000000004101d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b1106000000000000000000000000000000000007131d28333f4a54606d7a86929facb1a7988b7f7265544a3f34281c10030000000000000000000000000000030d1924303a44505a616e7b85929fa6a99e93897d7067616e7b86929fa7a79f92867b6e615a50443b3025190d04000000000000000000000000000000000a141d262d3337393c3f4146474a4d4746413b3229222f3c4855626f7b8895a093867a6d605350535961686e7b85929eaaac9e9285786c605346392d2013060000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000000000714212d3a46535f6976828f9ca9afa3998c7f73655b504437281e13080000000000000007131d2c38434f5965727f8c99a3aea99c8f8276695f5347392e23180c0000000000000005111d2a36414c565e6c6c6c6c6c6c6c6c5f574d42372b1e1206000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000000000002080d10121313131313131313070704010000000000000000000000000000000000000000000000000002070b0d0d13131313131313130f0e0c090400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d111314202020202020201a1916130d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f202c2d2d2d2d2d2d2625221e18110a0100000000030b131a202527282d2d2d2d2d2d2d292825211b140c0300000000000810171c2023242d2d2d2d2d2d2d21201d19130c040000000000000000040c13191d20212b2d2d2d2d2d2d2d2524211d1811090000000000000000030b131a202527282d2d2d2d2d2d2d29201f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000020c19242f3a43505a616e7b8686868686847a6d6053473a2d201407000b1825323e4b5865717e8b98a4a69a8d8073675a5a6773808d9aa6a4988b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c8895a2acac9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e01000000000000000000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000000000000000000000000000000071118242f3844505b66717e8b98a2aeaca095887b6e6155483b2e23170b0000000000000000000000000000010b151f2935414c56616c75828f97a2ada2978e81756b605e69727f8c95a0aca2988f82766c62564c41362a1f160c01000000000000000000000000000000020b141b22272b2d2f3035393a3d403b3936302920232f3c4855626f7b8895a093867a6d60545c60636b707a839197a1ada49a8e8175655b5044372b1f12050000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000004101c2834404b55616e7b87939facac9f92867b6e6153493f3327160c0200000000000000010f1b27323d4754616d7a86929facac9f93877b6e61554b4034281c1004000000000000010d1925303a444c525f60606060606055534d453c31261a0e02000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800000000060d14191c1f1f202020202020201413110d080100000000000000000000000000000000000000000001080e1317191a20202020202020201c1b191510090200000000000000000000000000000000000000000000000000010507070b0e101212131312110f0d0a07060400000000000000000000000000000000000000000000000000040c13191d202d2d2d2d2d2d2d2d2625231e19120a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c1013131f202020202020191816120d070000000000000002090f14181b1b202020202020201c1b191510090200000000000000050b10141617202020202020201413110d08020000000000000000000001080d1113141e20202020202020181715110c060000000000000000000002090f14181b1b202020202020201d13120f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313e46535f696e7979797979786d675d5145392c201306000b1825323e4b5865717e8b989f9f9a8d8073675a5a6773808d9a9f9f988b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c88959f9f9f9f9386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e01000000000000000000000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f0802000000000000000000000003091119232935404b55606c7884919daab3a99d908477695f53463a2d1c1106000000000000000000000000000007121d27313945525d68717e8a939ea9a69f92857a6d615957606d7883909aa4aa9f948b7e71685e52463e31281e130800000000000000000000000000000000020a11171b1f202224292d2e30332e2d2a25292c2e343c4855626f7b8895a093867a6d6063666d70767d859195a0a9a89f93877c6f6253493f33271b0f030000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000006131f2c3845515c6773808d9aa4afa99c8f8275695e5241382d2217040000000000000000000a16202d3946525e6875828e9ba8afa49a8d8073675c5145382c1f150a0000000000000008131e28323a4146535353535353534847423c332b23190f04000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e2215080000000810181f25292b2c2d2d2d2d2d2d2d2d201d19130c0400000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2d292825211b140c030000000000000000000000000000000000000000000003080d111314181b1d1e1f20201f1e1c1a171413100c0701000000000000000000000000000000000000000000040d161e24292c393939393939393933322f2a241c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607131313131313130c0c0906010000000000000000000004080c0e0f131313131313130f0f0c0904000000000000000000000004080a0a131313131313130707050100000000000000000000000000000104060712131313131313130b0b0905010000000000000000000000000004080c0e0f13131313131313100606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a36424d575f616c6c6c6c6c6b605d554b4035291d1104000b1825323e4b5865717e8b939393938d8073675a5a6773808d939393938b7e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c8893939393939386796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e010000000000000000000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e09060400000100000406090e141a232b353d45515d67717e8a95a0acada2978b7e7265574d42362a1e0a0000000000000000000000000000030c18242f39434f59606d7a85919ea5ab9f948b7e71685e52505c666f7c87939fa9a69f92857a6e61594f433a2f24190c030000000000000000000000000000000000060b0f121316191d2021242621272c2f35393a3f444855626f7b8895a093867a6d6d7074797d828a9297a0a7aaa1968e81756a5f5341382d22170b000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000000000713202d3a4653606d7985929eacada1978a7d7064564d422f261b110600000000000000000005111d2a36414c5663707d8a96a1adac9e9285796d6053463c31261b0f01000000000007131e29333d454c5052535353535353534948443d352b21160b000004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000006101a222a3035383939393939393939392c29241e160d040000000000000000000000000000000000000a141c242b2f333439393939393939393534312c261e150c0200000000000000000000000000000000000000060b0f13191d20212427292b2c2c2c2c2b292724201f1d18120f0a04000000000000000000000000000000000000010c1620282f35394646464646464646403f3b352e251c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d1a26313b454d53555f606060605e53514b433a2f24180d01000b1825323e4b5865717e8686868686868073675a5a6773808686868686867e7165584b3e3225180b000000000000000000000000000000000000000916222f3c4955626f7c8686868686868686796c605346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e010000000000000000000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312100c070e070c1013131a1f262a353d47505a606d7984919ea7b1a99f9285796d6053473b31261a0e00000000000000000000000000000a151e2935404b55606b74818e97a1ada3999083776c60564c4a54606b74818e97a1ada2978e81756c61554c4135291e150b00000000000000000000000000000000000000030506080d11131821272c33383a4145474a505356626f7b8895a093867976797d81858a8f949ea1a9a9a29891847a6e61584e432f261b1106000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000006121f2b37434e5864717e8a97a1adac9e9184796d6053463b3020140a00000000000000000000010d1925303a4653606c7884919eacada1978a7e7164584e43372b1d120700000000000c18242f3a454f575c5e6060606060606056544f473d32271b10040004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800020d18222c343b414446464646464646464639352f2820160c010000000000000000000000000000000006101c262e363b3f40464646464646464642413d3730271e14090000000000000000000000000000000000020a11171b1f252a2d2e3134363839393938383633302d2c29241d1b150e09030000000000000000000000000000000008131e28323a414553535353535353534d4b4740372e24190d0200000000000000000000000000000000000000000000000000000000000000000000000000000002080d10121313131313131313131313131313131313131313131313121211100e0b090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306131313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246485253535353514745403a31281d130700000b1724313d4a56626c71797979797979736e645858646e73797979797979716c62564a3d3124170b000000000000000000000000000000000000000815212e3b47535f6a767979797979797979766c5f5346392d20130600000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e0100000000000000000000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c181b1a1b181c1f20262b31363f474f59616c74808d96a1adada2978d8073675d5145392a1f14090000000000000000000000000006111c26303845515d67707d89939da9a89f92877c6f655b5044424f59616d7a85929ea6a99e938a7d70675d51453d30271d1207000000000000000000000000000000000000000000050d161d242932383d44484c5154545c6063666f7b8895a2998c7f8285898d91979c9fa6aca69f9792867c6f685e52463c311d140a00000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c30231609000000000000000000000000000815212e3a47535f6a7683909ca9afa49a8d8073665c5044382c1f1202000000000000000000000008131f2b3844505b6673808c9aa4afa99c9083766a5f5347392f24180d01000000030f1b2834404c5761686b6c6c6c6c6c6c6c6360594f44382c2013070004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e2215080008141f2a343e464d5152535353535353535345413a32281e1308000000000000000000000000000000020b18222e3840474c4d53535353535353534f4d49423930261b1004000000000000000000000000000000060b141b22272b3036393a3e414345454646454442403d3a38352f2b27201a140d050000000000000000000000000000010d19242f3a444c525f606060606060605957524940352a1e13070000000000000000000000000000000000000000000000000000000000000000000000000000060d14191c1f1f202020202020202020202020202020202020202020201f1e1e1c1a18161413100c070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c101220202020202020201514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212931363a3b4646464646453a39352f281f160c0100000915212e3a45505a62656c6c6c6c6c6c67645c52525c64676c6c6c6c6c6c65625a50453a2e2115090000000000000000000000000000000000000006131f2b37434e585f626c6c6c6c6c6c6c6c6c645a4f43372b1e120500000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c00000000000000000000000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c282327272723282c2d31373b42465159606b717e8a929da8b1a79f92857a6d61554b4035291d1004000000000000000000000000020b17232e38424e58606d7984919ea5aca1968d80736a5f53493f3d46525e68717e8b949faba59e91847a6d60594f43392e23180b0200000000000000000000000000000000000000050f171f282f353d43484f54555d6064666d6f73767c8895a29c918c8f92989a9ea1a9aca8a09d948f857d6f6a60564c41342a200b0200000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c3023160900000000000000000000000004101d2935404b55626f7c88949fabac9f93877b6e61544a3f34281c10030000000000000000000000030f1c28333f4a54616e7b87939facab9f94887c6f62554b4035291d100400000005111e2b3744505c68737879797979797979706b6054483b2f2216090004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f12050b1724313e4a5764717d8a97a4aea194887b6e6155483b2e221508000d1925303b4650585d5f606060606060605f524c443a2f24190d0100000000000000000000000000000a141d2a34404a52585a60606060606060605c59544b42372c21150900000000000000000000000000020a11171d262d33373a4146474b4e505152535352514f4d4a4745403937322a251f170f080000000000000000000000000004111d2935414c565d6c6c6c6c6c6c6c6c66635b52473b2f23160a000000000000000000000000000000000000000000000000000000000000000000000000000810181f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272523201f1c1813110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d21211e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171f262a2d2e3939393939382d2c29241d160d0400000005111d29343f485056586060606060605a58524a4a52585a606060606060585650483f34291d110500000000000000000000000000000000000000030f1b26323c464e535560606060606060605f5a52493e33271b0f0200000000000000000000000000000000000000000000000000000000000000000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b000000000000000000000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa4aeaaa0958b7f72685e5243392f24180d010000000000000000000000000a141d28343f4a54606a73808d96a0aca59e9184796d60584e413835414c56606c77829099a3ada1968d80746b60554b4034281d140a000000000000000000000000000000000000050e172129313940454f54596063676d7175797c808387929faca39c999c9fa2aaabaca49f9c96918a827b6f6b60584e443b3022180e0000000000000000000000000003101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000613202c3945515d6774808d9aa6b0a99c8f8276695f5342382e23170c000000000000000000000000000b17222d3846535e6976828f9ca9b0a69a8d8074675d5145392c20150a00000005121f2b3845525e6b7885868686868686867d706356493d3023160a0004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e5245382b1f07000b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800101c2935414d5862696c6c6c6c6c6c6c6c6c5d564c4135291d11040000000000000000000000000006111c262f3c46525c64676c6c6c6c6c6c6c6c68655d54493d3125190c000000000000000000000000030b141b22272f383f44464c5254575a5c5e5f5f5f5f5e5c5a5753514b47433d363129211a120a0100000000000000000000000713202c3945525d687679797979797979736d63574b3f3225190c00000000000000000000000000000000000000000000000000000000000000000000000006101a222a30353839393939393939393939393939393939393939393939393838373634322f2d2c2923201d19130f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c39393939393939392e2d2a251f170f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d141a1e21222c2d2d2d2d2b20201d18130c0400000000010c18222d363f454a4b5353535353534d4c474040474c4d5353535353534b4a453f362d22180c0100000000000000000000000000000000000000000a15202a343c4347495353535353535353534f4940372c21160a00000000000000000000000000000000000000000000000000000000000000000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e2216090000000000000000000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d494644404141414141404546494d53575f616d727d869298a2aeaca2989083786c60564c4131281d120700000000000000000000000006111b262f3844505c666f7c87929fa8aa9e938a7d70675d51463c2f303a44505b656f7c87929fa8a89f93887d6f675c51453c2f261c110600000000000000000000000000000000030c172029333b434b515960636b70757a7e8285898c909299a3afada7a5a9aaaba39f9c9a93908a847e766e6960594f463c32291e10060000000000000000000003070909101d293643505c6976838f9ca9a296897c6f6356493c302316090000000000000000000000000714202d3a4753606d7985929fabada2978a7e7164574d4230261c11060000000000000000000000000006111c2a36424d5764717e8a97a1adab9f9285796d6053473c32271b0f01000005121f2b3845525e6b7885919393939393897c706356493d3023160a0004111e2b3744515e6a7784919daaa89b8e8275685b4f4235281c0f020e1a2734414d5a6774808d9aa7ab9e9185786b5e52452f24180c000b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800121f2b3844515d6974797979797979797976685d5245392c201307000000000000000000000000000b17222d38424e58646e737979797979797979756f65594d4134281b0e0200000000000000000000030c151d262d333d41495053565e616467696b6c6c6c6b6b696663605d55544e46423b332c241c130a01000000000000000000000714212d3a4754606d7a86868686868686807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000020d18222c343b4144464646464646464646464646464646464646464646464645454443413e3c3a38342f2d29241e1a150f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e262e343846464646464646463b3a36312921170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151f202020201e1413110d070100000000000006111b242d343a3d3e464646464646403f3b36363b3f404646464646463e3d3a342d241b1106000000000000000000000000000000000000000000040e18222a32373b3c464646464646464646433e372e251b1005000000000000000000000000000000000000000000000000000000000000000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e120600000000000000000000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa49a92867c6f665b50443a301f160c010000000000000000000000000b17222d38414d57606d78839099a3aea2988e81756b61554b40342a27333f49535f6a73808d96a1ada49a9184796d60584e42382d22170b030000000000000000000000000000000b151e29333b454d555d606b6f767d81868a8e9298999d9fa3abb5aca6a8a09e9a9992908c87837e78716c615e574f473d342b20170d000000000000000000040a0f131516191c28333f4a546a7683909da9a296897c6f6356493c30231609000000000000000000000006131f2b37434e5865717e8b97a2adab9f9285796d6053473b3120150a0000000000000000000000000000000e1a25313b4653606d7985929eabaea2988b7e7165584e43372b1e1308000005121f2b3845525e6b7885919e9f9f9f96897c706356493d3023160a0004111e2b3744515e6a7784919daaa89b8f8275685c4f4235291c08000e1a2734414d5a6774808d9aa7ab9e9285786b554b4035291d10040b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800131f2c3946525f6c7986868686868686867a6d6054473a2d211407000000000000000000000000030f1c28333f4a545f6a738086868686868686868275685c4f4235291c0f02000000000000000000020c151e272f383f444e535b6063686d7174767878797978777573706d67626058534d453e362e251c130a000000000000000000000714212d3a4754606d7a8793939393938c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000008141f2a343e464d5152535353535353535353535353535353535353535353535251514f4d4b494745403a3935302b26201b150c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f4453535353535353534846423b33291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507081313131313120706040100000000000000000009121b22292e313239393939393934332f2b2b2f333439393939393932312e29221b1209000000000000000000000000000000000000000000000006101820262b2e2f39393939393939393937332c251c1309000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d01000000000000000000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5a5b545c606266696e747b828b9299a2aaaea39f93887e706a5f544a3f32291e0d04000000000000000000000000040f1b27333f49535f69727f8c95a0aba79f92857b6e61594f43392f22222d38414e58606d7984919ea6aca0958c80736a5f544a3f33281f1409000000000000000000000000000007121c27303b454d575e676d747c83898e92989b9fa2aaa9a8aab0aca29a9796918e8a86837f7b76716d66615a524d453d352b22190e050000000000000000070f161b1f222325252b3844505b667784909daaa296897c6f6356493c3023160900000000000000000000000815222e3b4754606a7783909da9b1a79a8d8074675c5145382c1f130300000000000000000000000000000009141f2c3845515c6774808d9aa7b1aa9d9083776a6054473a2f24190d010005121f2b3845525e6b7885919eabaca396897c706356493d3023160a0004111e2b3744515e6a7784919daaa99c8f8376695c50433025190e020e1a2734414d5a6774808d9aa7ac9f928679675d5145392c1f13060b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800131f2c3946525f6c7985929393939393877a6d6054473a2d2114070000000000000000000000030d1a232b3844505b666f7c8792939393939392857b6e6154473b2e211408000000000000000000000a141e2730394149505860656c70767a7e818384858686858482807d79746f6a615e57504840372e251c12090000000000000000000714212d3a4754606d7a87939f9f9f998c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000000000d1925303b4650585d5f6060606060606060606060606060606060606060605f5f5e5d5c5a585653514b4746413a37312b262018120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424a505f606060606060605f534d453b31251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000911181d2124252d2d2d2d2d2d2726231f1f2326272d2d2d2d2d2d2524211d18110900000000000000000000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d2d2d2d2b27211b130a010000000000000000000000000000000000000000000000000000000000000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b1107000000000000000000000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39f918c7f726c61584e42382d20170d000000000000000000000000040e1a242b3744505b656e7b86929fa7ab9f958b7f72695e52473e31271d1b262f3c45515d67707d8a949eaaa89f92877c6f665b50443b31251a0e04000000000000000000000000000c18232e39424d575e696e79818990959b9fa3aaaaa8a19e9c9ea6a69a908a8784817d7a76726e6964605c545046423b332b23191007000000000000000007101921272c2f30323230394653606c7985929faca295887c6f6255493c2f2216090000000000000000000004111d2935414c56626f7c88959fabab9f95887c6f62554b4034291c100400000000000000000000000000000004101c2834404b55626f7c88959fabab9f95887c6f62564c4135291d11040005121f2b3845525e6b7885919eabaca396897c706356493d3023160a0004111e2b3744515e6a7784919daaaa9d9083776a564c41362a1e11050e1a2734414d5a6774808d9aa7afa399867a6d6053473a2d2014070b1724313e4a5764717d8a97a4aea194887b6e6155483b2e22150800131f2c3946525f6c7985929f9f9f9f93877a6d6054473a2d21140700000000000000000000010b151f2a36414c56606c78839099a39faa9e948b7e71685e5246392d20140700000000000000000006111c263039424a535b606a6f787d82868a8d8f9192929292918f8d8a86817c756e69615a524a40372e241b0f0600000000000000000714212d3a4754606d7a8793a0aca6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000101c2935414d5862696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6a69676562605c5554524c47433c373228231d150c0700000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000000000000000001070b0f111213131313131313080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c111517182020202020201a1917131317191a202020202020181715110c06000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020201e1b1610090100000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b1309000000000000000000000000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6aea8a199928b7f736d635a50463c2f261c0e050000000000000000000000020c16202a36424d57606c77829098a3aea3999083786c60564d42352c1f15141d2935404b55616c75828f98a2aea3999083786c60574d42362a20160c02000000000000000000000004101c2834404a545e696e7b838e939d9fa7aca7a09d9996918f949ea4978a7e7b7774716d6865615e5753504a423e363029211911070000000000000000040f19232b32383b3c3f3f3f424b55626e7b8898a2aea894877b6e6154483b2e211508000000000000000000000613202c3945525d6874818e9aa79faa9d9083766a5f5343392f23180c00000000000000000000000000000000000c18232e3947535f6a7683909daa9fa79a8e8174685d5245392c2013060005121f2b3845525e6b7885919e9f9f9f96897c706356493d3023160a0004111e2b3744515e6a7784919daaab9e918578685e5246392d2014070e1b2834414e5b6774818e9aa7b5ab94887b6e6155483b2e2215090b1825313e4b5864717e8b97a4aea194887b6e6155483b2e22150800131f2c3946525f6c7985929facaca093877a6d6054473a2d2114070000000000000000000007121d27313946525e68727f8b959fabaea2988f82766c62564d41362a1e11050000000000000000030d17232e38424a545c656c737c838a8f93999a9c9e9f9f9f9e9e9c9998928e89827b716c635c524940362d22180b02000000000000000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000121f2b3844515d697479797979797979797979797979797979797979797979797878777674716f6d6764615d56534e47433c342e271e191008000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66767979797979797976695e53463a2d211407000000000000000000000000050c12171b1d1e202020202020201514120e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105090b0b1313131313130d0d0b07070b0d0d1313131313130b0b09050100000000000000000000000000000000000000000000000000000000000003060809131313131313131313120f0a0500000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e181109010000000000000000000000000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808181828486898c90959a9fa3ababa49f9691877e736d635b51473e342a1d140a00000000000000000000000008131e28323a46525e69727e8b949faaa89f92877c6f665b50443b30231a0d0b18242f3943505a616e7b86929fa8ab9f958b7f72695e53463e32281e1308000000000000000000000006121f2c3844515c666e7b8490959da5aba49f9b95908c8884828f9ca09386796e696764605d5654534d46443f38302a251f170f070000000000000000000a16212b353d4348494c4c4c4d525d67727f8c99aaaca096867a6d6053473a2d201407000000000000000000000714212d3a4754606d7a869293939393988b7e7165584e4331271d1207000000000000000000000000000000000007121d2b37434e5865717e8b989393939392867a6d6054473a2d2114070005121f2b3845525e6b7885919393939393897c706356493d3023160a0004111e2b3744515e6a7784919daaada197877a6e6154473b2e23180b0f1b2835424e5b6875818e9ba8b0a3978a7d7064574a3d31261a0d0c1825323f4b5865727e8b98a5aea194887b6e6155483b2e22150800131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000020b18242f39434f59616e7a85929fa7b0a69f92867b6e615a50443b3025190e0200000000000000010b151f28343f4a545c666d77808890959c9fa4aba8a5a3a2a2a3a5a8aaa39f9b938f867e736e635b52483e342a1d140a000000000000000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c79868686868686868686868686868686868686868686868685848482807e7c7975716d68625f58534e454039302a221a1109000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d78868686868686867b6e6154483b2e2115080000000000000000000000060f161d23272a2b2d2d2d2d2d2d2d22211e1a140e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d070000000000000000000000000000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8d8e8f919298999d9fa7acaca69f99938d847d716c635b51493f352c22180b020000000000000000000000030d1924303a44505a616e7b85929fa6ada1968d80746a5f544a3f32291f110807121d28313e46535f69737f8c95a0aca79f92867b6e615a50443a3025190d0400000000000000000005111e2a36414c56606d78829096a0a7a8a099938e88837f7b787c8895a093867a6d60565754524c4846423b38342e261e1a140d05020000000000000000030f1b27323d474f5456585859575e616d7984919eabaa9e918477675d5145392c201306000000000000000000000c1925323f4c5865727f8686868686868686796d6054473c3121150b010000000000000000000000000000000000000f1b26313c4754606d7986868686868686867f7265584b3f3225180c0005121f2b3845525e6b7885868686868686867d706356493d3023160a0004111e2b3744515e6a7784919daab3a9968a7d7063554b4034281d14111c2935424f5c6875828f9ba8b3a6998c807366584e43372b1f16111926323f4c5965727f8c98a5b5ab94877a6e6154473b2e21140800131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000a141d2935404b55606b75818e97a2adaa9f948b7e72695e52483e32291f1408000000000000000007121d27313944505c666d78818c939a9fa7a9a29f9b9896959596989b9fa2aaa59e98928a80736e635a50463c2f261b11060000000000000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929393939393939393939393939393939393939399929291908f8d8b8985827e7a756f6a625f58514b433c342c231b12090000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869393939393877b6e6154483b2e21150800000000000000000000050f1820282f333738393939393939392e2d2b261f180f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020608080b0e1011121313121211100d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0e10111213131212100e0b080806020000000000000000000000000000000000000000000000000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b09060100000000000000000000000000000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3aaaaababa39f9b948f878079706b625a514940372e231a10060000000000000000000000010b151f2935414c56616c75828f98a2aea69e9184796d60584e42382d20170d00010c161f2a36424d57606d7984919da5aea2988f82756c61564c4135291f160c0100000000000000000713202d3946525e6873808d949fa8a7a0969187817c77726e6f7b8895a093867a6d60534a4745413b3a36312b2823201f1b1714110e090200000000000007131f2c38434f59606365656667696e75808d96a1aca89b8e817568554b4035291d1104000000000000000000000b1824313e4a56626d7279797979797979796d675d5145392c201303000000000000000000000000000000000000000a15202c3945515d676d7979797979797979726d62564a3d3124180b0005111e2b3744505c68737879797979797979706b6054483b2f2216090004111e2b3744515e6a7784919daab4a79a8d8074675c51453a2f26201d1e2b37424d576a7783909daab6a99d9083766a5f53473c3128201e1d27333f49536774808d9aa7aea399877a6d6054473a2d21140700131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000006111b262f3845515d67707d89939ea9aea2988f82776c60574d42362d20170d0200000000000000000c18232f39434f59606d78818e939fa4aaa29f97928e8b898888898b8e92989fa3aaa29f928c80736c61584e41382d22170b0000000000000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0604020000000000000000000000000000020506060503000000000000000000000000131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9e9e9d9c9a9898928f8b86817c756f6a605c554e463e352d241b120900000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939f9f9f94877b6e6154483b2e211508000000000000000000010c16202a323a3f4345464646464646463b3a37312a21180e0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205090e121415181b1d1e1f20201f1f1e1c1a181514120e090502000000000000000000000000000000000000000000000000000000000000000000000001080d111314171a1c1e1f20201f1e1d1b181514120e09040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a29e9b99928e88827c746d676059504840372e251c110800000000000000000000000007121d27313945525d68717e8a939eaaaa9e948a7d70675d51463c2f261c0e050000040d1a26313b45515c66707d89939ea9aa9e948a7e71685e52463d31281d120700000000000000000714212e3a4754616d7a86929fa6aaa09590847c756f6a66626f7b8895a093867a6d6053473a3935302d2e3633312e2d2b2722201e19140d0500000000000915222f3b4854606b6f72727273767b818d929da8aca1968a7d7064574a3d2f24180d01000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c6c605d554b4135291d11040000000000000000000000000000000000000004111d2935414b555d606c6c6c6c6c6c6c6c65625b51463a2e22150900030f1b2834404c5761686b6c6c6c6c6c6c6c6360594f44382c2013070004111e2b3744515e6a7784919daab7ab9f9285796d60564c42382f2c292a2d3a47535f697885929fabb8ab9f95887b6e62584e4339312d2a2a2d3744505b6576828f9ca9ac9f928679685d5245392c20130600131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000000b17222d38414e58606d7984919ea5afa79f92867b6e655b50453b30241b0e05000000000000000004101c2934404b55606b73808d939ea5a7a098928c85817e7c7c7c7d7f82868d9299a1a8a49c928b7e716a5f53493f33271c110600000000000714212d3a4754606d7a8793a0ada6998c807366594d4033261a1312110f0b0706040100000000000306070b0f11131312100d0a09070400000000000000131f2c3946525f6c7985929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a7aaa9a7aaa29f9b99928e87827c736d675f584f473f362d241b1007000000000000000000000000000000000000000606060606060606060606060606060606060713202d3a4653606d798693a0aca194877b6e6154483b2e21150800000000000000000007121d28323c444b5051535353535353534846423c332a1f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e11151a1e21222528292b2c2c2c2c2b2b29272522211e1a14120e090200000000000000000000000000000000000000000000000000000000000000050b1013191d20212427292b2c2c2c2c2b2a282522211e1a15110d070100000000000000000000000000000000000000000000000000000000000000000000000406070a0d0f11121313131212100e0c09060603000000000000000000000000000000000000000000000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817c766f6a605d554f473e362e251c130a000000000000000000000000030c18242f39434f59606d7a85919ea6aea2988f82756c61554b40342a1d140a0000000009141f2834404b54606b75818e97a2ada69e92857a6d61594f43392f24180c0300000000000004111d2935414c566673808c98a2aea29890837a6f6a625f58626f7b8895a093867a6d6053473a2d30363a3b43403e3b3937332d2d2a251f170e0500000000091623303c4956636f7d7f7f7f8083868e939da4aea59e9184786d6053463a2d201307000000000000000000000006121e29343f49515658606060606060605f54514b433a2f24180d0100000000000000000000000000000000000000010d18242f3a434b51545f60606060606060585651493f34291d120600000c18242f3a454f575c5e6060606060606056544f473d32271b10040004111e2b3744515e6a7784919daab7ada2978b7e71685e544a423c3935363a3f4a54616e7b8898a2aeb5afa79a8d80746a5f554b433d393636393d4653606c7985919eabaa9e9184776b564c4135291d110400131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000030f1b27333f49535f6a73808d96a0acaa9f958c7f72695f53493f33291f120900000000000000000006131f2c3845515c67707d88939fa5a7a09590857f797572706f6f7072757a80869196a1a9a49f92867c6e655b5044382e23170c00000000000714212d3a4754606d7a8793a0ada6998c807366594d4033261f201f1e1b181413110d080100060b101213171c1e1f201e1d1a171613100b050000000000131f2c3946525f6c7985929facb8ada39c9898989898989898989898989898999a9b9d9fa3aaaaacaba39f9a938f8780796f6a615950483f362d22190f050000000000000000000000000000000306071313131313131313131313131313131313131313202d3a4653606d798693a0aca194877b6e6154483b2e2115080906010000000000000b17232f3a444e565c5e6060606060606055534d453c31261a0e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d14191e20262b2e2f323436383939393938373634322e2d2b26201e1a140e0902000000000000000000000000000000000000000000000000000000040a0f161c1e24292c2d3134363839393939383634322e2d2b26201d18130c060000000000000000000000000000000000000000000000000000000000000001070c10131416191c1d1f1f20201f1e1d1b191613120f0b060000000000000000000000000000000000000000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817e7a746f6a626058514b433d352d241c130a010000000000000000000000000b151e2935404b55606b74818e97a1ada79f92867b6e615a50433a2f22190b0200000000030c18232e39424f59616e7a85929fa7ada1978e81746b60554b4035291e150a0000000000000713202c3945525d687783909daaab9f92857b6e6860585355626f7b8895a093867a6d6053473a333b4246474f4d4a4846443f3b3a36302920170d020000000e1a2734414d5a6774808b8b8c8d8f92999ea5aca59e938a7e71665c5044382b1f12060000000000000000000000010d18232d373f464a4c53535353535353524745413a31281d130700000000000000000000000000000000000000000007131d28313a41454752535353535353534b4a463f372d23180d01000007131e29333d454c5052535353535353534948443d352b21160b000004111e2b3744515e6a7784919daab1a7a09d92857a6d665b544e474541424648505b66727f8c98aab4aba49f9d92877c6f675d554f4746414146474e58626f7c8997a1ada99c8f8276695c4f432f24190d0100131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000030c19232b3744505b656e7c87929fa8aea3989083786c60574d41382d21170d00000000000000000004111d2935414c55606d7984919aa4a9a09590837b726d67656362626365686d737c849197a1aba2989083786c60544a3f34281c1003000000000714212d3a4754606d7a8793a0ada6998c807366594d40332b2c2c2c2b282521201d19130d0a11171c1f2024282b2c2c2b2a272322201c160f0800000000131f2c3946525f6c7985929facb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8c8d8e909298999da0a7aaaca49f99928d837c706b625a50483e342b21170d03000000000000000000000000060b1012132020202020202020202020202020202020202020202d3a4653606d798693a0aca194877b6e6154483b2e21191815120d0600000000000f1b27333f4b5660686b6c6c6c6c6c6c6c6c5f574d42372b1e12050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191f252a2d31373a3b3e41434445464645454443403e3b3a37312d2a251f1a140d0500000000000000000000000000000000000000000000000000060b151b21272c2f35393a3d414344454646454543413e3b3a37312c29241d17110a03000000000000000000000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b2a282523201f1c17110f0a03000000000000000000000000000000000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868585848382807d7b7975716d68625f58544e45403a312b231b120a0100000000000000000000000007121c27303945515d67707d89939da9aba0958c7f72695e53483e31281d100700060000000007121d27303d46525e68727f8b959faba99e93897d70675d51453d30261c110600000000000714212d3a4754606d7a86939facaa998c8073695e564e4855626f7b8895a093867a6d6053473a3b454d52545c5a57555350494746423b32291f14090000000e1a2734414d5a6774808d98999a9c9fa3aba8a19e938e81756c61544a3f34281c100300000000000000000000000006111b252d343a3e3f46464646464646463a39352f281f160c01000000000000000000000000000000000000000000010c161f282f35393a46464646464646463f3d3a342d251b1106000000010c17212b333a404445464646464646463d3b38322b23190f04000004111e2b3744515e6a7784919daaaca09590958e81786c665f5854524c4d53555a606c7883909daaafa4999390959083796d67605954524c4c525458606a74818e9aa9b3aa998d8073665a4d4033271a080000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000b151e2a36414c56606c77829099a3aea79f92867b6e665b50453b2f261b0f050000000000000000000613202c3945515d67737f8c96a1aca29790837a6e69605d5556555556565d606a6f7b859199a3aa9f948b7e71665c5044382c1f1509000000000714212d3a4754606d7a8793a0ada6998c807366594d4036383939393735322d2c29241e19141c23282b2d3135383939383633302f2c2721191108000000131f2c3946525f6c7985929facb2a5988c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818386888c91959c9ea6acaba39f9591867d716c625a50463d33291f140900000000000000000000020a11171c1f202c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2d3a4653606d798693a0aca194877b6e6154483b2e2c2524221e18110901000000111d2a3743505c6872787979797979797976695f53463a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080e161e25293036393c4247484b4e50515253535252514f4d4b4846423c3a36302a251f170f0800000000000000000000000000000000000000000000020a111720262b33383a4145474a4d4f515253535251504e4b4847423c39352f28231c150c05000000000000000000000000000000000000000000000000040a0f161b1d23292c2d303335373839393939383635322f2d2b28221c1b150e090300000000000000000000000000000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433d352f281f19110900000000000000000000000000000c18232e39424e58606d7984919ea5afa4999083786d60574d42362c1f160c1313130c060603000b151e2a36414c56606c78839099a4afa59e9184796d60584e42382e23170c00000000000916232f3c4956626f7c8999a4aea298887b6e62574d444855626f7b8895a093867a6d6053473a424d575e6169666461605b5354524d443b3025190e0200000e1a2734414d5a6774808d9a9f9fa29f9e9d9a96918b81786d605a5042382e23170b000000000000000000000000000009131b23292e313239393939393939392d2c29241d160d040000000000000000000000000000000000000000000000040d161d24292c2d393939393939393932312e29231b13090000000000050f1821292f34373839393939393939302f2c272119110700000004111e2b3744515e6a7784919daaaa9d908490938e81786e6a64605d56575f61646c727f8b95a0acac9f93878390958f82796f6b64615e56565e61646a6f7c87929facaea298897d7063564a3d3023170a0000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000007121d27303946525e68717e8b949fababa0958c7f726a5f544a3f332a1d140a000000000000000000000714212d3a4754606d7a85929fa8a89f92857b6e685e57514b4949494a4c52585f696f7d87929faaa69e9184786d6053463c31261a0e020000000714212d3a4754606d7a8793a0ada6998c807366594d40434445464544423e3a39352f2a251e262e34383a3e424446464543403d3c38332b23190f050000131f2c3946525f6c7985929facada093877a7272727272727272727272727273737477797c8084898f949da0a7afa7a09892877e716c61584e453b30251a0d040000000000000000020c141c23282b2d393939393939393939393939393939393939393939393a4653606d798693a0aca194877b6e6154483b393932312e29231b1309000000121e2b3845515e6b7884868686868686867b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a121a202830353b4146474e5355585b5c5e5f5f5f5f5e5e5c5a5855534d4846423b363029211a120a0200000000000000000000000000000000000000030b141b222732373d44484c5254575a5c5e5f5f5f5f5e5d5b5855534d4745413a342e261e170f0700000000000000000000000000000000000000000000060b151b21272c2f34383a3d40424445464646454543413f3c3938332d2b26201a150b06000000000000000000000000000000000000000000000000000000080e171f252a33384851595e6060605c60626567686a6b6b6c6c6c6b6a6a68666462605c6060605f5c574f453a29241d160d07000000000000000000000000000004101c2834404a54606a73808d96a09fa99f93877c6f665c50453b31241a20202020201913120f0b060c1925303b44505b666f7c87939fa99fa1968d80736a60544a3f34281c1003000000000a1724303d4a5763707d8a96abab9f9285796c6053463c4855626f7b8895a093867a6d6053473a46525e696e7673716e6c6567615e564d42362a1e110500000e1a2734414d5a6774808d939393989291908d8a847e746d665c51483e30261c11060000000000000000000000000000010911181e2224252d2d2d2d2d2d2d2c21201d18130c0400000000000000000000000000000000000000000000000000040c13181d20212c2d2d2d2d2d2d2d2524221d18110901000000000000060f171e24282b2b2d2d2d2d2d2d2d2322201b160f070000000005111e2b3844515e6b7784919eaaa4978b7e8491938e827c75716d686b6b696e71767e87929fa7b1a79c8f827b8692948f837c75716e686b6b686d70757c859299a3afaa9f9285796d6053463a2d2013070000131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000c18232e39424f59616d7a85929ea6aea3999083786d60574e42382d21180b0200000000000000000007131f2c38434f5965727f8c98a2aca0968b7f72695f564d45403d3c3c3d41454e57606b74808d98a2aca1968a7e7164574d42372b1e12060000000714212d3a4754606d7a8793a0ada6998c807366594d4c5051525352514e4b4745413a36302a30383f44464a4f51525351504d4a48443d352b21160b0000131f2c3946525f6c7985929facada093877a6d656565656565656565656565666768666d6f73777c828990959fa4acaaa299928b7e716a60574d42362a1f160c01000000000000000a141e262e34383a46464646464646464646464646464646464646464646464653606d798693a0aca194877b6e6154484646463f3e3a342d251b11060000121e2b3845515e6b7884919393939393887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c242c323a41464d5254575f626567696b6c6c6c6c6b6a696765615f5754524d46423b332c241c140a020000000000000000000000000000000000030c151d262d333c43474f54565d606467696b6c6c6c6c6b696765615f5754514b443f3830292119100700000000000000000000000000000000000000020a111720262b323839404547494c4f50525253535251504e4c4946443f3837312b262017110a020000000000000000000000000000000000000000000000000000050d141a2136424e59636b6c6c6c6c6b64615a5c5d5e5f5f5f5f5e5e5d5b535b60656c6c6c6c6b6861574c403428130c0400000000000000000000000000000006121f2c3844515c666f7c879293939393978d80746a60544a3f33291f202c2d2d2d2c26201f1c17110a141e28333f4a54606a74808d979393939392877c6f665c5044382c1f1206000000000b1824313e4b5764717e8a97a4aa9e918477655b50443c4855626f7b8895a093867a6d6053473b4754616e7b82807d7b7976746e695e52463a2d20140700000e1a2734414d5a6774808686868686858483807d79716c605c544a40362c1e140a0000000000000000000000000000000000060d12151819202020202020201f1413110d070100000000000000000000000000000000000000000000000000000001070d1113141f20202020202020181815120d06000000000000000000050c13181b1e1f20202020202020161613100b04000000000005111e2b3844515e6b7784919eaaa3978a7d7d8992948f86817d7a797778797b7e838b9299a3afaba0958a7e737f8c94959087827e7a797878797a7d82889297a1abaea3988d8074665c5145382c1f13060000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000004101c2834404b54606b74818e97a1ada79f92877c6f665c50453c2f261c0f06000000000000000000000915222f3b4854606b7784919eaaab9e9184786d60574d443b352f2f2f30353c454f59616d7a86929faca89d908376695f53473a2d2114080000000714212d3a4754606d7a8793a0ada6998c8073665956595c5e5f5f5f5e5b5854524c46413a333c424a5053575b5e5f5f5e5d5a56544f473d33271c100400131f2c3946525f6c7985929facada093877a6d605858585858585858585858595a545c6062666b6f767c838d939aa3ababa39f92867c6f695e52463e31281d130700000000000006111c2630383f444653535353535353535353535353535353535353535353535353606d798693a0aca194877b6e6154535353534c4a463f372d23180d0100121e2b3845515e6b7884919e9f9f9f94887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d262e363e444c52565e61666a6e717476777879797878777673716e6966615e57524d453e362e261c140a00000000000000000000000000000000030c151e272f383f444e54596063686d7074767778797978787674716e6965605d55504a423b332b221910070000000000000000000000000000000000040b141c222832373d43484b515356595b5d5e5f5f5f5f5e5d5b585653504a47433c373127221b140b03000000000000000000000000000000000000000000000000000002091f2c3945525e6b757979797978706c615f57514b525352524b51575f656c71787979797873685c5044372b1e11000000000000000000000000000000000713202d3a4653606d798386868686868686857a6d60584e42382e282b383939393939332d2b28221c140b17222d38424e58606d7a858686868686868683796d6053463a2d201307000000000b1824313e4b5764717e8a97a4ab9e918578665c50443c4855626f7b8895a093867a6d605347424e5865717e8b8d8a888583807b6e6154473b2e21140800000d1a26333f4c58646e74797979797979787774706d66625a514a42392e241a0c020000000000000000000000000000000000000106090b0c131313131313131307060401000000000000000000000000000000000000000000000000000000000000000104060713131313131313130c0b090601000000000000000000000001070c0f1112131313131313130a0907040000000000000005121e2b3845515e6b7884919eaba3968a7d73808d9499928e8a8785848585888b90959fa3abaea3999183786d78828f959a938f8b8786848485878a8e939aa1a9afa59f92867b6e61544b4034281c10040000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000040e1a242c3845515c66707d89939ea9aba0958c80736a5f544a3f332a1d140a0000000000000000000000091623303c4956636f7c8996a0aca3998b7f72665c50453b32292422222429333d46525d6874808d9aa8ab9f95887b6e6155483b3025190d0100000714212d3a4754606d7a8793a0ada6998c807366606366696b6c6c6c6a6865605d56524c443e454d545c6064686b6c6c6b69666360594f44382c20130700131f2c3946525f6c7985929facada093877a6d60544c4c4c4c4c4c4c4c4c4c4c4d4a5053555960636a6f7980889299a3abaea39891857b6e615a50433a2f24180d0000000000000b17232e38424a50535f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f606d798693a0aca194877b6e615f5f5f5f5f585651493f34291e120600121e2b3845515e6b7884919eabaca194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000000009131d262f38404850565e61686e73777b7e81838485868685858482807e7b77736e69615e57504840382e261c13090000000000000000000000000000000a151e273039414950585f626b70757a7d808284858686858483817e7b77726d67605c544d453d342b22190f05000000000000000000000000000000040d161d262d333c43474f54555c606366686a6b6c6c6c6c6b69686562605b54534e47423c332d261d150d03000000000000000000000000000000000000000000000000000613202d394653606c7987868686847d756e69605c554f46454f545c60696e777e8586868685786b5f5245382c1f120500000000000000000000000000000006121f2c3844515c666d7779797979797979786d685d52463d302e34384546464646463f3938332d261d18111c262f3c45525d686d7879797979797979776d665c5044382c1f1206000000000a1723303d4a5663707d8996a9ac9f9286796d6053463e4855626f7b8895a093867a6d6053474b54606a76838f9997989290857a6d6053473a2d20140700000b1723303c47525c64676c6c6c6c6c6c6b6a6764605c545044403930271c1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919eaba396897c7078828f949f9b97989291919298979d9fa7aeaaa29f92877d70666d7a8390959f9c97999291919298979b9fa4acaca49f938c7f72695e5342392e23180c000000131f2c3946525f6c7985929facada093877a6d6054473a2d21140b0b0b0b0c16202b37424d57606d7984919da5afa3999083796d60584e42382e21180b020000000000000000000005121e2a36424d576774808d9aa8ac9f92867a6d61544a3f33292018161619212935414c56626f7c8895a0aca7998c807366564c4135291d110500000714212d3a4754606d7a8793a0ada6998c8073656c6f7376777879787775716d68615e5650484d575f666d7175777979787673706b6054483c2f22160900131f2c3946525f6c7985929facada093877a6d6054473f3f3f3f3f3f3f3f3f40403f4446494f545860676d737e879299a3aeaaa1978f82766c61554b4135291d12070000000003101c28343f4a545c6a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d798693a0aca194877b6e6c6c6c6c6c6c65625b51463a2e22150900121e2b3845515e6b7884919eabaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000007101b252f38404a525a61686d747b8084888b8e8f919292929291918f8d8b8884807b746e69615a524a40382e251b0f060000000000000000000000000006111c263039424a535b606a6f767d82868a8d8f919292929291908e8b88847f7a726d665e574e463d342b21170b0200000000000000000000000000030c161f282f383f444e54596063676d707375777879797978787674726f6c66625f58534d443f382f271f150d03000000000000000000000000000000000000000000000000000b1825313e4b5864717e889396918a827b736d67615953525960666d737b828b929792877e7064574a3d3124170a0000000000000000000000000000000004101c2834404a545c606a6c6c6c6c6c6c6c6b605d564c413430383f445253535353534c46443f382f2a2119141d2935414c565d606b6c6c6c6c6c6c6c6a605c544a3f34281c1003000000000815222e3b4855616e7b8897a1ada399897d70635a50474855626f7b8895a093867a6d60534c535c666f7c89949faaa29b8e8175675d5145382c1f1306000007131f2b36404a52585a60606060605f5e5d5a5753514b423f342e271e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080a0d0e10111212131313131211100f0d0b090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556c7885929f9f9f95887c6f6d79828d939a9fa29f9e9e9fa3aaa9a9aba39f98928a7f726b60686d7a838d939a9fa39f9e9e9fa2aaa8a9aba49f9a938c81776c60574d4230271d1207000000131f2c3946525f6c7985929facada093877a6d6054473a2d211818181818181e28323a47535f69737f8c96a0aca89f92877c6f665c51463c30261c0f0600000000000000000000000714212d3a46535e697784919eaaa99c8f8276685e5242382e21170d07080f1924303a47535f6a7784919daaaa9d908377685e5246392d20130700000714212d3a4754606d7a8793a0ada6998c807370787c7f838485868584817e7a746d68615a51575f696e787e828485868483807d7063564a3d3023170a00131f2c3946525f6c7985929facada093877a6d6054473a3232323232323232332e34383a3d43484e555c606c717e87929fa5afa99f948a7e71675d5145392e23180c0000000006121f2b3844505c6674797979797979797979797979797979797979797979797979797979788693a0aca194877b79797979797979726d62564a3e3124180b00121e2b3845515e6b7884919eabaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222d37404a525c636c717a81868c9196989a9c9e9f9f9f9f9e9d9c9a9895918d86817b716c645c524a40372d21180e030000000000000000000000040e17232e38424a545c656c727c82898f92999a9c9e9f9f9f9f9e9c9a9895908b857f786e6960584e463d33291d140a000000000000000000000000000b151e283139424a50585f626b6f75797d7f828385858686858483817f7c79746f6a625f575049413931271f150b010000000000000000000000000000000000000000000000000a1724303d4956626c717f8b919e948f868079706b615f5d606b6f797f868f949f93887e716c6155493c3023160a00000000000000000000000000000000000c18232e39424a51535d606060606060605e54524c433a2f38424a505e5f6060605f5953504a423b332a251f19242f3a434c52545e606060606060605d53504a42382e23170c00000000000613202d394653606c7985929eabab9b8f82756c615a544e55626f7b8895a093867a6d6053565d656d7983909da6aca0958a7d7064554b4035291d10040000030e19242f3840474c4d53535353535251504d4a464540393028231c150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406090e12141517191b1d1e1f1f2020201f1f1e1d1c1a18161312100c0705020000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6779869293939393887b6e676d7880878f93999b9d9e9f9f9f9e9c9a99928e867e726d62595e686d7980878e92999a9c9e9f9f9f9e9d9a99938e877f746c655b50453b311e150b00000000131f2c3946525f6c7985929facada093877a6d6054473a2d2424242424242424303a44505a616e7b86929fa8aca0968d80736a60544b40342a1e150a0000000000000000000000000815212e3b4854616e7b8796a0acab988c7f7265564c4130261c0f06000008131e2b37434e586774808d9aa7ac9f93867a6d6154473a2e21140700000714212d3a4754606d7a8793a0ada6998c80747d83898c8f91929292918e8b86807a706c635b5e696e7b838a8e91929291908d86796c5f5346392c201300131f2c3946525f6c7985929facada093877a6d6054473a2d252525252525252623282c2d32383d434b515a616c727f8b939ea9b0a69e91847a6d60544b4034281c10040000000713202d3a4653606d78868686868686868686868686868686868686868686868686868686868a95a1b9ac9f9286868686868686867f7265584c3f3225190c00121e2b3845515e6b7884919eabaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2b343f49525c646e737e858d92999da0a8a9a29f9d9c9b9c9d9fa2aaa7a09d99928e857e736e645c52493f332a1f140900000000000000000000020c162028343f4a545c666d777f8790949b9fa3aba7a3a2a1a1a2a4a8a7a7a09d97928b837b6f6a60584e453b2f261b1106000000000000000000000007121d273039434b545b606a6f767c8185898c8e90919292929291908e8b8985817c756e69605b534b433931271d12070000000000000000000000000000000000000000000000000815212d3945505a626d727f8b919c98928c847d756e69686d747c838c92989c918b7f726c625a5044392d201408000000000000000000000000000000000007121c2730394044465153535353535353524745413a31343f4a545c6a6c6c6c6c6c66605b544d453f363029201e28313a41454752535353535353535146443f3830261c1106000000000005121f2b3744505b6574818e9ba6aa9e938a7e716c62605857626f7b8895a093867a6d605c60686d77818e95a0aca79d9184786c605346392f24180c0000000008121d262f363c3f414646464646464544413d3a38342e271e18120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1013141a1e2121242628292a2b2c2c2d2c2c2c2b2a29272522201f1c1814120e0903000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d79868686868686867a6d61666d737c82878b8e909192929291908d8a86817b716c625b51565e676d737c81868a8d909192929291908e8a87817c736d605b53493f33291f0c0300000000131f2c3946525f6c7985929facada093877a6d6054473a31313131313131313135414c56616c76828f98a3aea49a9184796d60584e42392e22180c030000000000000000000000000b1825313e4b5864717e8b97a8aea399887c6f6255493c3022140a000000020f1b26323d4a5763707d8a96a8afa4998a7d7064574a3d3124170700000714212d3a4754606d7a8793a0ada6998c80808a9095999c9e9f9f9f9d9b98928d857e736d63616e7b8590959b9e9f9f9e9c9286796c5f5346392c201300131f2c3946525f6c7985929facada093877a6d6054473a2d2119191919191919171c1f20272c30394045505a626d74818e97a1adada1968c7f73665c5145382c1f14090000000713202d3a4653606d798692929292929292929292929292929292929292929292929292929298a3aebaaea399929292929292928b7f7265584c3f3225190c00121e2b3845515e6b7884919eabaea194887b6e6155483b2e22150800000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303d46515b646e74808a92979fa3a9a19e999792908f8f8f909298989d9fa7a39f97928a80736e635b51453b31261a0e0400000000000000000008131e28323a44505c666d78818c92999fa6a9a19e9a9795949596979b9fa2a9a9a29f9590857c6f6a60574d41382d22170b01000000000000000000040d18232e39434b555d666c737c83898e9298999b9d9e9f9f9f9f9e9c9b9897918d88827b736c655d554b43392f24180e05000000000000000000000000000000000000000000000005111d29343e48505a626d727f8c929c9f96918a827b73717a818891959f9d928c7f736d625a50483e33281c10040000000000000000000000000000000000000b151e272e34383a4446464646464646453a39352f2b3844505c66757979797979726c665f575146423b3229251f282f35393a4546464646464646443a38342e261e150a000000000000030f1b27333f4953626f7c89949ea9a59f92877e756f6a6764626f7b8895a093867a6d65676d717a818e939da7a99f958a7e71665b5044382b1d120700000000010b141d242b303334393939393939383734312d2c28231d150c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181d1f20252a2d2e31333536373839393939393838373534322f2d2c2823211e1a140f0b0600000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d67767979797979797976685e5c606a6f757a7e8183858586858483817e7a746e69615a51494c555c606a6f757a7e8183848586858483817e7b756f6a635b504941382d21170d0000000000131f2c3946525f6c7985929facada093877a6d6054473e3e3e3e3e3e3e3e3e3e3e45525d68717e8a949faaa89f93887d6f675d51463d30271d1006000000000000000000000000010e1a2734414d5a6774808d9aa7ac9f9286796d6053463a2d201307000000000a14212e3b4754616e7a8796a1adab998d8073665a4d402f24180c00000714212d3a4754606d7a8793a0adab9f92858d929da0a7aaa39f9e9e9fa2a39f97928a7f736d6975828e97a0a7aaacaaa29f9286796c5f5346392c201300131f2c3946525f6c7985929facada093877a6d6054473a2d21140c0c0c0c0c060c1012131b1e272e343e47515b606d7985919ea7b1a99e9185796d6053463b31251a0e0200000713202d3a4653606d7986939f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa3aab4bfb4aba39f9f9f9f9f9f988b7f7265584c3f3225190c00121e2b3845515e6b7884919eabaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424f59626d74808d929ea1a9a39f97918c8885838282838385888b90959ea1a8a29f928d80736d62574d42362a20160a0000000000000000010d1924303a44505a606d78818e939fa3a9a29f97918d8a888788898b8e92979fa2aaa79f9792867c6f695e53493f33271d12070000000000000000010c161f2834404b555d676d78808790949b9fa2a9a29e9c9b9a9a9b9d9fa3a9a19e9a948f877f776d675d554b40352920170d0200000000000000000000000000000000000000000000000c17222d363f48515b636d737f8c929ca09e948f867f7d848d939aa09d938d80736d635b51483e362c22170b00000000000000000000000000000000000000030c151c23282c2d3739393939393939382d2c29242d3a4653606d7987868686867f786e69625b524d443e3530282024292c2d3839393939393939372d2c28231c150c03000000000000000b17222d384854606a75828f97a2aaa399928b827c7773716e6f7b8895a093867a6f7175797e848e939da5aba2979083786c60544a3f33281c0b010000000000020b12191f2326272d2d2d2d2d2c2b2a2724201f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e151a1d24292c2d31363a3b3d4041434445454646464645444342403e3c3a38342e2d2a261f1b17110a0200000000000000000000000000000000000000000000000000000000000000000004101d2935404b555d6c6c6c6c6c6c6c6c6c5e5651586062686d71747678797978787674716d67615e5750483f434b51585f62686d71747678787978777674716e69625f5851443f382f261b0f050000000000131f2c3946525f6c7985929facada093877a6d60544b4b4b4b4b4b4b4b4b4b4b4b4f59606d7a85929ea6aca1968d80746b60554b40342b1e150b0000000000000000000000000004111d2935414c55697683909ca9aa9d908377665c5144382c1f1206000000000714202d3946525e687884919eaba99c8f827669554b4035291d1004000714212d3a4754606d7a8793a0adada29792979da49f9c97989291919298969a9f9f918c7f726e7b87939fa9b1a7a09d98929286796c5f5346392c201300131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000003060a0c151d2328353f45515d67717e8b95a0acada1978b7e7164574d42362a1e120500000713202d3a4653606d798693a0acacacaca49f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a6aeb8b1a9a3a19f9f9f9f9f988b7f7265584c3f3225190c00121e2b3845515e6b7884919eabaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606b727f8c929ca4aaa299928c84807b787675757677797b7f838a91969fa6a49c928b7f72695f53463d32271b0f030000000000000005111d2935414c56616c74808d939ea5a7a097928b85807d7b7b7b7c7e81858c9298a0a7a9a29891857b6e655b5044392f24180c000000000000000008131e28313a45515c676d79828d92999fa6a39f9a97928f8e8d8e8e9092989b9fa3a69e99928c82796d675d51453f32291e1408000000000000000000000000000000000000000000000006101b242d363f49515b636d73808d929da49e98928c8a91969fa49e938e81746e645b51493f362d241a10050000000000000000000000000000000000000000030b12181c1f202a2d2d2d2d2d2d2d2b21201d1f2b3844505c66717e879399928c827b726d615e565046413a3229241d20212b2d2d2d2d2d2d2d2a201f1c17110a03000000000000000006111b2c38434e58616e7b859298a2a9a39f948f8984807e7b7a7c8895a194877a7c7e82858b91969ea5aaa29992857b6e665b5042382d22170b0000000000000001080e13171a1a20202020201f1e1d1a171313100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191f262b2f35383a3e4246484a4c4e50515252535353525251504f4d4b494644403b3a36312b27221b140b070100000000000000000000000000000000000000000000000000000000000000010d18242f39434b515f606060606060605f524c454e54565e6165686a6b6c6c6c6b696764605d55534d453e363940454e53565d606467696b6c6c6c6b6a6764615e57534e4640332d261d140a000000000000131f2c3946525f6c7985929facada093877a6d605757575757575757575757575754606b74818e97a1ada59e9184796d60594f43392f22190c04000000000000000000000000000613202c3945515d677885929eaba89b8e827568544a4034281c10040000000005111e2a36414c566976838f9ca9ab9e918578675d5145382c1f1306000714212d3a4754606d7a8793a0adb3a9a29fa2a19e948f8b8786858485878a8d92979f93887e727e8b99a4afaba0959088858686796c5f5346392c201300131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000030b1218232935414b55606c7883909da9b3a99d908377695e53463a2d21140600000713202d3a4653606d798693a5afaca29a979393939393939393939393939393939393939393959ca6b1a99f97949393939393938b7f7265584c3f3225190c00121e2b3845515e6b7884919eabaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c666f7c87929fa4aba29892878079736f6a6a696869656c6e72777d848f949fa6a49f92867b6e61584e43382b1f1306000000000000000713202d3946525d68717e8a929da5a79f9590857f7974706f6e6e6f7175797f869195a0a7aaa1978f82776c60554b4035291d1004000000000000010d19242f3a43505a606d79828f949fa3a7a099928e898583818181828386898e92999fa7a39f948f82796d605b51443b3025190e02000000000000000000000000000000000000000000000009121b242d373f49525b636e74808d929da5a39f99979ea1a69e948e81786c605c524940372d241b11080000000000000000000000000000000000000000000000070c1012131e202020202020201f1413111c28343f4a54616c717e87939a9490867f766e69615a524c443e352f281f191f202020202020201e1312100c0600000000000000000000000f1b27323d46525e69707d8692979ea5a69e9c95918d8a888786929fac978d87898b8e92979ea1a8a8a09892877e70695f544a3f2f261c110600000000000000000003070b0d0e13131313131312110e0a070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e171e252a3137394045474a4d535457595b5c5d5e5f5f605f5f5f5e5d5c5a585553514a4846423b37332d261d18120c040000000000000000000000000000000000000000000000000000000000000007121d283139404553535353535353535346413c43474c5254585b5d5e5f5f5f5e5d5a5754514c46423b332c2e343c43474c5254575a5d5e5f5f5f5e5d5b5754524d47433c3427221b140b02000000000000131f2c3946525f6c7985929facada093877a6d646464646464646464646464646464666f7c88939fa9a89d93897d70675d51473d3129241e160e060000000000000000000000000714212d3a4754606d7a8797a2ada6998c807366594d402e23180c0000000000010d192530414e5a6774818d9aa7ada197867a6d6053473a2d201407000714212d3a4754606d7a8793a0adbcb3ada9a1979289827e7b797878797a7d81858d929992857b818e9babafa49990837c79797b6e6255483b2f22150800131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000071118242f3a44505b65717e8b97a2adab9f95877b6e6154483b2e23170c00000713202d3a4653606d7986939ea8a69a908a86868686868686868686868686868686868686868a95a1ada3978d87868686868686867f7265584c3f3225190c00121e2b3845515e6b7884919eabaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606d78839099a3afa39992867d736d67625f585c5c535b6061656c707a828f949fa9a2988f82766a6054473b2e22150800000000000005121e2a36424d57616d7a85929ea4a99f9590837b726d66646261626364676d727b839095a0aaa99f948b7e71675d5145382c1f140900000000000004111d2935414c56616c74818e949ea6a69f959087817c79767474747577797d818790959ea5a69e948e81756d62564c41362a1e140800000000000000000000000000000000000000000000000009121b252d374049525c646e74808d939da59f9f9f9fa79f948f82786d665b504a40372e251b1209000000000000000000000000000000000000000000000000000004060711131313131313131207060b17232e3842505a616c717e88939a98928b827b716c615e564f45413a312b22190f13131313131311070603000000000000000000000000000a16212a36424d57606b707d858e939d9fa7a7a09d9a9795989298a3ae9f979495989b9fa2a9aaa29f9691867d706c61574d42382d1d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202930363c42474b515357575e61646668696a6b6c6c6c6c6c6b6b6a68676562605c5455534d46443f382f29241d160d05000000000000000000000000000000000000000000000000000000000000010c161f282f3539464646464646464646393632373a4146474b4e505252535251504e4b4745413a36312921232831373a4145474b4e505152535251504e4b4746423b37312a2217110a0200000000000000131f2c3946525f6c7985929facada093877a71717171717171717171717171717171717883909aa4ada1968e81746b60554e48443d35302820180f0600000000000000000000000915222f3c4855626f7c8895a9b3a4988b7e7165584b3e32251807000000000000081926333f4c5966727f8c99a5b2a995887b6e6255483b2f221508000714212d3a4754606d7a8793a0adbab9ada19792857d76716e696b6b676d70747a808792978e81828f9ca9ac9f93877b6f6a6c6e695f53473a2e21140800131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000000000000007131d27333f4953606d7985929fabb1a7988b7e7265544a3f34281c10030006121f2b3844505c6675818e96a1a4978a7e79797979797979797979797979797979797979788693a0aca194877b79797979797979726d62564a3e3125180b00121e2b3845515e6b7884919eabaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66727f8b95a0aba89f92877d706b605d55534e4f4f495053555a61686d79829097a1a49f94897c6f6256493c2f2316090000000000000714212d3a46535e6974818d97a1ada19790837a6e69605c5455545556555c60696e7a839098a2aea69e9184796d6053473b31261a0e0200000000000613202c3945525d68717e8a939da6a89f948f837c746f6c6668676768666d70757c838f939ea7a69e938b7f72685e52463b3025190d0100000000000000000000000000000000000000000000000009131c252e37404a525c606c77818e93939393939393959082796d665c544a3f382e251c1309000000000000000000000000000000000000000000000000000000000000040606060606060605000006111c26303e48505a626c717f88939f9f948f857e756d686159514b433d342b21160a00060606060400000000000000000000000000000000040e1a25303b454f59606b707b818a90959a9ea1a8a6a4aaa39fa3aab4a8a3a1a2a4a8aba49f9c98928c847c706b615a50453b2f261c0b0200000000000000000000000306080909090909090909090909090909090909090909090909090909090909090909090909090909090909090806030000000000000000000000000000020b141c2228323b41464d53555d606468696e70737476777878797979797877767573716f6d6665615f57535049413d352f281f170f06000000000000000000000000000000000000000000000000000000000000040d161d24292c39393939393939392e2d2a272b3036393a3e4143454646454543413e3a39352f2a251f171820262b2f35393a3e4143454546454443413e3b3a36302b2620181006000000000000000000131f2c3946525f6c7985929facb1a4988b7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e808d95a0acab9e91847a6d67625f58544f45413a322a21181006000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000b1825313e4b5864717e8b97a4b0a3968a7d7063574a3d3024170a000714212d3a4754606d7a8793a0adbcb1a79e92857c706b64615e57555d6063686d747e8692938e86929faca99d908376695f60625f574d42372b1e120600131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000010b17222d3845515d6774818e9aabb5a89c8f8275665c5044382c1f12060003101c28343f4a54606d7a84919ea59f92867b6e666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d798693a0aca194877b6e6c6c6c6c6c6c65625b51463a2e22160900121e2b3845515e6b7884919eabaea194887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919ea7ada1968d80736b6059514b474342423f44464850565d676d7a85929b9993908c8275685c4f4235291c0f020000000004101d2935404b55616e7b86929fa9a69e92857a6e685e57514b484848494b51575e686e7b86929fa9ada1968b7e7165574d42362a1e12050000000004111d2935414c55606d7a85929ea5aca0968f82796e6a62605b545a5b545c60636a6e78818f959faba59f92857a6e61564c41362a1e1105000000000000000000000000000000000000000000000000010a131c252e384044505b656c7881868686868686868683796d675d544a42382d261c130a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2c363e48505a626d727f8b919b9e97928a817a706b605d554e463d32271b0f030000000000000000000000000000000000000000000009141f29333d474f5960696e757d83888d9196979a9b9d9e9fa3aab4aaa29f9e9c9b9999938f8b857f796f6a615950483e33291d140a00000000000000000000040a0f121515161616161616161616161616161616161616161616161616161616161616161616161616161616161515120f0a030000000000000000000000020b141d262d333e444c52575f62676d7174787b7d7f81838485858686868585848382807e7c7976726e6964605b534f454039312921170f06000000000000000000000000000000000000000000000000000000000000040c12181d202d2d2d2d2d2d2d2d21201d1b1e252a2d2e32353738393939383634312d2c29241e1a140d0c151a1e24292c2d31343638393939383734312e2d2a251f1b150e0600000000000000000000131f2c3946525f6c7985929facb8a69b908b8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8d929da7b1a79a8e817b77746f6a636059524c443c332a22180f050000000000000000000b1825313e4b5864717e8b97a4afa295897c6f6256493c2f2316090000000000000a1723303d4a5663707d8996a3b0a4978b7e7164584b3e3125180b000714212d3a4754606d7a8793a0adb8ab9f958a7e716a605954524d4b5154565d616c707d8793989298a3aea79a8d817467575355534d453c31261a0e0200131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000006111b2935404b5564717d8a99a3afac9f9285796d6053463a2d20130700000b17232e3845525d68707d89939da2989083796d6059606060606060606060606060606d798693a0aca194877b6e616060606060585651493f34291e120600121e2b3845515e6b7884919eabaea194887b6e6155483b2e22150802020202020202020202020202020202020202020202020000000000000000000000000004101d2935404b5564717d8a96a1acaa9e9184796d60594f45403937312d3337393e444c555e68717e8b8e8a86837f7c6f6255483c2f221509000000000006131f2c3945515d6774818d99a3ab9f948a7e71685e564d45403c3b3b3c40454d565f69727f8b97a1ada99d908377695f53463a2d211407000000000613202c3945515d6773808d97a1ada69e91847a6d675f5853504a4e4e4b5153585f666d79839099a3ada2978d8174685e5246392d20140900000000000000000000000000000000000000000000000000010a131c2627333f49535b666c757979797979797979776d675d554b42392f261c140a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c1a242d363f48505a626d727f8b919ba29f938e857d746d6760584e43382c1f130700000000000000000000000000000000000000000000030d17212b353d474f575e616b70767c8084878a8d8f90919298a3aea2989291908e8c8986837e79726d6660584f473e362c21170b02000000000000000000060e151b1f21222323232323232323232323232323232323232323232323232323232323232323232323232323232322211f1a150e06000000000000000000000a141d262f383f4450565e61696e74797d8184878a8c8e8f909192929392929291908f8d8b8886837f7b76706c656059514b433b332921170d0400000000000000000000000000000000000000000000000000000000000001070d101320202020202020201413110f13191e202125282a2b2c2c2c2b2a272421201d19130e0903030a0f13191d202124272a2b2c2c2c2b2a282421201e1a140f0a030000000000000000000000131f2c3946525f6c7985929facb8aca29b9897979797979797979797979797979797979a9da4aeb5a99d938e8784817c76706b605d564e463c342a21170b0200000000000000000c1926323f4c5965727f8c98a5aea195887b6e6255483b2f2215080000000000000916232f3c4956626f7c8995a2afa5988b7f7265584c3f3225190c000714212d3a4754606d7a8793a0adb6aa9d9083776c61584f4846424145474c525a616b73808d969fa3aab4a5998c7f7266594c4847423c332a2015090000131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000000000000000000c18242f3a4754606d7a86929facaea298887b6e6255483b2f221508000006111c2935414c56606b74818e96a1a0958d80746b60564c53535353535353535353606d798693a0aca194877b6e6154535353534c4a463f372d23180d0100121e2b3845515e6b7884919eabaea194887b6e6155483b2e22150f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0b0a08040000000000000000000613202c3945515d6775828f9ba8aea3988b7e71675d51473d352f2b2622272b2d323a434c56606d7883817e7a76736f6a5f53473b2e21150800000000000714202d3a4753606d7985929faba89c8f82766c61564c433b342e2e2f2f343b444d57606d7985919eababa095887b6e6155483b2e221508000000000714212d3a4754606d7a85929fa9aa9e94897d70685d554e46443f41414045464e545c676f7c87929faca99f92867a6e6154473c31261a0e0200000000000000000000000000000000000000000000000000010a1417222d38414a545b60686c6c6c6c6c6c6c6c6a605d554c433930271d140a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d363f48515b626d727f8c919ca39e97918a81796f6a6054483b2e2215090000000000000000000000000000000000000000000000050f19232b353d454d525961636a6f74787b7d8082838486929fac9f92868483827f7c7a76716d67605c544e463e352c231a0f0600000000000000000006101820262b2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2b2620181006000000000000000006111b262f38424a505a61686e747b81858a8e919697999b9c9d9e9f9f9f9f9f9e9e9d9b9a9898928f8c87827d78706b605d554d453b33291f160c0100000000000000000000000000000000000000000000000000000000000000010406131313131313131307070502080d111314181b1d1f1f201f1e1d1b181413110d08010000000001080d111314181b1d1e1f201f1e1d1b181414110e090200000000000000000000000000131f2c3946525f6c7985929facb8b4aca6a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a7a9aeaeafafa59d9a96918d88837d746d685f584e463c33291d140a00000000000000000d1a2733404d5a6673808d99a6ada194877a6e6154473b2e2114080000000000000815222f3b4855626e7b8895a1aea6998c807366594d4033261a0d000714212d3a4754606d7a8793a0adb3a9988b7f72655a50463d3a3635393a41465059606d7984919eabb4b2a5988b7f7265584c3f3a37312a21180e030000131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000000000000000000713202c3945525d687783909daab4aa978a7d7064574a3d3124170a0000000d19242f3a444f59606d7984919aa49f93887d70685d5245464646464646464653606d798693a0aca194877b6e6154484646463f3e3a342d251b11070000121e2b3845515e6b7884919eabaea194887b6e6155483b2e221b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b171714110c05000000000000000714202d3a4753606d7a86929facac9f92867a6d60554b403529241d1a171b1f2028313a44515c666d7775716d6866625f584e43372b1f12060000000004101c2834404b5564717e8b98a2aca096897d70635a50443b31282321222329323c44515c6673808c99aab1a7988b7e7265584b3f3225180800000005111e2a36424d5765727f8b98a2aea99c8f82756b60564c433c38332d2e34383c424b555f6a74818e9ba8aea3988c7f7266574d42372b1e120500000000000000000000000000000000000000000000000000000006111b262f38424a50535b60606060606060605d54514c433a31271e150b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d363f49515b626d727f8c9193939393938e847c6f6256493c2f231609000000000000000000000000000000000000000000000000071119232b333b42464f55585f6267696e71737576787c8895a093867977767572706d6764605d55514b423d342c231a1108000000000000000000040e18222a31373a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a37312a22180e03000000000000040d17222d38414a545b606c717a81878d92989b9ea1a8a6a7a8a7a5a4a3a3a3a3a4a5a6a8a6aaa39f9c9a938f8a837d746d675e574d453b31281d13070000000000000000000000000000000000000000000000000000000000000000000006060606060606060000000000010507070b0e101213131212100e0b070604010000000000000000010406070b0e101212131211100e0b08070502000000000000000000000000000000131f2c3946525f6c7985929facb8b0a8a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a2a5a7aba8a09e9a949089817a6e6a5f584e453b2f261c1106000000000000000e1a2734414d5a6774808d9aa7ada093877a6d6054473a2d2114070000000000000815212e3b4854616e7b8794a1aea69a8d8073675a4d4034271a0d000714212d3a4754606d7a8793a0adada197877a6e6154473e342d2a292c30353e45515c67727f8c99a3aeb2a5988b7f7265584c3f322b2620180f06000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000000004111d2935414c566875818e9ba8b2a5998c7f7266594c3f3326190c00000008131e28323d45515d67707d88939fa49a91847a6d60594f443a303939393a4653606d798693a0aca194877b6e6154483b393932312e29231b1309000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e28282828282828282828282828282828282828282828282828282423211c1710080000000000000a1723303d4a5663707d8998a3aea89b8e8275675d51433a2f23181d1d1d1d1d161f2834404a545c606a6864615e5655534e463c32261b0f030000000006131f2c3845515c6775828f9caaaa9d9184776b6054483e32291f18151518202834404a54626f7b8898a2aea89b8e8175685b4e423025190d0100000714202d3a46525e697683909daaada196897d7063594f433a312b282223282c3039434e58626f7c8895a0acaa9d908477695f53463a2d211407000000000000000000000000000000000000000000000000000000000a141d262f383f44464e5353535353535353504745413a31281f150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d373f49515b636d737f86868686868686868174675a4e4134271b0e01000000000000000000000000000000000000000000000000071119202930363e44484e5355575e616467686a6f7b8895a093867a6d69686663605d5553514b454039302b221a1108000000000000000000000a15202a343c434748494949494949494949494949494949494949494949494949494949494949494949494949494949494847433c342a20150a0000000000010c161f27333f49535b666c747e858e92999fa2aaaba9a8a19e9c9a9897979696979798999c9e9fa4acaca49f9c95908981796e695f574d433a2f24180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facb8a89e969393939393939393939393939393939393939393939495989b9ea1a9aaa69f9c938e847c6f6a5f574d42382d22170b000000000000000e1b2734414e5a6774818d9aa7ada093867a6d6053473a2d2014070000000000000814212e3b4754616e7a8794a1ada79a8d8174675a4e4134271b0e000714212d3a4754606d7a8793a0adab9e918578685e5246392c221e1d20242934404b55616e7a86929facb2a5988b7f7265584c3f32251a150e0600000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000010d19242f404d596673808c99a6b3a79b8e8174685b4e4135281b0e000000010c16202935404b55606b74808d96a0a1968e81746b61564c4135292d2d3a4653606d798693a0aca194877b6e6154483b2e2d2525221e18110901000000121e2b3845515e6b7884919eabaea194887b6e6155483b35353535353535353535353535353535353535353535353535353531302d28221a120800000000000d1a2733404d5a6673808d99aab4aa978b7e7164554c4131282a2a2a2a2a2a2a2a2a232e39424a51535d5b5754524c4847433c342a20150a00000000000713202d3a4653606d7985929facab998c7f7366594f44362c20170d07070e18232e394653606c7985929fabaa9d9184776a564c41362a1d110500000814212e3b4754616e7b87959fabab9e9184786c6053463d31281f1c17181c1f27313c47535f6a7784919daaaca095887b6e6155483b2e22150600000000000000000000000000000000000000000000000000000000020b141d262d333839424646464646464646443a39352f281f160d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d373f49515b636d737979797979797979746e64584c4033271a0d0100000000000000000000000000000000000000000000000000070e171f252a33383c4347484d5254575a5c626f7b8895a093867a6d605b595653514b47454039342e271e19100800000000000000000000030f1b26313c464e53555656565656565656565656565656565656565656565656565656565656565656565656565656565655534e463c31261a0f030000000007131d28313a44505b656c78808a92979fa3abaaa69f9c9896918f8d8b8a8a89898a8a8b8d8f91939a9c9fa4aca7a09d938e837b6e695f554b41352921160a000000000000000000050a0d0f101313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313100f0d0a050000000000000000000000000104060712131313130908060300000000000000000000000000131f2c3946525f6c7985929facb8a2968c87868686868686868686868686868686868686868787898b8e92979da0a7aba59d9691857c6f695e544a3f33281d12070000000000000e1b2834414e5b6774818e9aa7aca09386796d6053463a2d2013070000000000000714212e3a4754616d7a8794a0ada79a8e8174675b4e4134281b0e000714212d3a4754606d7a8793a0ada99c8f827669564d41362a1a12111319232f3946525e687683909da9b2a5988b7f7265584c3f32251909030000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000000000081824313e4b5764717e8a97a4b1a89c8f8275695c4f4236291c0f00000000040d18242f3a434f59606d79849199a39d938a7d70685e52463e32292d3a4653606d798693a0aca194877b6e6154483b2e21191816120d070000000000121e2b3845515e6b7884919eabaea194887b6e615548424242424242424242424242424242424242424242424242424242423e3c39332c241a100500000004101c2834404b546976828f9ca9aea398887b6f6255483c2f3737373737373737373737373039404446514e4b4746413c3b37322a261f180f06000000000a1723303d4a5663707d8998a2aea399897c706356493d32231a0e05000007121f2b3844505b6676838f9ca9ac9f928579685e5246392d20130700000b1824313e4b5764717e8a97a7b1a79a8e8174665b5044382b1f160f0b0c10151f2b37434e586773808d9aa6b1a7988b7e7165584b3e2d22170b0000000000000000000000000000000000000000000000000000000000020b141c22282b2d353939393939393939372d2c29241e160d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b252d373f49515b63666c6c6c6c6c6c6c6c67645c53483c3024180b000000000000000000000000000000000000000000000000000000050d141a21282c31373a3c4246484a4d55626f7b88959f93867a6d60534c494745403a39352f28231d150c07000000000000000000000006121f2b37434e585f6262626262626262626262626262626262626262626262626262626262626262626262626262626262625f584e43372b1f1206000000010d18242f3a434f59606c77818d929fa2a9ada59e9b948f8b888482807f7e7d7d7d7d7e7e808284878b8f939a9ea6aca59d9590847b6e675d51453d32271b0f03000000000000030a1016191c1d20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201d1c1916100a03000000000000000001070d1113141f202020201515120f0a040000000000000000000000131f2c3946525f6c7985929facada093877a797979797979797979797979797979797979797a7b7c7e81858a90959fa3aba8a19792857b6e665b5044392e23180c0000000000000e1b2835414e5b6874818e9ba7aca09386796d6053463a2d2013070000000000000714212d3a4754606d7a8793a0ada79b8e8174685b4e4135281b0e000714212d3a4754606d7a8793a0ada89b8e8175685b4e423025190f0408121d2a36414c566774818d9aa7b2a5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000a1724303d4a5763707d8a96a3b0a99c908276695d5043362a1d10000000000007131d28313d45515d676f7c87929fa59e91857a6d615a50443b302d3a4653606d798693a0aca194877b6e6154483b2e211508090601000000000000121e2b3845515e6b7884919eabaea194887b6e61554e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4a49453e362c22170c00000006131f2c3845515c667884919eabac9f9286796d6053464444444444444444444444444444444444444444444444444444443b3a36312a21180e030000000d192633404c5966737f8c99aaac9f92867a6d6053473a2d201407000000030f1c28333f4a546874818e9ba7aea298877a6d6154473a2e21140700010e1b2834414e5b6774818e9aa7b4aa978a7e7164544a3f3328190d040000040d1b26323d4a5764707d8a97aab4a79b8e81746853493f33271b0f030000000000000000000000000000000000000000000000000000000000020a11171c1f20282d2d2d2d2d2d2d2d2a21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109131b252e37404951575960606060606060605a58534a41362b2014080000000000000000000000000000000000000000000000000000000002090e161c20262b2e30363a3b3e4855626f7b88939393867a6d6053473d3a39352f2c29241d18120b030000000000000000000000000815212e3a47535f6a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6a5f53473a2e21150800000004111d2935414b55616b73808d939da4ada9a29f938e88827e7b78757472717070707071727375777b7e82878f939fa2aaa7a0969183796d60594f43382c1f14090000000000040d151c212629292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292926211c150d04000000000000040c13181d20202b2d2d2d2d22211f1b150e0600000000000000000000131f2c3946525f6c7985929facada093877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c666c6d6e6f7274797e838c9299a3aba9a1978f82786c60554b4034281c100400000000000e1b2834414e5b6774818e9aa7aca09386796d6053463a2d2013070000000000000714212e3a4754616d7a8794a0ada79a8e8174675b4e4134281b0e000714212d3a4754606d7a8793a0ada79a8d8174675a4e4134271b0801010d1925303e4b5864717e8b97a4b1a5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000a1623303d495663707c8996a3afaa9d9083776a5d5044372a1d110000000000010c161f2935404b55606a73808d95a0a1978e81756c61564c41362d3a4653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e615b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b575550483e33281c110400000713202d3a4653606d7986939facaa9d908477665c50505050505050505050505050505050505050505050505050505050504846423b332a1f1409000004101d2935404b556975828f9ca8aa9d918477675d5145392c201306000000000b17222d414d5a6774808d9aa7b4aa94887b6e6155483b2e2215080005111e2a36414c566a7683909da9aea298887b6e6155483b2d221708000000000a15212e3b4854616e7b8798a2aeaa9d908377655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000060b0f12131b20202020202020201d1413110d08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e3740464b4c53535353535353534e4c4841382f251a0f03000000000000000000000000000000000000000000000000000000000000050b10151b1f21252a2d2f3c4855626f7c8686868686796d6053473a2d2c2924201d18120c0700000000000000000000000000000915222f3c4855626f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6255483c2f2215090000000613202c3945515d67707d8a929ca5aea9a197928a817c76726e69696765646463636464656669696e72767c828a9298a2aaa8a0958e81746b6054483c31261a0e02000000030d161f262d32353639393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393635322d261f160d0300000000040d161d24292c2d38393939392f2e2b2620181006000000000000000000131f2c3946525f6c7985929facada093877a6d606060606060606060606060606060605b6060616265666d71787f879299a3afa99f948b7f72675c5145382c1f130700000000000e1b2734414e5a6774818d9aa7ada093867a6d6053473a2d2014070000000000000814212e3b4754616e7a8794a1ada79a8d8174675a4e4134271b0e000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d0100081724303d4a5763707d8a96a3b0a5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000916222f3c4955626f7c8895a2afaa9e9184776b5e5144382b1e11000000000000040d18242f39434e58606d79839099a39e938a7e71685e52463e333a4653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6868686868686868686868686868686868686868686868686868686868686864615a5045392d21140800000815212e3b4854616e7b879aa4afa99c90837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d55534d453b31261a0e020006131f2c3845515d677884919eaba99d9083766a554b4035291d110400000000061a2633404d596673808c99a6aea295887b6f6255483c2f221509000713202d3946525e687885929fabac9f9285796c605346392d201306000000000714212d3a46535e697985929facac9f9285796c605346392d2013060000000000000000000000000000000000000000000000000000000000000000000306060f131313131313131311070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e353b3e40464646464646464641403c362f261d1308000000000000000000000000000000000000000000000000000000000000000000040a0f12151a1e212e3a47535f6a76797979797976675c5145382c201d1813100d0701000000000000000000000000000000111e2a3744515d6a77848989898989898989898989898989898989898989898989898989898989898989898989898989898983766a5d5043372a1d10000004101d2935404b55606d7984919ea4aeaaa19791857e756f6a65615f575a58575756565757585a565e61656a6f757e869298a2aea89e93897c6f63574d42372b1e12050000000a151f2831383e4243464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464643423e3831281f150a000000010c161f282f35393a45464646463c3b37322a22180e040000000000000000131f2c3946525f6c7985929facada093877a6d6054535353535353535353535353534a5053545456545c60666d737e87929fa7b0a69e9185796d6053463a2f24180d01000000000e1a2734414d5a6774808d9aa7ada093877a6d6054473a2d2114070000000000000815212e3b4854616e7b8794a1aea79a8d8074675a4d4134271a0e000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d0100091623303c4956636f7c8996a2afa5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000916222f3c4955626f7c8895a2afab9e9184786b5e5145382b1e120000000000000007121d27313d45515c666f7c87929fa59e92857a6e615a50453b3a4653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b7575757575757575757575757575757575757575757575757575757575757575716c6155493c3023170a00000916232f3c4956626f7c8995acb6a89c8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615f574d42362a1e1205000714202d3a4753606d7a86939faca89c8f8275695c4f422f24180d01000000000d1a2733404d5a6673808d99a6afa295887c6f6255493c2f221609000714212e3a4754616d7a8798a2aeaa9d918477665b5044382b1f12060000000005121e2a36424d576a7784919daaaea298877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c232a2f323339393939393939393433302b251d140b0100000000000000000000000000000000000000000000000000000000000000000000000306090e121f2b37434e585f626c6c6c6c6c6c5c554b4034291c110d0704010000000000000000000000000000000000111e2a3744515d6a77849095959595959595959595959595959595959595959595959595959595959595959595959595959083766a5d5043372a1d10000006131f2c3945515d67737f8c96a1adaea29891857b716c625f5855534d4d4c4b4a4a4a4a4b4b4d4d5254585f626c707c86929fa7afa59c8f8276695f53463a2d211407000005101c26313a42494e505353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353504e49423a31261c1005000007131d28313a40454752535353534847433c342a20150a0000000000000000131f2c3946525f6c7985929facada093877a6d6054474646464646464646464646463f44464748494b51545c606c727e8b959fabada1978b7e7165554b4135291d1104000000000d1a2733404d5a6673808d99a6ada194877a6e6154473b2e2114080000000000000815222f3b4855626e7b8895a1aea6998d8073665a4d4033271a0d000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222f3b4855626e7b8895a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000916232f3c4956626f7c8995a2afaa9d9183776a5e5144372b1e1100000000000000010b151f2834404b545f6a737f8c959fa1978f82756c62574d423a4653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb5a89b8f8281818181818181818181818181818181818181818181818181818181818181817e7164574a3e3124170b00000a1623303d495663707c8996a3afa89b8e8177777777777777777777777777777777777777777777777777777777777777776e695f53463a2d211407000915222f3c4855626f7b889aa4afa89b8e8275685b4f422d22170b00000000000e1b2834414e5b6774818e9aa7b4ab95887b6e6255483b2f221508000915222f3c4855626f7b8895aab4a99c8f837669544a3f33281c0f0300000000020e1a2531434f5c6976828f9ca9b4aa95887b6f6255483c2f2215090000000000000000000000000000000000000000000000000000000000030607090b0d0f1111121313121211100f0d0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d272724201a130b02000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c464e535560606060605f514b43392f23180c010000000000000000000000000000000000000000111e2a3744515d6a7784909da2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29d9083766a5d5043372a1d1000000714202d3a4753606d7985929ea8b1a79f92867c6f69615a534e484642413f3e3d3d3d3d3e3f404246474e535a616a717e8b959fabac9f93877b6e6155483b2e22150800000a16212d38424c545a5c60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605c5a544c42382d21160a00010d18242f3a434b51535e6060606055534e463c32261b0f0400000000000000131f2c3946525f6c7985929facada093877a6d6054473a393939393939393939392d3338393a3b3c40454a505a606c7883909da9b3a99d908376675d5145392c201306000000000c1926333f4c5966727f8c99a5aea195887b6e6255483b2f2215080000000000000916222f3c4955626f7c8895a2afa5988c7f7265594c3f3226190c000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000a1623303d495663707c8996a3afaa9d9083776a5d5044372a1d110000000000000000030d18232e39424e58606d78839098a39e948b7e71695e52463f4653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb7aa9e938f8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8c807366594d4033261a0d00000a1724303d4a5763707d8a96a3b0ab9e928583838383838383838383838383838383838383838383838383838383838383837b6e6155483b2e221508000a1724303d4a5763707d8a96acb6a89c8f827569544a3f33281c0f0300000004111d2935414c566875828e9ba8aea399877a6e6154473b2e211408000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422d22170b000000000000091c2835424f5b6875828e9ba8b0a396897d7063564a3d3023170a000000000000000000000000000000000000000000000000000104060b10121315171a1c1d1e1f1f201f1f1e1d1b19171514120e09060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216191920202020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c43474853535353535345403931271d1207000000000000000000000000000000000000000000111e2a3744515d6a7784909d9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9d9083766a5d5043372a1d100004101c2834404b5464717e8a97a2acaca0958b7e726a5f575047433c3a3631323131303031313230363a3c43475058616c7683909da9afa49a8c7f7265594c3f3226190700000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3226190d0004111d2935404b555d606b6c6c6c6c625f584e43372b20150a00000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2d2d2d2d2d2d2d2d2d22282b2d2d2e2e34383f44505b65707d8997a2adac9f92867a6d6054473a2d211407000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090000000000000a1623303d495663707c8996a3afa4988b7e7165584b3e3225180b000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000b1824313e4b5764717e8a97a4b1a99c8f8276695c504336291d1000000000000000000007121d27303c44505c666f7c86929fa69f92857b6e615b51454653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb7afa59e9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b9b998c807366594d4033261a0d00000a1724313d4a5764707d8a97a3b0ada1979290909090909090909090909090909090909090909090909090909090909090887b6e6255483b2f221508000b1825313e4b5864717e8b97a4b1a99d908376665b5044382b1f130a0603060a13202c3945525d687784919daaac9f9286796c605346392d201306000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b060000000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000001070d1113171c1f20222426292a2b2b2c2c2c2b2b2a28262422211e1a1312100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0c0d13131313131313130e0d0b080300000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18222a31373a3c46464646464638342f271f150b01000000000000000000000000000000000000000000111e2a3744515d6a77839093939393939393939393939393939393939393939393939393939393939393939393939393939083766a5d5043372a1d100006131f2c3845515c6675828f9a9c9fa29d9083786d60584e453e37322d2a262524242323242425252a2d32373e46505a64717e8b97aab3ac9c8f8275695c4f422f24180c00000f1c2935424e5a66707679797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797670665a4e4235291c0f000613202c3945515d676d78797979796f6a5f53473d32271b0f00000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d212020202020202020171c1f20212123282e343f4953606d7985929eabafa3998a7d7063574a3d3024170a000000000b1724313e4a5764717d8a97a4b0a3968a7d7063574a3d3024170a0000000000000b1724313e4a5764717d8a97a4b0a3978a7d7064574a3d3124170a000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000000000c1926333f4c5966727f8c99a5b2a79b8e8174685b4e4135281b0e000000000000000000000b151e28343f4a545f6a727f8c949fa2978f82766d62574d4653606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb7b8afaaa8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a6998c807366594d4033261a0d00000a1724313d4a5764707d8a97a3b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94887b6e6155483b2e221508000c1926323f4c5965727f8c98a5b2ab9e9285796c6053463a30241b14121012141c26303a4754606d7a86939facaa9d918477655b5044372b1f1205000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b00000000000000000000000000000000000000000003090e13181d2023282b2d2f3133353737383939393837373533312e2d2a26201f1c17110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939392c29231d150d0300000000000000000000000000000000000000000000111e2a3744515d6a77838686868686868686868686868686868686868686868686868686868686868686868686868686868683766a5d5043372a1d10000713202d3a4653606d79868b8d909298988a7e71665c50463c332b26211e1a1918171717171818191e20262b343e4754616e7b8798a2aeaa9e9184776b554b4035291d100400101d293643505c69768386868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868276695c504336291d10000714202d3a4753606d7a85868686877c6f62584e43372b1d1207000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114131313131313130b0f12131415181c232d3844505c6675828e9ba8b5ab998c7f7266594c3f3326190c000000000916232f3c4956626f7c8995aab4a4978b7e7164584b3e3125180b0000000000000c1925323f4c5865727f8b98a5b4aa95887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000000004101c2934404b556774818e9aa7b3a6998c807366594d4033261a0d00000000000000000000030c17232e38424e58606c78839098a29f948b7f72695f544a53606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb7b1a9a3a19f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998c807366594d4033261a0d00000a1723303d4a5663707d8996a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa9aaaaaaaaaa94877a6e6154473b2e211408000d1a2733404d5a6673808d99a6b3ada297887c6f62564c41352d26201f1c1f20262e38424e5864707d8a9aa4afa89b8e81756853493f33271b0f03000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e0100000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000000000000000000040a0f151a1d24292c2e34383a3c3e404244444546464545444342403d3b3a36312d2c28231c19130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100f0d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000101d2936424f5b677177797979797979797979797979797979797979797979797979797979797979797979797979797979797671665b4e4236291c10000613202d394653606c777c7e808385888b867a6d60544a3f342a211b15120e090b0a0a0a0a0b090e11151b222d3a46525e697885929fabac9f928679675d5145392c1f130600101d293643505c6976838f9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938f8276695c504336291d10000613202c3945515d67717e8b959a8f82756a605447392e23180c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070606060606000003060607070c111b28343f4a546673808d99a6b3a69a8d8073675a4d4034271a0d010000000814212e3b4754616e7a8798a3aea6998c7f7366594c40332619090000000000000d1a2733404d5a6673808d99a6aea298877a6d6154473a2e211407000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000000006131f2c3845515c677783909daab4aa988b7e7165584b3e3225180b000000000000000000000006111c26303c44505b666e7b86929fa69f92867b6e665b5053606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb7a99f9894939393939393939393939393939393939393939393939393939393939393938c807366594d4033261a0d0000091623303c4956636f7c8996a2afb0a69f9c9393939393939393939393939393939393939393939393939c9ea6b0aea398877a6d6054473a2d211407000e1a2734414d5a6774808d9aa7b3b3a9998c8073685d52463f382f2d2b282b2d30383f4a545f6a76828f9cacb0a6988b7e7265584b3f2d22170b00000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b000000000000000000000000000000000000070c151b20262b2f35393a3f4446484a4d4f5051525253525251504e4c4a4846423d3a38342e29251e19140d050000000000000000000000000000000000000000000000000000000000000000000000000004070c10121316191b1d1e1f1f201f1f1e1d1b19171414110e0806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a0f12151520202020202013100c07010000000000000000000000000000000000000000000000000e1a27333f4a555f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0d0005121f2b3744505b656c6f717476797b7e7e71675d5142382e22180f0a0502000000000000000002050b111e2a36424d566b7884919eabafa399867a6d6053473a2d20140700101d293643505c6976838f918b86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868b918f8376695c504336291d100004111d2935404b55606d7883909d94897c6f62544b4034281c10040000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000000b17232e3f4c5965727f8c98a5b2a79a8e8174675b4e4134281b0e010000000613202d394653606c7985929faca79b8e8174685b4e4131261a0e020000000003101c28343f4a546875828e9ba8ac9f928579685e5246392d201307000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000000000000000000714202d3a4753606d7986929facaea298887c6f6255493c2f2216090000000000000000000000000a151e28333f4a545f69727f8b949fa2989082786c605753606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabb7a3988d888686868686868686868686868686868686868686868686868686868686868686807366594d4033261a0d00000815222f3b4855626e7b8895a9b3ab9f948f8686868686868686868686868686868686868686868686868f949eaaac9f928579675d5145392c201306000e1b2734414e5a6774818d9aa7b4b8ab9f92857a6d615b5049413c393834383a3d424a505c666e7c87939facab9f94877b6e6154483b2e21150600000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b0e0100000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a00000000000000000000000000000000030b121820262b31373a4145474a50535557595c5d5e5e5f5f5f5e5e5d5b595755534d4946443f3835302a251e170e0802000000000000000000000000000000000000000000000000000000000000000001070c1013181c1f20232527292b2b2c2d2c2c2b2a28262421201e1915120f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306080913131313131306040000000000000000000000000000000000000000000000000000000a16222e39434d555b5d606060606060606060606060606060606060606060606060606060606060606060606060606060605d5b554d43382d22160a00030f1b27333f49535b60626467666c6e71716c62554b4030261c100600000000000000010507090e12161c222c3845515c677885919eabaea399877a6d6054473a2d21140700101d293643505c6976838f8b7f79797979797979797979797979797979797979797979797979797979797979797979797979797979797979797f8b8f8376695c504336291d1000010d18242f3a44505c66717e8a979a8e8174665c5145382c1f13060000000000131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000000000000000104091925323f4c5865727f8b98a5b2a89b8e8175685b4e4235281b0f0200000005121f2b3744505b657783909daaa99c90837669574d42362a1e12050000000006121f2c3844505c667783909daaa99d9083766a564c4135291d1105000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000007101d2935404b5563707d8a99a3aeac9f9285796d6053463a2d201307000000000000000000000000030c17222d38424d57606c77828f98a29f948c7f726a5f54606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b7979797979797979797979797979797979797979797979797979797979797979736e63574b3f3226190c00000714212d3a4754606d7a8797a2ada99c8f82797979797979797979797979797979797979797979797979828f9ca9ab9e9184786b554b4135291d1104000e1b2834414e5b6774818e9aa7b4b3ada2988d81746d605b534e4846443f4446484e545c606d7883909aa4afa79c8f8376695e52463a2d20140700000a1723303d4a5663707d8996a3b0a89b8e8175685b4e4235281b090000000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a000000000000000000000000000000070c151d232831373c42474b5154545c60626466686a6a6b6c6c6c6b6a6a686664615f575653504a46413a3630292019130d05000000000000000000000000000000000000000000000000000000000003090e12181d1f23282c2d3032343638383939393838373533312e2d2a25211f1b150f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c27313b434a4f5153535353535353535353535353535353535353535353535353535353535353535353535353535353504e4a433a31271c110500000b17222d38414950535558545b60626465625a50433a2f1e140a00000000020507080d1113141a1e21272c343c4653606d7986929facac9f928679675d5145392c20130600101d293643505c6976838f8b7f726c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c727f8b8f8376695c504336291d10000007131d28343f4a54606d7985929e9285796d6053463a2d2013070000000000131f2c3946525f6c7985929facada093877a6d6054473a2d21140c0c0c0c0c0c0c0c0c0c0c070d10151c28333f4a546673808c99a6b3a79a8e8174675b4e4134281b0e01000000030f1b27333f49536874818e9ba7ab9f928578695f53463a2d211407000000000713202d3a4653606d7986929faca79a8e8174675b4e413025190d01000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000000000050e19222c3945515d6774818e9aabb4a99c908376665c5044382c1f12060000000000000000000000000006111c262f3c44505b656e7b86929fa69f92867b6e665c606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635c52473b2f23170a00000613202c3945515d677885929eabaa9d9184776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c667784919eaaa99c8f8376695c50432f24180d01000e1b2834414e5b6774818e9aa7b3a9a19e9e928b7f726c655f585553504a5053555860666d74808d959facaba0958a7d7164574d42362a1e120500000916222f3c4955626f7c8895aab4a99c8f8276695c4f4330251a0e0200000000030f1c2936424f5c6975828f9ca8b5ab95897c6f6256493c2f23160900000000000000000000000000000810191e272e343c43474d53555d6064666d6f7173757777787979787877767573706e696763605c54524c46413b322a251e170e06000000000000000000000000000000000000000000000000000001070c141a1d24292c2e34383a3c3f4143444546464645444342403e3b3936302e2b261f1c17110a020000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100f0d0b0807050200000000000000000000000000000000000000000000000000000b151f2931393f42444646464646464646464646464646464646464646464646464646464646464646464646464646464643423e3831281f150a00000006111b262f383f4446484b4a50535558585650483f31281d0c02030506090e121415191d2021262b2d33383e464e58636f7c8999a3afab9e9185786b554b4135291d110400101d293643505c6976838f8b7f72656060606060606060606060606060606060606060606060606060606060606060606060606060606065727f8b8f8376695c504336291d100000010b17232e3845515c6673808d99978a7d7063574a3d302417070000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211919191919191919191919191a181d20262b3844505b6674818e9ba7b3a6998d8073665a4d4033271a0d00000000000b17222d3f4c5965727f8c98aaada297887b6e6155483b2e23180c000000000915222f3c4855626f7b8898a3aea9988b7e7265584b3f3225180800000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000060e17202935404b55606d7985929fabb1a7988c7f7265544a3f34281c100300000000000000000000000000000a141d27333f49535e69717e8b949ea3989083786d60606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e616060606060606060606060606060606060606060606060606060606060605957524a40352a1f1307000004111d2935414c55697683909ca9ab9f928578695f606060606060606060606060606060606060606d7986929faca79a8d8174675a4e4134271b0700000e1b2734414e5a6774818d9aa7ada19792919692877f776f6a6562605b545c6062656a6f78808d929ca7afa4999083786c6053463b30251a0e0200000814212e3b4754616e7b8798a3aeaa9d9084776a574d42362a1e12050000000005111d2935414c566a7783909daaafa399877b6e6154483b2e2115080000000000000000000000000009111a222a303940454e53575f62676d7175797b7d8082838485858685858483817f7d7b7874706d66615e56524c443e36302920180f07000000000000000000000000000000000000000000000000030b12181f252a2f35393a404446494c4e5051525253525251504e4c4a4746413c3a37312b28221c140b070000000000000000000000000000000000000000000000000000000000000000000004070c10121316191b1d1e1f1f201f1f1e1d1b19171414110e0806030000000000000000000000000000000000000000000000040d171f272e333637393939393939393939393939393939393939393939393939393939393939393939393939393939393736322d271f160d03000000000a141d262d3337393c3e3f4446484b4b4a453f362d1f160c0b0f1213151a1e2121252a2d2e31373a3d44485058606a74818e9babb5a99d9083766a5d50432f24180d0100101d293643505c6976838f8b7f72655853535353535353535353535353535353535353535353535353535353535353535353535353535865727f8b8f8376695c504336291d1000000006111c2834404b54626f7c88979a8d8073675a4d402e23180c0000000000131f2c3946525f6c7985929facada093877a6d6054473a2d252525252525252525252525262624292c31373f4a54606c7985919eabb3a9988b7e7165584b3e3225180b00000000000616232f3c4956626f7c8998a2aea9978b7e7164544b4034281c1004000004101d2935404b5565727e8b98aaada197887c6f6255483c2f22150900000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211407000000000000000000030a0f182029323b45515d67727e8b97a2adab9f95887b6e6155483b2e23170c000000000000000000000000000000020b17222d38414d57626c75828f97a29f958c7f736a606d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e615553535353535353535353535353535353535353535353535353535353534d4b4740382e24190e020000010d19242f414d5a6774808d9aabaea298887b6e61555353535353535353535353535353535355626f7c8899a3afa9988b7e7265584b3f3225180c00000e1a2734414d5a6774808d9aa7ab9e9285849199928c827c76726e6c666b666d6e72767c828d929ca4aea69f93877c6f655b504437291f14090000000713202d3a4653606d7986929facab9f928578695e52463a2d201407000000000713202d3946525d687885929eabac9f9286796d6053463a2d20130700000000000000000000000009121b232c343c424b51585f62696e747a7d8185888a8c8f9091919292929191908e8c8a8884807d79736d68615e565046413a322a2119100700000000000000000000000000000000000000000000060d151d24293136394045474a515356585a5c5e5e5f605f5f5e5d5b595754524c4847433c38332d261d18120b03000000000000000000000000000000000000000000000000000000000001070c1013181c1f20232527292b2b2c2d2c2c2b2a28262421201e1915120f0a0300000000000000000000000000000000000000000000050d151c2227292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d040000000000020b141b22272b2d2f2d3338393b3e3e3d3a342d241b1114171b1f2022252a2d2e3036393a3d4246484f545a616a6f7c87939facb2a8998d8073665a4d4033271a070000101d293643505c6976838f8b7f7265584c4646464646464646464646464646464646464646464646464646464646464646464646464c5865727f8b8f8376695c504336291d10000000000c18232e394653606c7985929c90837669544b4034281c100400000000131f2c3946525f6c7985929facada093877a6d6054473a3232323232323232323232323232332f35393c4347505b66707d8997a1adada297887c6f6255493c2f22160900000000000713202d3a4653606d7985929faba79b8e8174665c5145382c1f160c06060c141f2c3845515d6775828e9ba8ab9e9285786c605346392d20130600000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d21140700000000000205060b0f151a212a323b444e58606d7984919ea9b2a89d908376695f53463a2d1c11060000000000000000000000000000000006111b262f3b45505a616e7b85929fa59f92877c6f666d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e61554846464646464646464646464646464646464646464646464646464646403f3b352e261c120700000000081724313e4a5764717d8a99a3afaa988b7e7165574d42464646464646464646464646424d5765727f8c98abada297887b6f6255483c2f22150900000d1a2734404d5a6773808d9aa6ab9e92857d89929f948f88827e7b79787778797b7f828990949da4aea69e938d80736b6053493f3327170d0300000006121f2b3844505c667784909daaaea298877b6e6154483b2e21150a000000000714212e3a4754616d7a8797a1adaa9e918477665c5145382c1f1306000000000000000000000009121b242d353e464e545c606a6f757b81868a8e929797999b9d9d9e9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b2219100700000000000000000000000000000000000000000910181f272f353b42464b5153545c60636567696b6b6c6c6c6b6b6a686664615e5655534e46443f382f28231d150c05000000000000000000000000000000000000000000000000000003090e12181d1f23282c2d3032343638383939393838373533312e2d2a25211f1b150f0b06000000000000000000000000000000000000000000040b11161a1d1e202020202020202020202020202020202020202020202020202020202020202020202020202020201d1c1a16110a0300000000000000020a11171b1f202222282b2d2f3132312e29221b191e2022272b2d2f31363a3b3e4146474a4d53555960636c717c859199a4afaca096897d706356493d3023160a0000101d293643505c6976838f8b7f7265584c3f393939393939393939393939393939393939393939393939393939393939393939393f4c5865727f8b8f8376695c504336291d1000000915202b353f4744505b6575828f9b918578665c5145382c1f130600000000131f2c3946525f6c7985929facada093877a6d6054473f3f3f3f3f3f3f3f3f3f3f3f3f3f3f40414045474e535b606c7883909da9b3ac9e9285796c605346392d201306000000000006121f2b3844505c6675828f9caaab9e9285796d6053463d31281e171515171e28313a4753606d7985929facaa9b8e8175655b5044372b1f120500000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d21140c0c0c0c0d090e1114171b1f262b333b444c56606a73808c96a1adada1968a7e7164574d42362a1e0a0000000000000000000000000000000000000a141d29333f46525e69717e8a939ea3999083796d6d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b39393939393939393939393939393939393939393939393939393933322f2a241c130a00000000000714212e3a4754616d7a86929faca89b8e8275695e53463d313939393939393939303946525e6976828f9ca9ab9e9285786c605346392d20130600000d192633404c5966737f8c99a6ab9f928578808d939f9c948f8b888685848586888b8f949c9fa6aca49d948f81786c60594f41382d2217050000000003101c28343f4a546875818e9ba8b3aa978a7d7064574a3d32271b0d04000001081623303d495663707c8996a9b3a89c8f827569544b4034281c10040000000000000000000007101b242d363e474f585f666d737c82878e92989b9ea2a9a6a8aaa8a7a6a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e0500000000000000000000000000000000000009121b222a313940454d53555d6065666d6f72747677787979797877767573716e6867625f5853504a423d342e271e170e05000000000000000000000000000000000000000000000001070c141a1d24292c2e34383a3c3f4143444546464645444342403e3b3936302e2b261f1c17110a0200000000000000000000000000000000000000060e151b1f21222323232323232323232323232323232323232323232323232323232323232323232323232323232322211f1a150e06000000000000000000060b0f121315171c1f2022252524211d1d20252a2d2d3337393c3f4246484b4c525457575f61656b70767e859197a1abb1a79d9184786c605346392d2013060000101d293643505c6976838f8b7f7265584c3f322d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d323f4c5865727f8b8f8376695c504336291d1000010e1a26313d4751595e5f6673808c999786796d6053463a2d20130700000000131f2c3946525f6c7985929facada093877a6d60544c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4d4d4b5153585f626d737f8c959fabafa49a8d8174665b5044382b1f1206000000000003101c28343f4a5464717e8b98a3ada2978a7d7064594f433a30282322222227303a434f5964717e8a98a2aea2988a7d706453493f33271b0f0300000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211919191919191a191e2022272b31373e454d565e686f7c87929fa8b1a79e9184786d6053463b31261a0e000000000000000000000000000000000000020b17212a36424d56616c75818f97a1a0958c80736d798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2626231f19120a0100000000000713202d3946525d6876828f9ca9ac9f92867b6e61584e433b322c292424292c3139424d57616e7b86929faca89b8e8174655b5044372b1f120500000c1825323f4b5865727e8b98a5ac9f92867977818c939a9f9c989993929192939a989c9fa6aba8a09d928d82796d665b50463d2f261b110600000000000b17232e3f4b5865727e8b98a8b2a69a8d807367584e43372b1f15100c090e131e2a36414c5666727f8c99a5b3aa998c7f7366594c402e23180c00000000000000000000050e19222d363e485059616a6f7980878f93999fa3aaabaaaaa29f9d9b9a9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c030000000000000000000000000000000009121b242c343c434b51575e61676d7175797c7f81838485858685858483817f7d7a77736f6a64605b544f454039302920170f05000000000000000000000000000000000000000000030b12181f252a2f35393a404446494c4e5051525253525251504e4c4a4746413c3a37312b28221c140b07000000000000000000000000000000000006101820262b2e2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2e2b262018100600000000000000000000030506060b0f12131518181b1e25292d3036393b3f4446484b4d535457565e616467696e72777d828a9297a1a9b3aa9f958b7e71665b5044382b1f12060000101d293643505c6976838f8b7f7265584c3f322520202020202020202020202020202020202020202020202020202020202025323f4c5865727f8b8f8376695c504336291d100004111d2a36424e59636a6c6c727f8b9894877a6e6154473b2e21140800000000131f2c3946525f6c7985929facada093877a6d605858585858585858585858585858585859595a555d60646a6e767f8c919ca7b1a99f93877c6f62544a3f33281c0f030000000000000b17232e3a4754606d7a86929faca99c9083766b60554b423a342e2f2e2d333a424b55616b7683909daaab9f9285796d6053473a2d22170b0000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2525252525262627252a2d2d33373c434750575f686e7a849199a3afaa9f958b7e71665c504438291f140900000000000000000000000000000000000000050f1925303b44505a616d7a85929ea59f92877c6f798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e22202020202020202020202020202020202020202020202020201a1917130e070000000000000005111d2935414c5664717e8b96a1ada3998d80746a60564d443e39352f2f35383c434b545e6973808d99a3aca096897d706353493f33271b0f0300000b1824313e4b5764717e8a97a4aea399867a6d74808891969d9fa49f9e9e9e9fa4aca9a7a79f9d95918980786d675c544a3f342b1d140a0000000000000615222f3c4855626f7b8896a0acaa9d9184776a6054473c31271f1c181b1a1e242d3946525e6876838f9ca9aea298897c706356493d30231607000000000000000000020d17202b343e48505a616b707c838c92999fa4abaca7a09d999892908f8d8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b00000000000000000000000000000008121b242d363e464e555d60696e74797e8285898b8d8f91919293929291908e8c8a8784807c76716c666059514b433b332921170e0500000000000000000000000000000000000000060d151d24293136394045474a515356585a5c5e5e5f605f5f5e5d5b595754524c4847433c38332d261d18120b030000000000000000000000000000040e18222a31373a3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3a37312a22180e03000000000000000000000000000003060b141a20262b3035393b4146474950535558575e616467686d7074777b7f84898f949fa2a9b2aaa2989083786d60544a3f33281c0f030000101d293643505c6976838f8b7f7265584c3f322519131313131313131313131313131313131313131313131313131313131925323f4c5865727f8b8f8376695c504336291d100006121f2c3845525e6a757979797e8a9795887b6e6255483b2f22150800000000131f2c3946525f6c7985929facada093877a6d656565656565656565656565656565656565666768676d71757b828c919ca4adaba2978e81756a5f5342382d22170b000000000000000613202c3945515d6775818e9ba6ab9f94897d70675d544c443f3c3b3b3c3f444b545d67707d89959faba4998d8174675c5145382c1b11060000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473a32323232323232333430363a3b3f44464e535a61696e7a839096a1abaea3989083786c60544a3f34281c1003000000000000000000000000000000000000000009141f29323e46525e68707e8a939ea399908378798693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e22151313131313131313131313131313131313131313131313130d0c0a07020000000000000000010d1924303a4653606d7984919ea7ab9f92877c6f685e564f47454141414045474e555c666e7b86929faba89e9184786c605346392d22170b0000000a1623303d495663707c8996abb5ab94877b6e6e737d848a9095989b9d9e9f9f9f9e9c9a9895908a847d736d665c554b42382d22190b020000000000000815212e3a47535f6a7784919eabaca095887c6f62584e4339312c282327262b2f35414c56616d7a86929facab9f9285796d6053463a2d20130700000000000000000009141f29323d46505a626c717d8690959fa3ababa49f9b95908c898584828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d12070000000000000000000000000006101a242d363f4850585f676d737b80858b8f9298989a9c9e9e9f9f9f9e9e9d9b999795908d88837e786f6b605c554d453b332920170c0300000000000000000000000000000000000910181f272f353b42464b5153545c60636567696b6b6c6c6c6b6b6a686664615e5655534e46443f382f28231d150c05000000000000000000000000000a15202a343c434748494949494949494949494949494949494949494949494949494949494949494949494949494949494847433c342a20150a00000000000000000000000000020a11171f262a32373a4146474c5254535b60626568696e7174777a7d8084888c91959c9fa6adafa9a19892867b6e665c5142382d22170b000000101d293643505c6976838f8b7f7265584c3f3225190c06060606060606060606060606060606060606060606060606060c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c798786868a909a95887b6f6255483c2f22150900000000131f2c3946525f6c7985929facada093877a72727272727272727272727272727272727272737475777a7d82878f949ca3adaba39992857b6e61584e432f261c11060000000000000004111d2935414c55626f7c88949faba69e9184796d665d56504a494848494950555d666d7984919ea7aa9f93877b6e61554b4034291c0a000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6054473f3f3f3f3f3f3f3f404042424647495053585f626c717b839095a0a8afa59f92867c6f655b5042382e23170c000000000000000000000000000000000000000000020d17202a36414c56616c75818e96a1a0958b7e788693a0aca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e2215080606060606060606060606060606060606060606060606000000000000000000000000000008131f2c3845515c67727f8b95a0aba39991847a6e68615954514c4e4e4b5153575f676d78839098a2aca0968b7f72665b5044382b1b11060000000815222e3b4855616e7b8899a3afa295897c6f626b6f797e83888b8e909192929291908e8b87837e78706b605c544b43392f261c10070000000000000006121f2b37434e586673808d99a3afa89b8e81756a5f554b433c38342e3431373a4145525d68737f8c99a3afa79b8e8175675c5145382c1f13060000000000000000030d1925303b444e58626c717e879298a0a7afa79f99938e88837f7c79777574737373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c030000000000000000000000030c18222c363f48505a616a6f7980868d92979c9fa2aaa7a9a8a7a6a6a6a7a8a9a8a6a7a09d9a94908a837c746d675e574d453b32291e150a0000000000000000000000000000000009121b222a313940454d53555d6065666d6f72747677787979797877767573716e6867625f5853504a423d342e271e170e050000000000000000000000030f1b26313c464e53555656565656565656565656565656565656565656565656565656565656565656565656565656565655534e463c31261a0f030000000000000000000000040b141c222831363c43474c5254565e6164656c6f7275787b7e8184868a8d9196989da0a8abb0aba59e9791867d6f695f544a402f261c1106000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c79869293979aa295887c6f6255493c2f22160900000000131f2c3946525f6c7985929facb2a5988c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80808284868a8f92999fa6adaaa29992877d70695e52463c321d140a0000000000000000010d19242f3a47535f6a76828f99a3aca0968f82786d68605c5456555555535b60676d78818f96a0aca2988e8175695f5343392f23180c000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d60544c4c4c4c4c4c4c4c4c4c4d4e4d5254535b60636a6e757e859195a0a7afa59d938b7f726a5f53493f30261c110600000000000000000000000000000000000000000000050e1925303a44505a606d7a84919ea59e91847a8793a0ada194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e2215080000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55606d78839099a3aba09690837a706b64605d555b5b555d60636a6e79818e959faaa49a9184796d60544a3f33281c0a000000000713202d3a4653606d7986929faca4978a7d716460666d71777b7f8183858586858483817e7b76716d666059504a423930271d140a0000000000000000030f1a26313c4854616e7b87929faaac9f92877c6f675d554e46454041414142474c515b606d7a85929eabaca095897d7063554b4034281c100400000000000000010b151f2a36424d56606a717e889299a2aaafa49c959087817c77726f6d6668676766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b40342820150900000000000000000000000b151e2a343e48505a626c717c848c92989fa2a9aca8a8a09e9c9a9a999a9a9b9d9fa3ababaaa69f9c95908781796e695e574d443b30261c1106000000000000000000000000000009121b242c343c434b51575e61676d7175797c7f81838485858685858483817f7d7a77736f6a64605b544f454039302920170f050000000000000000000006121f2b37434e585f6262626262626262626262626262626262626262626262626262626262626262626262626262626262625f584e43372b1f120600000000000000000000040d161d262d333b42464e53565e6165686e7175787c7e8184878a8e91939a9a9da0a8aaacaeaca69f9c938e857c6f6b60574d42392e1d140a00000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c7986929fa4a6a295887c6f6255493c2f22160900000000131f2c3946525f6c7985929facb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8c8c8d8e9193999c9fa3abaca69f9892877e716b61564d42342a200b0200000000000000000008131e2b37434e58626e7c87929fa7a89e948f827a716d66646262616264656c7079818f939ea8a69f92867b6e61574d4231271d1207000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d6058585858585858585859595a5b565e6164656c70757c828a9297a0a8afa59e938e81746d62584e41382d1e150a00000000000000000000000000000000000000000000000008131e29323e45525d68707d8a939da1978c808c99a6aea194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e22150801010101010101010101010101010101010101010101010100000000000000000000000000000c18232e3944515c666f7c87929fa4a8a09590847d76716d6769676869676d70757b838e939ea7a59f93887d70665c5142382d22170b0000000006121f2c3844505c667784919eaaa5998c7f7266545c6064696e72747778797979787674716e6964605c544f443f3830271e150b020000000000000000000a15212d3a46535e6975818e98a3aea3999083796d675f5853514b4e4e4e4d53555d606d74818e97a1ada69d9083776b605443392e23180c000000000000000007121d27313946525e696f7c86929aa3ababa39f928d837c756f6a6662605c545a5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e0500000000000000000007121d27303c46505a626c717e8691969fa2aaaba39f9b9796918f8e8d8d8d8d8f9092999a9ea1a9aba79f9a938d837b6e695e564c42382e23170c0400000000000000000000000008121b242d363e464e555d60696e74797e8285898b8d8f91919293929291908e8c8a8784807c76716c666059514b433b332921170e050000000000000000000815212e3a47535f6a6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6a5f53473a2e211508000000000000000000030c161f282f383f444d53585f62686d72767a7e8185888b8e9196979a9d9fa4acaaacafacaba39f9b948f89817a6f6a60594f453b30271c0b0200000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c7986929facafa295887c6f6255493c2f22160900000000131f2c3946525f6c7985929facb8ada39c9898989898989898989898989898989898989898999a9b9d9fa4abacaba7a09d9490867e716c62594f443b3022180e00000000000000000000010f1b26323c47535f6a73808d959fa8a69e948f847e7974716f6e6e6f7173787d848f939ea5a79f948c7f72695e53453c311f150b01000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a6d656565656565656565656566676869696e7074787d81878f939ea1a9aca49f938e81786d605b51463c2f261b0c03000000000000000000000000000000000000000000000000020c17202935414c56616b74818e96a19f9285929fabaea194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e22150d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0a0907040000000000000000000007121d2834404a54606a727f8c929ca4a7a096918a827d7a7775747475767a7d818790959ea5a59e938d80736b60544b402f261c11060000000003101c28343f4a546875828f9ba8a89b8e817568565153575f6165686a6b6c6c6c6b696765615e5753504a423d342e261e150c070100000000000000000005121e2a36424d57616e7b86929fa6aba0958f82796f6a63605c555b5a5b575f62676d747f8c939ea9a99f948a7d7064594f4430271d120700000000000000000c18232f3943505a616e7b859198a3acaca399928b80786f6a625f585653504a4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b0000000000000000000c18232e39424e58616c717f8a9298a0a8aba49f99928e8a8784828180808081828486898d92979ea1a8aca49f9590847b6e685e544a3f342820150a000000000000000000000006101a242d363f4850585f676d737b80858b8f9298989a9c9e9e9f9f9f9e9e9d9b999795908d88837e786f6b605c554d453b332920170c0300000000000000000915222f3c4855626f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6255483c2f2215090000000000000000000a151e283139424a50575f616a6f757a7f83868b8e9297989b9ea1a8a7aaacafacaaaba39f9c99928e89827c756d6860584f473d33291e150b0000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c7986929facaca295887c6f6255493c2f22160900000000131f2c3946525f6c7985929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a7a8aaa9a7a9a19e9a95908a837b706c625a50473e32291f100600000000000000000000000a15202b37434e58606d78839096a0a8a69e96918b85817e7c7b7b7c7e80848a91969ea5a7a0958f82776c60574d42332a1f0d0300000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facada093877a72727272727272727272727273737576787a7d8184898e93999ea6ada8a19a938c81786d665c50493f342a1d140a0000000000000000000000000000000000000000000000000000050e1924303a444f59606d7984919aa2989298a2aeaea194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e221a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171614100b050000000000000000000c18232e39424e58626d73808c929ea1a8a19e948f8a8683828181828386898e93999fa7a39f938f81786d60594f42392e1d140a0000000000000c17232e404c5966737f8c99abaa9d908477685d52464d5355585b5d5e5f5f5f5e5d5b5854534d46443f3830282321201d18130c040000000000000000020e1a25313b46535f69737f8c949fa7a79f948f837c75706d676867676869696e737a818c919ca5aaa1978f82766c6155473d331e150b000000000000000004101c2934404b55616c76828f97a1aaafa49a92877e736d665f58534e4946443f41404040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c10040000000000000004101c2834404b545f6a717e87939fa2aaa9a199938e86827e7a777574737373747577797c80858b91969da5afa79f9691847a6e665c50443c32261b0f04000000000000000000030c18222c363f48505a616a6f7980868d92979c9fa2aaa7a9a8a7a6a6a6a7a8a9a8a6a7a09d9a94908a837c746d675e574d453b32291e150a0000000000000000111e2a3744515d6a77848989898989898989898989898989898989898989898989898989898989898989898989898989898983766a5d5043372a1d10000000000000000006111c263039434b545b60696e757c81868b9093999b9ea1a9a8abadafaca9a6a8a09d9a99928f8b86817c766f6b605d564e463d352b21180c030000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c7986929f9f9f9f95887c6f6255493c2f22160900000000131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9a9897928e89837e766e69615a50483f352c20170d000000000000000000000000040f1a26313c44505c666e7b8491969ea6a9a19e97918e8b898888888a8d91969ea0a8a59e9590837a6d655b50453b3121180e0000000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facb2a5988c7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385878a8d91969b9fa4ababa39f9691887f776d665c544a3f372d22180b0200000000000000000000000000000000000000000000000000000008131e28323e45515d67707d88939fa29fa2aab4aea194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b2e2727272727272727272727272727272727272727272727272727272423201c161008000000000000000007121c27303d46515b646e73808a92979fa3a69f9c9992908f8e8e8f9092989b9fa4a69f99928c81786d665c50473d30271d0b02000000000000061724303d4a5763707d8a99a3ac9f93867a6d6054474246484c4e505252535251504e4b4846423c3b3937332d302d2c29241d160d04000000000000000009141f2a36424d57606d78828f959fa7a69f959087817d79777574747476787b80858e939ca3aaa29892857b6e615a5044352b210c03000000000000000006131f2c3845515c67707d8a949fa9b0a69f93887e716c605c544e47433c3a38342e3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a0000000000000006131f2c3845515c666f7c869299a4aea8a0979187817b75716d6869676766676768676d7073797e848e939fa4aca8a0969083786d60584e43372b20150a0000000000000000000b151e2a343e48505a626c717c848c92989fa2a9aca8a8a09e9c9a9a999a9a9b9d9fa3ababaaa69f9c95908781796e695e574d443b30261c110600000000000000111e2a3744515d6a77849095959595959595959595959595959595959595959595959595959595959595959595959595959083766a5d5043372a1d1000000000000000020c17232e38424b555d666c727b82888e92999c9fa4ababadaeaca9aba39f9d9a9795918d8a86837e7a756f6b636059524c443c342b23190f06000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c7986929393939393887c6f6255493c2f22160900000000131f2c3946525f6c7985929393939393939393939393939393939393939393939393939399929291908f8d8b8885817d77716c615f5750483f362d231a0e05000000000000000000000000000a152028343f4a545e696e7b848f939ea1a8a9a19e9a9795959495979a9ea0a8a8a19e938e837a6e685e53493f33291f0f060000000000000714212d3a4754606d7a8793a0ada69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aea5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8c8c8d8e909297979a9ea1a8acaba39f99928d847d736c655c544a42382e241b100600000000000000000000000000000000000000000000000000000000020c16202935414b55606b74808d96a0abaeb4bcaea194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e6155483b34343434343434343434343434343434343434343434343434343434302f2c28211a110800000000000000000b151e2b343f49525c646e737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a29f9b948f877f776d665c544a3f352c1e150b000000000000000714212d3a4754606d7a86929faca4998a7d7063544b403a3b3f4144454646464543413e3d4347494846443f3f3c3a39352f281f160c0100000000000000030e1a26313b44505c666d7a8390959da5a7a099938e898683828181818385888c92979da5a7a09892867d70695e52483e3323190f000000000000000003101c28343f4a54606d7984919ea6b0aa9e948c7f736c625a504a423c37322d2c282327272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f00000000000004111d2935414b55606d79839098a3aba9a09691857d746e6964615d565b5a5a5a5a555c6063666d7179818b939aa4afa89f958c80736a5f54473d32271b0f010000000000000007121d27303c46505a626c717e8691969fa2aaaba39f9b9796918f8e8d8d8d8d8f9092999a9ea1a9aba79f9a938d837b6e695e564c42382e23170c04000000000000111e2a3744515d6a7784909da2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a29d9083766a5d5043372a1d10000000000000000a141e28343f4a545d676d787f868f939b9fa3abacafaca9aaa29f9c999992908d8a8784817d7a76726d68636059544f45413a322b2219110700000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000613202c3946535f6c7987868686868686867c6f6255493c2f22160900000000131f2c3946525f6c79868686868686868686868686868686868686868686868686868686868685858482807e7b7874706b64615a534d453e362d241b11080000000000000000000000000000030c17232e38424d565e696e7a828a91969d9fa7a7a7a4a2a1a1a2a4a6a7a7a09d96918a81796e685e564c41382d21170d000000000000000714212d3a4754606d7a8793a0aca69a8d8073675a4d4034271a0d01000815222e3b4855616e7b8894a1aca5988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facb8ada39c98989898989898989898989898999a9b9c9ea1a9a7aba9a8a19e99928e87817a706b605b534a423930261c1209000000000000000000000000000000000000000000000000000000000000040e18242f3a434f59606d79849199a4afbbb9aea194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e61554840404040404040404040404040404040404040404040404040404040403d3c38332c231a100500000000000000030c19222d37404a525c636c717a81868d9196989b9c9e9f9f9f9f9e9d9b9997928e89827c736c655c544b42382e231a0c03000000000000000613202c3945515d677683909ca9ab9a8e8174665c5145382e323537383939393836313d464e5456555350494b494745413a31281d1307000000000000000009141f28343f4a545e686d7a838e929d9fa7a49f9b9892908e8e8d8e8f9197999ea1a9a29e9590867d706b60574d42362c221108000000000000000006121f2b3844505c66727f8c96a0acaea2988f82776c605a50443f38302b26201f1c171a1a1a171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d120700000000000613202c3945515d67737f8c95a0aaada19791847b706b615e5754524c4e4d4d4d4e4b5153545c60676d747f88939fa5afa79f92877c6f62584e43372b1d1207000000000000000c18232e39424e58616c717f8a9298a0a8aba49f99928e8a8784828180808081828486898d92979ea1a8aca49f9590847b6e685e544a3f342820150a000000000000111e2a3744515d6a7784909d9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9d9083766a5d5043372a1d1000000000000006111c26303844505c666d79828c92989ea5acaeabaca49f9d9998928f8c898683807d7a7774716d6865615e56544f48443d353028201910070000000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100006121f2c3845525e6a757979797979797979766a6054473b2e22150800000000121f2b3844515d697479797979797979797979797979797979797979797979797979797979797978777674716f6c65636059555046423c332c241b12090000000000000000000000000000000006111c26303b444d575e686d757e848b9095979a9c9e9e9f9f9f9e9c9a9895908b847e756d675e564c443a2f261b0f05000000000000000714212d3a4754606d7a87939f9f9f9a8d8073675a4d4034271a0d01000815222e3b4855616e7b88949f9f9f988b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a8a9a8a6aba39f9c9996918c87817b746d6761595049413930271e140a000000000000000000000000000000000000000000000000000000000000000007131d28313d45515d676f7c87939fa7b1acaca194877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e61554d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a48443e352c21160b000000000000000007101b252e38404a525a61686d747b8084888b8e90919292929291908e8c8985817c766f6a605b534b423930261c1108000000000000000004111d2935414b5566737f8c99a7ab9e9285796d6053463e3128282a2b2c2c2c242f39434e58606261605b53585654514b433a2f24180d0100000000000000030b17232e38424c565e686d79818990959b9fa2aaa39f9d9b9a9a9b9c9ea1a9a49f9c97928c837b706b60594f453b30241a100000000000000000000713202d3a4653606d7884919ea8b2a99f92867b6e655b50483e342e261e1b1312100c060d060b0f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c00000000000714212d3a4754606d7a85929fa7b0a69e92857b6e696059524d47464141404040414045464b51555d606d727f8b939ea9afa3998f82766a605447392f24180c00000000000004101c2834404b545f6a717e87939fa2aaa9a199938e86827e7a777574737373747577797c80858b91969da5afa79f9691847a6e665c50443c32261b0f040000000000111e2a3744515d6a77839093939393939393939393939393939393939393939393939393939393939393939393939393939083766a5d5043372a1d100000000000000b17232e38424f59606d78828f949fa3aaafaca7a09d9a93908c8985827f7c7a7673706d686764605d5654524c48433d383229241e160e07000000000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100004111d2a36424e59636a6c6c6c6c6c6c6c6c6260584e43372b1f130600000000101c2935414d5862696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676562605b53544f49453e37312a211a12090000000000000000000000000000000000000a151e29323b454d565d606c71797e83878a8d8f9192929292918f8d8b87837e79716c605d554c443b32281d140a00000000000000000714212d3a4754606d7a8793939393938d8073675a4d4034271a0d01000815222e3b4855616e7b8893939393938b7f7265584c3f3225190c000000000000131f2c3946525f6c7985929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9b99979992908c89847f7b746e69605d554f443f382f271e150c020000000000000000000000000000000000000000000000000000000000000000010c161f2935404b55606b73808d95a09f9f9f9f94877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e615a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a57554f473e33281c1004000000000000000009131c262e38404850565e61696e73787c7e818384858686858583817f7c79746f6a625f585049413930271e150a000000000000000000010d18242f3b4855616e7b88959faba1978a7e71645a50433a2f241d151f141c2935404b55606a6f6e6c65676563605d554b4135291d1104000000000000000006111c26303a444c565e676d747c83898e9298999b9d9e9f9f9f9f9e9d9b999993908b857f786e6960594f473d33291f1208000000000000000005111e2a36414c5664707d8a96a1adada1978c7f72695e53493f3628231c140c0a060300000000000306090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c100400000006131f2b37434e5866727f8c97a2adaa9e948a7d70695f574f46423b3935303433342e34383a40454b515b626d74818e97a1adab9e94897c6f62554b4035291d1004000000000006131f2c3845515c666f7c869299a4aea8a0979187817b75716d6869676766676768676d7073797e848e939fa4aca8a0969083786d60584e43372b20150a0000000000111e2a3744515d6a77838686868686868686868686868686868686868686868686868686868686868686868686868686868683766a5d5043372a1d10000000000003101c28343f4a54616b74818e949ea6aeafa7a09d95908b8783807c797673706d676764615e565754524c4746413a38322c272119130c0400000000000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d1000010e1a26313d4751595e5f6060606060606055544e463c32271b0f03000000000d1925303b4650585d5f6060606060606060606060606060606060606060606060606060605f5f5e5d5c5a585553504948443d39342b261f180f0800000000000000000000000000000000000000030c172029333b444c525a61676d71767a7e818284858686858483817e7b77716d67615a514b433b322920160b0200000000000000000714212d3a4754606d7a868686868686868073675a4d4034271a0d01000815222e3b4855616e7b868686868686867f7265584c3f3225190c000000000000131f2c3946525f6c798592939393939393939393939393939393939398929291918f8e8d8b8886837f7c78736e69615f57514c433e332d261d150c0300000000000000000000000000000000000000000000000000000000000000000000040d18242f39434f59606d798390999393939393877b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b6e67676767676767676767676767676767676767676767676767676767676767676361594f44382c2014070000000000000000010a141c262e363e444c52575e61666a6f7274767878797978787675726f6d66626058534e443f382f271e150c03000000000000000000000714212d3a46535f697683909da8a99d9083766c61554b40352e27222222262d3845515d676f7c7b797674726f6d675d5145392c2013060000000000000000000a141e28323a444c555c606b6f777d8185898c8e90919292929291908f8d8a86837e79726d665f574f473d352b20170d0000000000000000000714202d3946525e6876828f9ca8b2ab9e9185796d60574d41382d2417110a02000000000000000000000002091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f13060000000815222e3b4754606a7884919ea9b1a79c8f82756c61574d453d36302d292427272723282c2e343a4145515b606d7a85929eaab0a69b8e8275675d5145392c1f13060000000004111d2935414b55606d79839098a3aba9a09691857d746e6964615d565b5a5a5a5a555c6063666d7179818b939aa4afa89f958c80736a5f54473d32271b0f0100000000101d2936424f5b677177797979797979797979797979797979797979797979797979797979797979797979797979797979797671665b4e4236291c10000000000006121f2b3844505c66707d89939da6b0aca49f959089837f7b76736f6d666663605d555754524c4a4745413a3936302c27211b160d08020000000000000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d1000000915202b353f474e5253535353535353534947433c342b20150a000000000008141f2a343e464d5152535353535353535353535353535353535353535353535353535353535252514f4d4b4846443f3838332d28221a140e06000000000000000000000000000000000000000000050e172129323a414550555c6064686e7174767778797978787674716e6965605d555045403a312920170e040000000000000000000713202c3945525d687679797979797979736e64584c3f3326190d00000714212d3a46535f697679797979797979726d62564a3e3124180b000000000000131f2c3946525f6c798686868686868686868686868686868686868686858585848381807e7c7976736f6c65615e57534d45413a3127221b140b0300000000000000000000000000000000000000000000000000000000000000000000000007121d27313d45515c676f7c86868686868686867b6e6154483b2e211508000000000000000000121e2b3845515e6b7884919eabaea194887b737373737373737373737373737373737373737373737373737373737373737373706b6155483c2f231609000000000000000000020a131c242c323b41464d5254585f626568696b6c6c6c6c6b6a686663605c54544e4e4c4841382f1d150c03000000000000000000000005121e2a36424d5764717e8b96a1ab9f958a7d70675d51454039302f2e2f2f38404b55606d7986888583817e7c796d6054473a2d211407000000000000000000020c162029323a434b515960636b7075797c7f82838485868685858382807d7a76726d67605c544d453d352b23190e050000000000000000000814212e3b4754616e7a87939facafa3998c7f72675d51453b2f261b1206000000000000000000000000000000071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d2013080000000916222f3c4955626f7c8896a1acaca095897c6f625a50453b332a25201d191a1a1a181c1f23282f353f45515d67727f8b98a2aeac9f9286796d6053473a2d201406000000000613202c3945515d67737f8c95a0aaada19791847b706b615e5754524c4e4d4d4d4e4b5153545c60676d747f88939fa5afa79f92877c6f62584e43372b1d1207000000000e1a27333f4a555f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0d00000000000713202d3a4653606d7883909da5afafa49a938c837d77726e686663605c545653514b4a4746413e3a3935302d2a251e1b17151312100b0600010000000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000040f19242d353d424546464646464646463c3b37322b22190f040000000000020d18222c343b4144464646464646464646464646464646464646464646464646464646464646454443413e3c3937332d2c27211d170e09030000000000000000000000000000000000000000000000050f1720282f353e434b5153565e616467696b6b6c6c6c6b696765615e5753514b433e352f281f170e050000000000000000000004111d2935414c565d6c6c6c6c6c6c6c6c67645c52473b2f23170b000005121e2b37424d575f6c6c6c6c6c6c6c6c65625b51463a2e221509000000000000121f2b3844515d6974797979797979797979797979797979797979797979787877767573716f6d666662605b53534d47423c352f281f17110a0200000000000000000000000000000000000000000000000000000000000000000000000000010b151f2834404b55606a6f797979797979797976695e53463a2d211407000000000000000000121e2b3845515e6b7884919eabb4a79a8e818080808080808080808080808080808080808080808080808080808080808080807d7063574a3d3024170a00000000000000000000020e1925303b444c525f6060606060605d5d5e5f5f5f5f5e5d5b596060606060605a58534a41362b2014080000000000000000000000020e1a26313b4653606d7984919ea7a79e9184796d605b514b423d3c3b3c3d424a515d67717e8b9892908e8b897e7164574b3e3124180b00000000000000000000050e172029313940454f54596063676d70727576787879797878777573706d6865605d55504a423c332b23191107000000000000000000030f1b27333f495364717e8b9aa4afac9f92867a6e61554b4033291d140a000000000000000000000000000000000007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d0100000d1a2633404d596673808c99a8b2aa9d9083776a6054483e332a211a14110d080d070c1013181d242935414c55606d7985929fabaea2988a7d7164574a3e2e23170b000000000714212d3a4754606d7a85929fa7b0a69e92857b6e696059524d47464141404040414045464b51555d606d727f8b939ea9afa3998f82766a605447392f24180c000000000a16222e39434d555b5d606060606060606060606060606060606060606060606060606060606060606060606060606060605d5b554d43382d22160a0000000003101c28343f4a5464717e8a95a0acaea49f93888078706b65615e565653514a494745403d3a3936302d2c292424242b29262422201f1c1711110c0600000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d1000000008121b242b31363839393939393939392f2e2b27201910070000000000000006101a222a30353839393939393939393939393939393939393939393939393939393939393938373634322f2d2b27221b1c16110c060000000000000000000000000000000000000000000000000000050d161e242931394045474c5254575a5c5e5f5f5f5f5e5c5a5854524d474540393129241d160d050000000000000000000000010d19242f3a444c525f606060606060605a58524a40362b1f13070000020e1a26313c454d535560606060606060585651493f34291e1206000000000000101c2935414d5862696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a6968666462605c545653504946423b373129241e160d0600000000000000000000000000000000000000000000000000000000000000000000000000000000030d18232e39434e5860626c6c6c6c6c6c6c6c6c5e574d42362a1e1205000000000000000000121e2b3845515e6b7884919eabb7a99d938e8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8073665a4d4033271a0d0000000000000000000005111e2a36414c565e6c6c6c6c6c6c6c6a675f555353524f5960636c6c6c6c6c6c67645c53483c3024180b00000000000000000000000009141f2c3844515c66727f8b95a0aca1968e81756e605c544f4a4948494a4e545b606d7984919e9f9d9a92857a6d6053473a2d2014070000000000000000000000050e171f272f343d43484f54555c606366686a6b6c6c6c6c6b6a686664615e5653514b443f38302a211911080000000000000000000005121f2b3744505b6575818e9bacb6a99c8f8276685e5243392f21170b020000000000000000000000000000000000010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d11040005111e2a36424d576976838f9ca9b5ab998c7f7366584e43362c21180f0905010000000004070c1319242f3a45515d6774818e9aa7b4aa9b8e817468544a3f34281c1003000006131f2b37434e5866727f8c97a2adaa9e948a7d70695f574f46423b3935303433342e34383a40454b515b626d74818e97a1adab9e94897c6f62554b4035291d100400000006111c27313b434a4f5153535353535353535353535353535353535353535353535353535353535353535353535353535353504e4a433a31271c11050000000006121f2b3844505c6675828f9ca7b1aa9d928b7e736d66605954524d494644403d3a39352f2e2d2a252120282d3031383533312f2d2b28231c1d181109000000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000000009121920262a2c2c2d2d2d2d2d2d2d22221f1b150f070000000000000000000810181f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272522201f1b1711100b050000000000000000000000000000000000000000000000000000000000040c13191f272f34383b4146474b4e4f515253535251504e4b4846423b38352f271f18130c040000000000000000000000000008131e28323a414553535353535353534d4c4740382e24190e0200000009141f2a333c424648535353535353534c4a463f372d23180d010000000000000d1925303b4650585d5f606060606060606060606060606060606060605f5f5e5e5c5b5a585553514b4946443f3836312b261f19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303c464e54555f606060606060605f534d453b31251a0e02000000000000000000121e2b3845515e6b7884919eabb7afa59d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a998d8073665a4d4033271a0d000000000000000000000714202d3946525e68767979797979797771675b4f464854606b70797979797979746e64584c4033271a0d01000000000000000000000004101c2834404a54606d7883919aa4a89e938c80746d6660595755555556585f666c75818e96a1aca3998e8174675d5145392c201306000000000000000000000000050d151d232932383d44484b515356595b5d5e5f5f5f5f5e5d5c5a5754524c47454039342e261e180f0800000000000000000000000613202d394653606c7885929eabb3a9988b7f7265564c4131271d0f050000000000000000000000000000000000000006111c2935414c5665727f8b98aab4aa9d918477685d5245392c201306000714202d3a46525e697885929eabafa399897c6f6256493d32231a0f060000000000000000000108131e2935404b5564707d8a97a9b3aa9d908377665c5044382b1f120600000815222e3b4754606a7884919ea9b1a79c8f82756c61574d453d36302d292427272723282c2e343a4145515b606d7a85929eaab0a69b8e8275675d5145392c1f1306000000000b151f2931393f42444646464646464646464646464646464646464646464646464646464646464646464646464646464643423e3831281f150a00000000000713202d3a4653606d7985929facaea3988d80746c605c544f4746413c3a38342e2d2c292421201d19242c34393d3e4442403e3b3a38342e2e29231b12090000000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000000000080f151a1d1f20202020202020201615130f0a040000000000000000000000060d14191c1f1f202020202020202020202020202020202020202020202020202020201f1f1e1c1a181513120f0b0600000000000000000000000000000000000000000000000000000000000000000001080d151d23292c3036393b3e414344454646454543413e3b3a36302c29241d150d07010000000000000000000000000000010c1620282f35394646464646464646403f3b362e261c120800000000030e18212a31373a3b464646464646463f3e3a342d251b11060000000000000008141f2a343e464d51525353535353535353535353535353535353535352525251504e4d4b494645403c3937332d2a251f1a150d080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2b343c43474953535353535353534846423b33291f140900000000000000000000121e2b3845515e6b7884919eabacacafa9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6998d8073665a4d4033271a0d000000000000000000000814212e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e4134271b0e010000000000000000000000000c18232e3944515c66707d88939fa6a59c928c8079706b666462616263666a6f78808d939ea9a89f92877b6e62554b4035291d100400000000000000000000000000030b121821272c323839404546494c4f50515253535252504f4d4a4746413a39352f28231c150c060000000000000000000000000815222e3b4855616e7b8897a1adada197887b6e6255483b3022150b0000000000000000000000000000000000000000000d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d211407000814212e3b4754616e7b8797a2adac9f92867a6d6053473a2d2014070000000000000000000000010d18242f3b4754616e7a8797a1adac9f9286796d6053463a2d20130700000916222f3c4955626f7c8896a1acaca095897c6f625a50453b332a25201d191a1a1a181c1f23282f353f45515d67727f8b98a2aeac9f9286796d6053473a2d20140600000000040d171f272e333637393939393939393939393939393939393939393939393939393939393939393939393939393939393736322d271f160d0300000000000815222f3b4855626e7b8898a2aeac9f92867a6d615a504a423d3936302d2c282320201d18141317222c363e45494b514f4d4a4846443f383a342d241b110600000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d1000000000000004090e1112131313131313131309080603000000000000000000000000000002080d10121313131313131313131313131313131313131313131313131313131313131211100e0b0906050300000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f252a2d2e3134363838393939383634322e2d2a251f1d18120b030000000000000000000000000000000000040d161e24292c393939393939393934332f2b241c140a010000000000060f181f262b2d2e3939393939393932312e29231b13090000000000000000020d18222c343b41444646464646464646464646464646464646464646464545444342403e3c3a38342e2d2b27221b1a140e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c19222b32373b3c46464646464646463b3a36312921170d0300000000000000000000121e2b3845515e6b7884919e9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f998d8073665a4d4033271a0d000000000000000000000814212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271b0e0100000000000000000000000007121c2834404a54606b73808d949fa7a49c928d837d7773706f6e6f7072767c828d929da5aaa1968d8174695f5343392f24180d01000000000000000000000000000001070c161b21272c2e34383a3d3f42434545464645454442403d3a3936302c29241d17110a03000000000000000000000000000a1724303d4a5763707d8a96a9b3ab9e928578695f53473a2e2114030000000000000000000000000000000000000000000813202d394653606c7985929facb1a795897c6f6256493c2f231609000916232f3c4956626f7c8995a9b3aa9e918477675d5145382c1f13060000000000000000000000000714202d3946525e687885919eabaea398887b6e6255483b2f22150800000d1a2633404d596673808c99a8b2aa9d9083776a6054483e332a211a14110d080d070c1013181d242935414c55606d7985929fabaea2988a7d7164574a3e2e23170b0000000000050d151c2227292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d040000000000000a1723303d4a5663707d8996aab4a89c8f8275685e52443f38302d2a25201f1c181413100d07111d28343e485055575e5c59575553504a4a453f362d23180c01000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000000000000000001040606060606060606060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c1014191e20212427292b2c2c2c2c2b29272521201e1a14100c070100000000000000000000000000000000000000040c13191d202d2d2d2d2d2d2d2d2726231f19120a0200000000000000060e141a1e21222d2d2d2d2d2d2d2524221e1811090100000000000000000006101a222a303538393939393939393939393939393939393939393939393837363533312f2d2c2823201f1b17110e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f39393939393939392e2d2a251f170f050000000000000000000000121e2b3845515e6b7884919393939393939393939393939393939393939393939393939393939393939393939393939393938d8073665a4d4033271a0d000000000000000000000814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e01000000000000000000000000000c18232e39424f59606d788290959fa7a49d95908984807d7c7b7c7d7f838890949da4aaa39891847a6d61574d4231281d12070000000000000000000000000000000000040a0f161b1d23282c2d30333537383939393938373533312e2d2a251f1d18120c060000000000000000000000000000000c1926323f4c5965727f8c98a5b2a99c8f837669574d42372b1e120600000000000000000000000000000000000000000006121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b000a1723303d4a5663707d8996a3b0a99c90837669554b4035291d100400000000000000000000000005111e2a36414c566a7683909da9b4aa96897c6f6356493c302316090005111e2a36424d576976838f9ca9b5ab998c7f7366584e43362c21180f0905010000000004070c1319242f3a45515d6774818e9aa7b4aa9b8e817468544a3f34281c10030000000000040b11161a1d1e202020202020202020202020202020202020202020202020202020202020202020202020202020201d1c1a16110a03000000000000000b1724313e4a5764717d8a97a4b0a6998d807366564c41342e26201e191312100c070604010815212d3945505a61646b68666462605c545651483f34291d1105000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000004090e1112131313131313131313060400000000000000000000000000000000000000000000000004080a0a1313131313131313130e0e0b080300000000000000000000000000000000000000000000000000000000000004080e111414181b1c1e1f20201f1e1d1b181514120e0904000000000000000000000000000000000000000000000001080d111314202020202020201a1917130e080100000000000000000003090e12141520202020202020191815120d060000000000000000000000000810181f25292b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2928272522201f1c1813120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e151b1f22222c2d2d2d2d2d2d2d21211e1a140d05000000000000000000000000121e2b3845515e6b788486868686868686868686868686868686868686868686868686868686868686868686868686868686868073665a4d4033271a0d000000000000000000000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e010000000000000000000000000007121c27303d44505c666d7a8390959da5a7a09d95918d8a888888898c90959c9fa6a9a19892867c6f685e52453c311f160c0100000000000000000000000000000000000000040b1012181c1f202326282a2b2c2c2c2c2b2a29272421201d1913100c0701000000000000000000000000000000000e1b2834414e5b6774818e9aa7b3a79a8d8074675a4d4131261a0e02000000000000000000000000000000000000000000030f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d000b1724313e4a5764717d8a97a4b0a89b8f8275685c4f422f24180c00000000000000000000000000010d192530424f5c6875828f9ba8b0a3968a7d7063574a3d3024170a000714202d3a46525e697885929eabafa399897c6f6256493d32231a0f060000000000000000000108131e2935404b5564707d8a97a9b3aa9d908377665c5044382b1f120600000000000000060a0e10111313131313131313131313131313131313131313131313131313131313131313131313131313131310100d0a050000000000000000000b1724313e4a5764717d8a97a4b0a5998c7f7266594c3f30231c15110e080807070808090e131925303d4955616c71777573716e6d6665625b51453a2e221509000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000000080f151a1d1f20202020202020202013100c070100000000000000000000000000000000000000050b101416172020202020202020201b1a18140f0901000000000000000000000000000000000000000000000000000000000000020507080b0e10111213131212100e0b0807050200000000000000000000000000000000000000000000000000000001040707131313131313130d0d0b07020000000000000000000000000002050708131313131313130c0b0906010000000000000000000000000000060d14191c1f1f202020202020202020202020202020202020201f1f1f1e1d1b1a18161313100c0705030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151620202020202020201514120e090300000000000000000000000000111d2a3743505c6872787979797979797979797979797979797979797979797979797979797979797979797979797979797979736e63584b3f3226190c000000000000000000000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e0100000000000000000000000000000b151e28343f4a545d686d7a838e939ea0a8a8a09d999795949596999d9fa7aba49f9792867e706a60564c41332a1f0d040000000000000000000000000000000000000000000000070c10131316191c1d1e1f20201f1f1d1c1a171413110d080400000000000000000000000000000000000000101c2936434f5c6976828f9ca9b2a5998c7f7266594c3f3326190900000000000000000000000000000000000000000000000b17222d404d5a6773808d9aa6b3a89b8e8175685b4f4235281c0f000b1825313e4b5864717e8b97a4b1a89b8e8275685b4f4235281c070000000000000000000000000000081b2835414e5b6874818e9ba7b0a4978a7d7164574a3e3124170b000814212e3b4754616e7b8797a2adac9f92867a6d6053473a2d2014070000000000000000000000010d18242f3b4754616e7a8797a1adac9f9286796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a69a8d807367544b403428201c1816151514141515171a1e242b37434e5864717e8482807d7b7977726d62564a3d3124170b000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d1f1c18120b0300000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2d2d282724201a130b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1012131313131313131313131313131313131313131313121211100f0d0b090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608091313131313131313080705020000000000000000000000000000000f1b27333f4b5660686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c66635c52473b2f23170a000000000000000000000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e010000000000000000000000000000030c17232e38424c565e686d79818991969d9fa4aca6a3a2a1a2a3a5a8a9a29f99938e857c706c61584e443a3021180e00000000000000000000000000000000000000000000000000000406070a0c0f10121213131212110f0d0a07070501000000000000000000000000000000000000000000101d2a3643505d697683909ca9b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2834414e5b6774818e9aa7b1a4978b7e7164584b3e3125180b000916232f3c4956626f7c8995a9b3aa9e918477675d5145382c1f13060000000000000000000000000714202d3946525e687885919eabaea398887b6e6255483b2f221508000000000000000000000000000000000000000000000105090b0b1313131313131313120706030000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c51453a322c29232322212121212223252a2f353f47535f6a76828f8f8c8a8886837e7265584b3f3225180c000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000008121b242b3136383939393939393939392c29231d150d0300000000000000000000000000000008121a22282d30313939393939393939393533302b251d140b010000000000000000000000000000000000000000000000000000000003090d1012131313131313131313060300000000000000000000000000000000000000000000000000000000000000000004080c0e0f13131313131313131313131313131313131313131313131313131313131313131313131313130f0e0c080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232f3a444e565c5e60606060606060606060606060606060606060606060606060606060606060606060606060606060605a58524a40362a1f1307000000000000000000000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e0100000000000000000000000000000006111c26303a444c565e676d747d848a90939a9a9c9e9f9f9f9e9d9b9997928d87817a6f6a615a50463c32281e0f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a99c908376695d5043362a1d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000a1723303d4a5663707d8996a3b0a99c90837669554b4035291d100400000000000000000000000005111e2a36414c566a7683909da9b4aa96897c6f6356493c30231609000000000000000000000000000000000000000000060c1115171820202020202020201f1312100c06000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939facab9f9285796d60564c443d38342f2f2f2e2d2e2e2f3031363a4145515b626f7c87939b999798928a7e7164574b3e3124180b000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000040f19242d353d424546464646464646464638342f271f150b010000000000000000000000000006101a242c33393c3d46464646464646464641403c362f261d1309000000000000000000000000000000000000000000000000000000070e14191d1f20202020202020202012100c06000000000000000000000000000000000000000000000000000000000002090f14181b1c20202020202020202020202020202020202020202020202020202020202020202020202020201c1b18140f0902000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100f0d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100e0b080705020000000000000000000000000000000000000000000000000007121d28323c444b505153535353535353535353535353535353535353535353535353535353535353535353535353535353534d4b4740382e24190e02000000000000000000000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c00000000000000000000000000000000000a151e28323a444c555c606b70787e83878b8d909192929291908f8c8985817c746d68605850483e342b20160c000000000000000000000000000000000000000000000000000000000000000306060808080808080605030000000000000000000000000000000000000000000000000000111e2b3844515e6b7784919eaaafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1724313e4a5764717d8a97a4b0a89b8f8275685c4f422f24180c00000000000000000000000000010d192530424f5c6875828f9ba8b0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d2d2b201f1c17110a03000000000000000000000000000000000000000000000006131f2c3945515d677683909dabada2978a7e71685e564f4745403e3c3b3b3a3a3b3b3d3f42464c515a626d76828f99a4a6aa9f92857a6d6053473a2d201407000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000915202b353f474e5253535353535353535345403931271d1207000000000000000000000000050e18222c363e44494a5353535353535353534e4c4841392f251a0f03000000000000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2d2d1f1c17110a030000000000000000000000000000000000000000000000000000030c131a202527282d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282725201a130c03000000000000000000000000000000000000000000000004070c10121316191b1d1e1f1f201f1f1e1d1b19171414110e0806030000000000000000000000000000000000000000000000000000000000000000000000000003070c10131416191b1d1e1f1f201f1f1e1c1a181514120e09050200000000000000000000000000000000000000000000010c16202a323a3f43454646464646464646464646464646464646464646464646464646464646464646464646464646464646403f3b362e261c120800000000000000000000000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b0000000000000000000000000000000000030c162029323a434b515960666d71767b7e8183848586858484827f7d79746f6a615e564e463e362c22190e050000000000000000000000000000000000000000000000000000000000060b0f121314141414141413120f0b06000000000000000000000000000000000000000000000000121f2b3845525e6b7885919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8275685b4f4235281c070000000000000000000000000000081b2835414e5b6874818e9ba7b0a4978a7d7164574a3e3124170b0000000000000000000000000000000000000009121b22292e31323939393939393939382d2c28231c150c030000000000000000000000000000000000000000000004101d2935404b5566737f8c99a3aea99e91857a6d68605953514b4b494848474748484a4b4d53555d606c727f8c949fabaea3998d8074675d5145392c201306000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000e1a26313d4751595e5f606060606060605f514b43392f23180c0000000000000000000000030c17202a343e485055576060606060606060605b59534b41362b20140800000000000000000000000000000000000000000000000007111a232a3135383939393939393939392c28231c150c03000000000000000000000000000000000000000000000000020c151e252c31343539393939393939393939393939393939393939393939393939393939393939393939393939393534312c251e150c020000000000000000000000000000000000000001070c1013181c1f20232527292b2b2c2d2c2c2b2a28262421201e1915120f0a03000000000000000000000000000000000000000000000000000000000000000000060b1012181d1f202325282a2b2b2c2d2c2c2a29272521211e1a14110e0902000000000000000000000000000000000000000000050f1820282f333738393939393939393939393939393939393939393939393939393939393939393939393939393939393933322f2a241c140a00000000000000000000000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e221609000000000000000000000000000000000000040d172029303940454f545c6064686e7174767878797878777573706d67625f58524c443d342c241a100700000000000000000000000000000000000000000000000000000000020a11171c1f20212121212121201f1b17110a0200000000000000000000000000000000000000000000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2834414e5b6774818e9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000000000000000006111b242d343a3d3e4646464646464646453a38342e261e150a00000000000000000000000000000000000000000000000c18242f3b4754616e7a86929fa8ada19790827a6f6b63605c5557565554545454555658575e61676d747e88939fa6b0a89f92867b6e61554b4035291d1004000000101d293643505c6976838f8b7f7265584c3f3225190c00000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c5c554b4034291c1004000000000000000000000b151e29323c46505a61646c6c6c6c6c6c6c6c6c68645d53483c3024180b0000000000000000000000000000000000000000000000030e19232c353c414546464646464646464638342e261e150a00000000000000000000000000000000000000000000000009131e272f373d4042464646464646464646464646464646464646464646464646464646464646464646464646464642403d372f271e1309000000000000000000000000000000000003090e12181d1f23282c2d3032343638383939393838373533312e2d2a25211f1b150f0b060000000000000000000000000000000000000000000000000000000000020a11171c1f24292c2d30323437373839393938373634312e2d2a25201e19140e09020000000000000000000000000000000000000000060f161d23272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2726231f19120a02000000000000000000000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e120600000000000000000000000000000000000000050e171e272e343d424a5053565e616567696b6c6c6c6b6a686663605c55534e46413a322b221a110800000000000000000000000000000000000000000000000000000000020b141c22282b2d2e2e2e2e2e2e2d2b27221b140b02000000000000000000000000000000000000000000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000000000000000000010c17222d363f454a4b53535353535353535246443f3830261c1106000000000000000000000000000000000000000000000714202d3946525e6874808d96a1aaa99f9490847c76706d67666462626160616162636567696e737a818b939aa4afaaa1968d8074695e5343392f24180d01000000101d293643505c6976838f8b7f7265584c3f3225190c06060606060606060606060606060606060606060606060606060c1925323f4c5865727f8b8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000121f2c3845525e6a75797979797979797976675c5145382c1f130600000000000000000007121c27303a444e58616c70797979797979797979746f64594c4033271a0e010000000000000000000000000000000000000000000009141f2a353e474d51535353535353535353443f3830261c110600000000000000000000000000000000000000000000040f1a252f3941484d4f53535353535353535353535353535353535353535353535353535353535353535353535353534f4d4841392f251a0f04000000000000000000000000000001070c141a1d24292c2e34383a3c3f4143444546464645444342403e3b3936302e2b261f1c17110a020000000000000000000000000000000000000000000000000003090c141c23282b2f35383a3c3f41434445464646454443413e3b3a36312d2a251f1a140d050000000000000000000000000000000000000000050c12171b1d1e20202020202020202020202020202020202020202020202020202020202020202020202020202020201a1917130e0800000000000000000000000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d010000000000000000000000000000000000000000050c151d232830383f44464d5254585a5d5e5f5f5f5e5d5c595653514b47433c3630292019100800000000000000000000000000000000000000000000000000000000000a141d262d3338393b3b3b3b3b3b3937332d261d140a000000000000000000000000000000000000000000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000000000005111d29343f4850565860606060606060605e53504a42382e23170c0000000000000000000000000000000000000000000005111e2a36414c56606d7a849198a2aaa69f969189827d797573716f6e6e6d6d6e6e707274777b80858e939fa4acaba3989184796d60574d4231281d120700000000101d293643505c6976838f8b7f7265584c3f322519131313131313131313131313131313131313131313131313131313131925323f4c5865727f8b8f8376695c504336291d1000000000000000000104060606060606060606000000000000000000000013202c3946535f6c798786868686868686796d6053473a2d2014070000000000000000081118232e39424c565f6a707e8786868686868686868174685b4e4135281b0e02000000000000000000000000000000000000000000010d1925313c4750585e5f606060606060605f504a42382e23170c000000000000000000000000000000000000000000000814202c37414b53595b60606060606060606060606060606060606060606060606060606060606060606060606060605b59534b41372c20140800000000000000000000000000030b12181f252a2f35393a404446494c4e5051525253525251504e4c4a4746413c3a37312b28221c140b070000000000000000000000000000000000000000000000060d141a1e262e34383a404547494c4e50515252535252514f4d4b4846423b3a36302a251f170e07010000000000000000000000000000000000000001070b0f111213131313131313131313131313131313131313131313131313131313131313131313131313131313130d0c0a070200000000000000000000000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b110700000000000000000000000000000000000000000000030b12181e262e34383b4146474b4e505152535251514f4c4a4645403937322a251e170e07000000000000000000000000000000000000000000000000000000000006111c262f383f444647474747474746443f382f261b11060000000000000000000000000000000000000000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3a89b8f8275685c4f4235291c0f000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000000000000000915212e3a45505a62656c6c6c6c6c6c6c6c6b605c544a3f34281c1003000000000000000000000000000000000000000000020e1925303b45525d686f7c869298a0a8a8a09e948f8a8582807e7c7b7b7a7a7b7b7d7e8084878d92979da5afaaa29992867c6f675d51453b311f160c0100000000101d293643505c6976838f8b7f7265584c3f322520202020202020202020202020202020202020202020202020202020202025323f4c5865727f8b8f8376695c504336291d1000000000000004090e11121313131313131313090806030000000000000013202c3946535f6c7986929393939393867a6d6053473a2d20140700000000000000060f19232834404a545e686f7c86929a93939393968f82786d6053463a2d2013070000000000000000000000000000000000000000000004101d2935414d58626a6c6c6c6c6c6c6c6c6c5c544a3f34281c10030000000000000000000000000000000000000000000c1825313d48535d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c000000000000000000000000060d151d24293136394045474a515356585a5c5e5e5f605f5f5e5d5b595754524c4847433c38332d261d18120b030000000000000000000000000000000000000000070f181f262a30383f44464b515356585b5d5e5e5f605f5f5d5c5a5854534d4746423b3630292018120b03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b130900000000000000000000000000000000000000000000000000070c151c23282c3036393b3e414345454645454442403d3a38342e2b262019130d050000000000000000000000000000000000000000000000000000000000000b17222d38424a505354545454545453504941382d22170b00000000000000000000000000000000000000000f1c2835424f5b6875818e9ba8b3a6998c807366594d402f23180c00000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000000000000000b1724313d4a56626c717979797979797979786d665c5044382c1f13080000000000000000000000000000000000000000000008141e2935414c56606a707d8691969fa3aba69f9c98928f8c8a89888787878788898b8d9195999fa2a9aba69f9892877e706a60554b4133291f0d040000000000101d293643505c6976838f8b7f7265584c3f322d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d323f4c5865727f8b8f8376695c504336291d100000000000080f151a1d1f20202020202020201615130f0a04000000000013202c3946535f6c7986929f9f9f9f93867a6d6053473a2d201407000000000000040d18212b353d44515c666d7a849198a29f9fa19791847a6d665c5144382c1f12060000000000000000000000000000000000000000000005121f2b3845515e6a74797979797979797976665c5044382c1f12060000000000000000000000000000000000000000000e1b2734404d59656f757979797979797979797979797979797979797979797979797979797979797979797979797979756f65594d4034271b0e00000000000000000000000910181f272f353b42464b5153545c60636567696b6b6c6c6c6b6b6a686664615e5655534e46443f382f28231d150c05000000000000000000000000000000000000081019212931363e424a5053555d606365676a6a6b6c6c6c6b6a696764615e5754524d46423b3329241d150d040000000000000000000000000000000000000000000000000000000000020608080b0e1011121313121211100d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e181109010000000000000000000000000000000000000000000000000000030a11171c1f252a2d2e3234363839393938373533302d2c28231d1b150d0802000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b60616161616161605b53493f33271b0f03000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100400000000000000000000000000000000000000000005121e2a36424d576976838f9ca9b2a5988c7f7265594c3f3226190c000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000000000000000005121e2a36424d5765717e868686868686868685786d6053463a3025190d01000000000000000000000000000000000000000000020d19242f3a434e58606b707c848d92999fa2aaaaa29f9c99979595949394949596989a9da0a8abaaa79f9d948f857d706c61584e433a2f21170d000000000000101d293643505c6976838f8b7f7265584c3f393939393939393939393939393939393939393939393939393939393939393939393f4c5865727f8b8f8376695c504336291d100000000009121920262a2c2c2d2d2d2d2d2d2d22221f1b150f070000000013202c3946535f6c7986929facaca093867a6d6053473a2d2014070000000000020b161f2a333d47515b606d78829096a1aaaea39992857b6e685d544a4034281c1004000000000000000000000000000000000000000000000613202c3946535f6c798686868686868686786d6053463a2d2013070000000000000000000000000000000000000000000f1c2835424f5b68758286868686868686868686868686868686868686868686868686868686868686868686868686868175685b4f4235281c0f0000000000000000000009121b222a313940454d53555d6065666d6f72747677787979797877767573716e6867625f5853504a423d342e271e170e050000000000000000000000000000000008111a222b333b424650545c6063676d6f727476777879797978777674716e6966615e56524d453f352f271f160d04000000000000000000000000000000000000000000000000000205090e121415181b1d1e1f20201f1f1e1c1a181514120e090502000000000000000000000000000000000000000000000000000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d07000000000000000000000000000000000000000000000000000000000000060c1014191e202125272a2b2c2c2c2b2a292623201f1c18120f0a04000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c6e6e6e6e6e6e6c655b5044372b1f1205000000000000000000000000000000000000000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000000000714212d3a46535e69768390939393939393978a7d7063564c4135291d11050000000000000000000000000000000000000000000008131e28313c464f59606a6f7980878e92989b9fa2aaa6a6a4a2a1a1a0a0a1a1a3a5a7a7aca49f9d9995908a827b706b615a50463d31281d0f05000000000000101d293643505c6976838f8b7f7265584c4646464646464646464646464646464646464646464646464646464646464646464646464c5865727f8b8f8376695c504336291d1000000008121b242b31363839393939393939392f2e2b272019100700000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000a141d28313c454f59626d74818e949fa8aea49f92877d6f695f564c42392e23180c00000000000000000000000000000000000000000000000613202c3946535f6c798692939393939386796d6053463a2d2013070000000000000000000000000000000000000000000f1c2835424f5b6875828e9393939393939393939393939393939393939393939393939393939393939393939393938e8175685b4f4235281c0f00000000000000000009121b242c343c434b51575e61676d7175797c7f81838485858685858483817f7d7a77736f6a64605b544f454039302920170f050000000000000000000000000000060f1a232c343d454d535a61666d7075797c7f81838485858685858482807e7b77736e69615e575145403931281f160c030000000000000000000000000000000000000000000002080e11151a1e21222528292b2c2c2c2c2b2b29272522211e1a14120e09020000000000000000000000000000000000000000000000000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b09060100000000000000000000000000000000000000000000000000000000000000000003080e111414181b1d1e1f201f1e1e1c19171313100c0700000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c787a7a7a7a7a7a776c605346392d20130600000000000000000000000000000000000000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8897a2adaea298887b6e6155483b2e221508000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000000000815212e3b4854616e7b87939f9f9f9f9fa99b8f8275685e5246392d20150a00000000000000000000000000000000000000000000010c161f2b343d474f585f676d737b81868b8f9298989a9b9d9e9f9f9f9f9f9f9e9d9c9a989a93908d88837d766e69615950483e342b1f160c00000000000000101d293643505c6976838f8b7f72655853535353535353535353535353535353535353535353535353535353535353535353535353535865727f8b8f8376695c504336291d100000040f19242d353d424546464646464646463c3b37322b22190f04000013202c3946535f6c7986929facada093867a6d6053473a2d2014070000000006111c262f3a434d57606b727f8b939da6afa59c928b7e716b60574d443a30271c120700000000000000000000000000000000000000000000000613202c3946535f6c7986929f9f9f9f9386796d6053463a2d2013070000000000000000000000000000000000000000000f1c2835424f5b6875828e9b9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9b8e8275685b4f4235281c0f000000000000000008121b242d363e464e555d60696e74797e8285898b8d8f91919293929291908e8c8a8784807c76716c666059514b433b332921170e05000000000000000000000000030d18212c353e464e575f616c70787d8185898b8e90919192939292908f8d8b87847f7b746e69625b514b433a31281e150b000000000000000000000000000000000000000002080d14191e20262b2e2f323436383939393938373634322e2d2b26201e1a140e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e101212131212110f0d0a070604000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8787878787877a6d6154473a2e211407000000000000000000000000000000000000000714202d3a4753606d7a86939facaea399897d706353493f33271b0f030000000000000000000000000000000000000004111d2935414c5565717e8b98a9b3ac9f9285786d6053463a2d201307000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000000000007131f2c38434e5866737f8c9aa4afaca8aaac9f92867a6d6154473c32261b0f0000000000000000000000000000000000000000000000040d19222b353d464e555d60696e747a7e8285888b8d8f909192929292929291908f8d8c898683807c76706c615f574f473e362c22190d0400000000000000101d293643505c6976838f8b7f72656060606060606060606060606060606060606060606060606060606060606060606060606060606065727f8b8f8376695c504336291d1000000915202b353f474e5253535353535353534947433c342b20150a000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000071017222d38424c555f69707d87929fa5afa79e938d80736c61594f453c32281e150b0000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8acacb2adaba5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a59b8e8275685b4f4235281c0f0000000000000006101a242d363f4850585f676d737b80858b8f9298989a9c9e9e9f9f9f9e9e9d9b999795908d88837e786f6b605c554d453b332920170c0300000000000000000000010b151f2a333e474f5860696e767d84898e9298989a9d9d9e9f9f9f9e9d9c9a9795918c86817b726d605d554b433a30271d1207000000000000000000000000000000000000040c13191f252a2d31373a3b3e41434445464645454443403e3b3a37312d2a251f1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070c0f0e0c0904000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794949494877a6d6154473a2e211407000000000000000000000000000000000000000613202c3945515d677784909daab4ab9a8d8073655b5044372b1f140a000000000000000000000000000000000000010c13202c3945515d6775828e9ba8b5a89c8f8275665c5044382b1f1206000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000000000000000915222e3b4854606a7784919eaca49f9b9ea5a3998b7f7265584e43372b1c12070000000000000000000000000000000000000000000000071019232b343c434b51575f61676d7175797c7e80828384858586868585848482817f7d7a77736f6a64615a534d453e352c241a10070000000000000000101d293643505c6976838f8b7f726c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c727f8b8f8376695c504336291d1000010e1a26313d4751595e5f6060606060606055544e463c32271b0f030013202c3946535f6c7986929facada093867a6d6053473a2d2014070000050e192228333f4a545d676e7b859299a3afa89f958e81776c605a50473d332a20160c030000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000f1c2835424f5b6875818e9babb5b2a8a19e98989898989898989898989898989898989898989898989898989898988e8275685b4f4235281c0f000000000000030c18222c363f48505a616a6f7980868d92979c9fa2aaa7a9a8a7a6a6a6a7a8a9a8a6a7a09d9a94908a837c746d675e574d453b32291e150a0000000000000000000007121d27313c454f59616a6f7b828a91969b9fa2aaa7a7a5a3a2a2a3a4a5a8a7a7a09d99928e867f756d675d554b42392e23180c0300000000000000000000000000000000080e161e25293036393c4247484b4e50515253535252514f4d4b4846423c3a36302a251f170f0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314191c1b19150f090200000000000000000000000000000000000000030613131313131313130d0c0a07020000000000000000000000000003060809131313131313130b0b09050100000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e2114070000000000000000000000000000000000000004101d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b1106000000000000000000000000000000000007131d28333f4a54606d7a86929facb1a7988b7f7265544a3f34281c1003000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000004101c2834404b54626f7c8996a0a49a938e939eab9d9083776a5f5347392e23180c000000000000000000000000000000000000000000000000071119222a313940454d53555d6065666d6f71737576777879797979787877757472706d6866625f58555046423b332c231a1208000000000000000000101d293643505c6976838f8b7f79797979797979797979797979797979797979797979797979797979797979797979797979797979797979797f8b8f8376695c504336291d100004111d2a36424e59636a6c6c6c6c6c6c6c6c6260584e43372b1f13060013202c3946535f6c7986929facada093867a6d6053473a2d20140700030d17202b343d44505b666d79839197a2abaaa1969083796d655b50483e352b21180e04000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000d1a2734404d5a6773808d99a3aeada196918b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8175685b4f4235281c0f0000000000000b151e2a343e48505a626c717c848c92989fa2a9aca8a8a09e9c9a9a999a9a9b9d9fa3ababaaa69f9c95908781796e695e574d443b30261c11060000000000000000000c18242f39434d57616b707c858f949ea0a8aca8a19e9a989695959697989c9fa2aaaba39f98928b81796d675d544b4034281e150b0000000000000000000000000000020a121a202830353b4146474e5355585b5c5e5f5f5f5f5e5e5c5a5855534d4846423b363029211a120a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d202126292825201b140c0300000000000000000000000000000000060c101220202020202020201a1917130e0800000000000000000000040a0f13151620202020202020181715110c06000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e21140700000000000000000000000000000000000000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000000000000000000000000000000071118242f3844505b66717e8b98a2aeaca095887b6e6155483b2e23170b00000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000006131f2c3845515c6674818d9aa89f9388828e9baaa095887c6f62544a4034281c10040000000000000000000000000000000000000000000000000710181f282f353b42464c5154545c60626567686a6b6c6c6c6c6c6c6b6a69676563605d5655534e49443e36312a211a110800000000000000000000101d293643505c6976838f918b86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868b918f8376695c504336291d100006121f2c3845525e6a757979797979797979766a6054473b2e2215080013202c3946535f6c7986929facada093867a6d6053473a2d201407010b151f29333d46505a606c78828f95a0a9aba29891847a6e675c53493f362d23190f0600000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000815212e3b4854616e7b86929faaab9e91847f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7d7063564a3d3023170a000000000007121d27303c46505a626c717e8691969fa2aaaba39f9b9796918f8e8d8d8d8d8f9092999a9ea1a9aba79f9a938d837b6e695e564c42382e23170c040000000000000004101d2935404b555f69707d8692979fa6aca69f9c96918e8b898988898a8c8f92989ea1a8aaa29f938f83796d665c51453d30271c1207000000000000000000000000020b141c242c323a41464d5254575f626567696b6c6c6c6c6b6a696765615f5754524d46423b332c241c140a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10161b1e25292d2e333534312c251e150c0200000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2726231f19120a0200000000000000070f161b1f22232d2d2d2d2d2d2d2524211d1811090000000000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e21140700000000000000000000000000000000000000000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f0802000000000000000000000003091119232935404b55606c7884919daab3a99d908477695f53463a2d1c110600000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000000000713202d3a4653606d7985929eaa9d90837d8998a2a79a8d8074665c5144382c1f130800000000000000000000000000000000000000000000000000060d161d242931363a4145474a505355585a5c5d5e5f5f5f5f5f5f5e5d5c5a595654524c4847433c39332a261f180f080000000000000000000000101d293643505c6976828f9393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938f8376695c504336291d10000613202c3946535f6c7987868686868686867c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d20140707121d27313b454e58616c73808d949ea7afa39992867c6f685e554b41382d241b11070000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000714212d3a46535e6974818e98a2ada196887c7272727272727272727272727272727272727272727272727272727272706b6054483c2f22160900000000000c18232e39424e58616c717f8a9298a0a8aba49f99928e8a8784828180808081828486898d92979ea1a8aca49f9590847b6e685e544a3f342820150a0000000000000006131f2c3845515d676e7b869298a1a9aaa29f948f8984817e7d7c7c7c7d7f82868b91969da4aea59e958f82786d60594f42392e23180c0000000000000000000000010b141d262e363e444c52565e61666a6e717476777879797878777673716e6966615e57524d453e362e261c140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181d1f272b3035393a3f42413d3730271e1409000000000000000000000000030c151c23282c393939393939393933322f2a241c140a00000000000007101920272b2e2f3939393939393932312e29221b120900000000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e211407000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e09060400000100000406090e141a232b353d45515d67717e8a95a0acada2978b7e7265574d42362a1e0a0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000000000005111d2935414c5664707d8a97a2a9998c807885929fab9e9285796d6053463a3025190d0100000000000000000000000000000000000000000000000000040c12181f262a2f35393a3f4446494b4d4f505152525353525251514f4e4c4a4745413c3b37322d28221a140e06000000000000000000000000101d293643505c69768286868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868376695c504336291d10000613202c3946535f6c7986929393939393887c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d2014071118242f39434d57606a717e8b929ca6aea49f92877d706a5f564c43392f261b1209000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000005121e2a36424d57616e7b86929fa8a89c8f82766c6565656565656565656565656565656565656565656565656565656360594f44382c2014070000000004101c2834404b545f6a717e87939fa2aaa9a199938e86827e7a777574737373747577797c80858b91969da5afa79f9691847a6e665c50443c32261b0f04000000000004111d2935414b55606d79839098a2aaa9a198928a827c787472706f6f70717275797e848d929fa4aba79f948d80746b60544a4034281c10040000000000000000000009131d262f38404850565e61686e73777b7e81838485868685858482807e7b77736e69615e57504840382e261c13090000000000000000000000000000000000000000000000000000000000000000000000000000000000060c10151a1d24292c32383a4146474c4f4d49423930251b0f0400000000000000000000000a151e262e34384646464646464646403f3b362e261c120800000000040f19222b32383b3c464646464646463e3d3a342d241b1106000000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e211407000000000000000000000000000000000000000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312100c070e070c1013131a1f262a353d47505a606d7984919ea7b1a99f9285796d6053473b31261a0e0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000713202d3946525e6875828f9ba9a197897c75828e9baba1978a7d7064564c41362a1e1105000000000000000000000000000000000000000000000000000001070d141a1e24292c2e34383a3c3e40424344454646464645454442413f3d3a3935302e2b26201c170e0903000000000000000000000000000f1c2935424e5a66707679797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797670665a4e4235291c0f000613202c3946535f6c7986929f9f9f9f95887c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d2014101a232935404b555e696f7c86929fa4aea69d928b7f726b61584e443b31271d140a00000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000020e1a25313b46525e6973808c96a0ac9f948b7e716a5f5658585858585858585858585858585858585858585858585856544f473d33271c10040000000006131f2c3845515c666f7c869299a4aea8a0979187817b75716d6869676766676768676d7073797e848e939fa4aca8a0969083786d60584e43372b20150a00000000000613202c3945515d67737f8c95a0aaaba19792867e766f6c6565636262636465676d7279808b9399a4afa69d92897d70665c5144382c1f150a00000000000000000007101b252f38404a525a61686d747b8084888b8e8f919292929291918f8d8b8884807b746e69615a524a40382e251b0f060000000000000000000000000000000000000000000000000000000000000000000000000002090e11171c1f262b2f35393d43474c5254595c59534b42372c2015090000000000000000000006111c2630383f4453535353535353534d4b4740382e24190e020000000a16202b343d434749535353535353534b4a453f362d22180c010000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e2114070000000000000000000000000000000000000000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c181b1a1b181c1f20262b31363f474f59616c74808d96a1adada2978d8073675d5145392a1f14090000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000714212e3a4754616d7a86929fab9e928579717e8b99a3a99b8f8275685e5246392d20150a0000000000000000000000000000000000000000000000000000000003090e13191d2023282c2d2f32343537383939393939393837363432302d2c2924211f1b15100b050000000000000000000000000000000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3226190d000613202c3946535f6c7986929facaca295887c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d201418222c353e45515d676e7b859198a3aea79e948d80746d62594f463c32291f150b0200000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000009141f2a36424d57606d7984919aa4a69f92867c6e685d554b4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a48443d352b21160b0000000004111d2935414b55606d79839098a3aba9a09691857d746e6964615d565b5a5a5a5a555c6063666d7179818b939aa4afa89f958c80736a5f54473d32271b0f01000000000714212d3a4754606d7a85929fa7afa49992857c716c63605b535656555657555c60676d747f87939fa6aea49d9184796d6053463c31261b0f0300000000000000030c19222d37404a525c636c717a81868c9196989a9c9e9f9f9f9f9e9d9c9a9895918d86817b716c645c524a40372d21180e0300000000000000000000000000000000000000000000000000000000000000000001040b1014191c23282c3137394045474e54565e616668655d53493d3125190c000000000000000000000c17232e38424a505f606060606060605a58524a40362a1f13070000030f1b27323d464e545660606060606060585650483f34291d11050000000000000002050708080808080808080814212e3b4754616e7a8794a1a094877a6d6154473a2e21140808080808080808080705020000000000000000000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c282327272723282c2d31373b42465159606b717e8a929da8b1a79f92857a6d61554b4035291d10040000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000006121e2b37424d5765727f8b99a3ab9b8e81756d7a86929fac9f92867a6d6154473c32271b0f00000000000000000000000000000000000000000000000000000000000001080d1113171c1f20222527292a2b2c2c2c2c2c2c2b2a2927262321201d1915120f0a0400000000000000000000000000000000000a16212d38424c545a5c60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605c5a544c42382d21160a000613202c3946535f6c7986929facaca295887c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d2016202a343e47515b606d79839097a1aaa9a0958f82786d605b51473d342a20170d030000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000030e1a25303b45515d67707d88939fa6a29891847a6d675c544b423f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3d3c38332b231a0f05000000000613202c3945515d67737f8c95a0aaada19791847b706b615e5754524c4e4d4d4d4e4b5153545c60676d747f88939fa5afa79f92877c6f62584e43372b1d120700000005111e2a36424d5766727f8c97a2adaa9f93877d706a615a5350494a4949494a4b51555c606d73808c949fabaca0958b7e7164584e43372b1f1206000000000000000a151e2b343f49525c646e737e858d92999da0a8a9a29f9d9c9b9c9d9fa2aaa7a09d99928e857e736e645c52493f332a1f14090000000000000000000000000000000000000000000000000000000000000001080d11161c1f252a2e34383c42474b5153586062686d72756f65594d4134281b0e00000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c66635c52473b2f23170a000006131f2b38434e5860626c6c6c6c6c6c6c65625a50453a2e211509000000000002090e121415151515151515151515212e3b4754616e7a8794a1a094877a6d6154473a2e211515151515151515151514120e09020000000000000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa4aeaaa0958b7f72685e5243392f24180d010000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000000000814212e3a47535f697683909daba3998a7e716875828f9caba3998c7f7265584e43372b1d1207000000000000000000000000000000000000000000000000000000000000000104060c10121316181a1c1d1e1f1f20201f1f1e1e1c1b19171413110d0806030000000000000000000000000000000000000005101c26313a42494e505353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353504e49423a31261c1005000613202c3946535f6c7986929f9f9f9f95887c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d201e28323c464f59636d75818e959fa9aaa1979083796d665c50493f352c22180e05000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000009141f2935404b55606b73808d949fa8a0968f82796d665c544b433a323232323232323232323232323232323232302f2c27211a110800000000000714212d3a4754606d7a85929fa7b0a69e92857b6e696059524d47464141404040414045464b51555d606d727f8b939ea9afa3998f82766a605447392f24180c0000000714202d3a46525e697784909da9a8a2988d80746b60585046443f3d3c3c3d3e40454b515b606d7882909ca6b0a89d9083776a5f53473a2e21150600000000000006111c26303d46515b646e74808a92979fa3a9a19e999792908f8f8f909298989d9fa7a39f97928a80736e635b51453b31261a0e0400000000000000000000000000000000000000000000000000000000040a0f13191d20272c3036383f44464e53555d60656a6f747a7f8175685c4f4235291c0f00000000000000000006121f2c3844505c667679797979797979736e63584b3f3226190c00000815222e3b4754606a6f79797979797979716c62564a3d3124170b00000000050d141a1e2021212121212121212121212e3b4754616e7a8794a1a094877a6d6154473a2e2121212121212121212121201e1a140d05000000000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d494644404141414141404546494d53575f616d727d869298a2aeaca2989083786c60564c4131281d1207000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000000030f1b27333f4953626e7b88959fac9f92867a6d64717e8b99a3ab9d9083776a605447392e23180c0000000000000000000000000000000000000000000000000000000000000000000000030607090b0d0f101112131313131212110f0e0c0a0707040100000000000000000000000000000000000000000000000a151f2831383e4243464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464643423e3831281f150a00000613202c3946535f6c7986929393939393887c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d2026303a444e58616b727f8c939ea7aca29891857b6e675d544a3f372d231a100600000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000020c18242f39434f59606d78829096a0a89f948f82786d665d554c443b332b2525252525252525252525252525252322201c160f08000000000006131f2b37434e5866727f8c97a2adaa9e948a7d70695f574f46423b3935303433342e34383a40454b515b626d74818e97a1adab9e94897c6f62554b4035291d100400000814212e3b4754616e7b8795989a9b9c92857a6d61594f463e37332d2f2f302e34394045505c666f7c88949fabaca095887b6f6255483c2d22170b0000000000000c17232e38424f59626d74808d929ea1a9a39f97918c8885838282838385888b90959ea1a8a29f928d80736d62574d42362a20160a0000000000000000000000000000000000000000000000000001070c10151b1e24292c33383b42464a5053575f62676d71777c81868c83776a5d5144372a1e110000000000000000000713202d3a4653606d78868686868686868073665a4d4033271a0d00000916232f3c4956626f7c868686868686867e7165584b3e3225180b000000050f171f252a2d2e2e2e2e2e2e2e2e2e2e2e2e3b4754616e7a8794a1a094877a6d6154473a2e2e2e2e2e2e2e2e2e2e2e2e2d2a251f170f0500000000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa49a92867c6f665b50443a301f160c01000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000005121f2b3744505b6573808d99a7ac9c8f837668606d7a86929faca095887c6f62554b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f262d32353639393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393635322d261f160d0300000613202c3946535f6c7987868686868686867c6f6255493c2f2216090013202c3946535f6c7986929facada093867a6d6053473a2d232e38424c565f6a707d87939fa5afa49a92867c6f695e554b42382e251b11080000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000007121d27313d44505c666d7a849197a1a69e948f81786d675d564d453d3528231c141919191919191919191919171614100b050000000000000815222e3b4754606a7884919ea9b1a79c8f82756c61574d453d36302d292427272723282c2e343a4145515b606d7a85929eaab0a69b8e8275675d5145392c1f130600000b1825323e4b5865717e888a8b8d8e908e8174685e52473d342b272223222323282f343f4a545f6a76828f9cacb1a7998c7f736653493f33271b0f030000000003101c28343f4a54606b727f8c929ca4aaa299928c84807b787675757677797b7f838a91969fa6a49c928b7f72695f53463d32271b0f030000000000000000000000000000000000000000000003090e12181c1f262b2f35393d44484d52545c60646a6e74797e83898e929084776a5d5144372a1e110000000000000000000713202d3a4653606d798693939393938d8073665a4d4033271a0d00000916232f3c4956626f7c8993939393938b7e7165584b3e3225180b0000020d17212930363a3b3b3b3b3b3b3b3b3b3b3b3b3b4754616e7a8794a1a094877a6d6154473b3b3b3b3b3b3b3b3b3b3b3b3b3a36302921170d020000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5a5b545c606266696e747b828b9299a2aaaea39f93887e706a5f544a3f32291e0d0400000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000000000613202d394653606c7884919eaba49a8b7f72655d6875828f9caaa79a8d8074675c5145382c1f14080000000000000000000000000000000000020507080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b0906010000000000000000040d151c212629292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292926211c150d0400000006121f2c3845525e6a757979797979797979766a6054473b2e2215080013202c3946535f6c7986929facada093867a6d6053473a2d28343f4a545e686f7c869299a4afa59f93887e706a60574d433a30261c1309000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000010b151f28343f4a545e686e7b859298a2a69e938f82796d685f574f473e342e261e160d0c0c0c0c0c0c0c0c0c0a09070400000000000000000916222f3c4955626f7c8896a1acaca095897c6f625a50453b332a25201d191a1a1a181c1f23282f353f45515d67727f8b98a2aeac9f9286796d6053473a2d20140600000714212d3a4754606d797c7d7f808183847d7063564c41352b221b17161616181d232e38424e5864717d8a9aa4afa99c8f8276655b5044372b1f12050000000006121f2c3844505c666f7c87929fa4aba29892878079736f6a6a696869656c6e72777d848f949fa6a49f92867b6e61584e43382b1f13060000000000000000000000000000000000000000060b0f141a1d23292c32373a4145474f54565e61666d71767b80858b90959b9d9084776a5d5144372a1e110000000000000000000713202d3a4653606d7986939f9f9f998d8073665a4d4033271a0d00000916232f3c4956626f7c89959f9f9f988b7e7165584b3e3225180b000009141f29333b4246484848484848484848484848484854616e7a8794a1a094877a6d6154484848484848484848484848484846423b33291f140900000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39f918c7f726c61584e42382d20170d0000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000004101d2935404b5563707d8996a1ac9f93877b6e615664717e8a98a2ab9e9285796d6053463b3025190e02000000000000000000000000000003090e12141519191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191816120d070000000000000000030a1016191c1d20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201d1c1916100a030000000004111d2a36424e59636a6c6c6c6c6c6c6c6c6260584e43372b1f13060013202c3946535f6c7986929facada093867a6d6053473a2d353d44505c666d7a849198a2aba69d938c7f726c61584e453b31281e140a01000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000030d17232e38424c565f696f7c869299a3a59e948f827a6e69605950443f38302820180f07000000000000000000000000000000000000000d1a2633404d596673808c99a8b2aa9d9083776a6054483e332a211a14110d080d070c1013181d242935414c55606d7985929fabaea2988a7d7164574a3e2e23170b00000613202c3945515d676d6f707273757678706b6054443a30231a0f0b0609070c121c26303c4754616d7a86939facab9f9285796c605346392d20130600000003101c28343f4a54606d78839099a3afa39992867d736d67625f585c5c535b6061656c707a828f949fa9a2988f82766a6054473b2e221508000000000000000000000000000000000002080d11171c1f262a2f34383c43474c5254596063696e73797d82888d92979da0a79d9084776a5d5144372a1e110000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2aca4988b7e7165584b3e3225180b00020e1a25303b454d52545454545454545454545454545454616e7a8794a1a094877a6d61545454545454545454545454545454524d453b30251a0e020000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6aea8a199928b7f736d635a50463c2f261c0e050000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000006131f2c3945515d6774818e9ba8ab9c908376695e53606d7a86929faca2978a7d7164564d41362a1e110500000000000000000000000000060d141a1e2122262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262525221e181109010000000000000000050a0d0f101313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313100f0d0a05000000000000010e1a26313d4751595e5f6060606060606055544e463c32271b0f030013202c3946535f6c7986929facada093867a6d6053473f383d47515b606d78828f96a0aaa89f948e81746d635a50463c33291f160c0200000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000006111c26303a444d57606a707d879298a2a69e9490847b6f6b625a504a423a322a21191106000000000000000000000000000000000005111e2a36424d576976838f9ca9b5ab998c7f7366584e43362c21180f0905010000000004070c1319242f3a45515d6774818e9aa7b4aa9b8e817468544a3f34281c10030004111d2935414c555d606264656768696b6360594f4432291e110800000000010a14202d3946525e687784919daaaea298877a6e6154473b2e21140800000006121f2c3844505c66727f8b95a0aba89f92877d706b605d55534e4f4f495053555a61686d79829097a1a49f94897c6f6256493c2f231609000000000000000000000000000001040a0f13191c22282b3136394045474e53565d60656b70757b80848a8f949a9fa2a7a09d979083776a5d5144372a1e110000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0005121e2a36424d575e616161616161616161616161616161616e7a8794a1a094877a6d616161616161616161616161616161615e574d42362a1e120500000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808181828486898c90959a9fa3ababa49f9691877e736d635b51473e342a1d140a000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000714202d3a4753606d7985929faba3998b7f726557515d6775818e9ba9a99c8f8275685e5246392d20160a000000000000000000000000060f181f262a2d2e3232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232312e29231b13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202b353f474e5253535353535353534947433c342b20150a000013202c3946535f6c7986929facada093867a6d6059504a42454f59626d74808d949fa8a9a0968f82786d605b51483e342b21170d040000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000a151e29323c454e58616b707d869298a2a69f9691857d716c605c544c443c332b2317110a020000000000000000000000000000000714202d3a46525e697885929eabafa399897c6f6256493d32231a0f060000000000000000000108131e2935404b5564707d8a97a9b3aa9d908377665c5044382b1f120600010d19242f3a434c51545557585a5b5d5e56544f473d3320170d00000000000005111d2a36414c566875828e9ba8b3aa95897c6f6256493c2f2316090000000713202d3a4653606d7984919ea7ada1968d80736b6059514b474342423f44464850565d676d7a85929b9993908c8275685c4f4235291c0f02000000000000000000000001070d11161b1e252a2d33383b42464b5153585f62686d72777d82868c91969c9fa6a39f9b95908b857f7366594c403326190d0000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000714202d3a46525e696e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e7a8794a1a094877a6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e695e52463a2d2014070000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8d8e8f919298999d9fa7acaca69f99938d847d716c635b51493f352c22180b02000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000005111e2a36414d5664717e8a98a2ac9f92867a6e61544b5563707d8a97a1ac9f92867b6e6154473d32271b0f0100000000000000000000030d18212931363a3b3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3e3a342d251b110700000000000000000000000000000000000000000000000000000000050a0d0f101313131313130f0f0d0904000000000000000000000000000000000000000000000000000000000000040f19242d353d424546464646464646463c3b37322b22190f04000013202c3946535f6c7986929facaea194887b706b605b544c4d57606b727f8b929da6aba19791847a6d665c51493f362c22190f05000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000030c17202a333d464f59616b707d869298a1a8a09792877e746d665d564d453d3527221b140b0300000000000000000000000000000814212e3b4754616e7b8797a2adac9f92867a6d6053473a2d2014070000000000000000000000010d18242f3b4754616e7a8797a1adac9f9286796d6053463a2d201307000008131e28313a414547494a4c4d4e50514948443d352b210e05000000000000010d192530414e5b6774818e9aa7b0a3968a7d7063574a3d3024170a000004101d2935404b5564717d8a96a1acaa9e9184796d60594f45403937312d3337393e444c555e68717e8b8e8a86837f7c6f6255483c2f22150900000000000000000000040a0f13181d20272c3036383f44464d53555c60646a6f747a7f84898f92999ea1a9a19e99928e89837e79736d63574b3e3225180c0000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000815212e3b4854616e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7c8995a2a295887c7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b6e6154483b2e211508000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3aaaaababa39f9b948f878079706b625a514940372e231a100600000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000714202d3946525e6876828f9caaab9c8f8276685e524653606d7985929eaba3998c7f7266584e43372b1d12070000000000000000000009141f29333b4246484c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a463f372d23180d0100000000000000000000000000000000000000000000000000030a11161a1c1d2020202020201c1b1915100902000000000000000000000000000000000000000000000000000000000008121b242b31363839393939393939392f2e2b272019100700000013202c3946535f6c7986929facb8ab9e92857d736c665e56555f69707d87929fa4aea39992857b6e685d544a40372e241a100700000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000050e18212b343e474f59616b707d8691969fa7a199928b80786d685f574f473f332d261d150c03000000000000000000000000000916232f3c4956626f7c8995a9b3aa9e918477675d5145382c1f13060000000000000000000000000714202d3946525e687885919eabaea398887b6e6255483b2f2215080000010c161f282f35393a3c3d3f404243453d3b38332b23190f0000000000000000081a2733404d5a6673808d99a6b0a4978a7d7164574a3e3124170b00000613202c3945515d6775828f9ba8aea3988b7e71675d51473d352f2b2622272b2d323a434c56606d7883817e7a76736f6a5f53473b2e2115080000000000000000070c10151b1d24292c32383a41464a5053575f61676d71767c81868b91959b9fa3a69f9c96918c86817c77716d67635b51463b2f22160a0000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00121f2b3845525e6b788487878787878787878787878787878787898e99a4a4988e888787878787878787878787878787878784786b5e5245382b1f120000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a29e9b99928e88827c746d676059504840372e251c11080000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000814212e3b4754616e7b86929faca3998b7e7165564c44515c6674818d9aa8ab9d9184776a605447392f23180c000000000000000000020e1a26313b454d535559595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959585651493f34291e1206000000000000000000000000000000000000000000000000040d151c2226292a2d2d2d2d2d2d292825211b140c03000000000000000000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d22221f1b150f070000000013202c3946535f6c7986929facb9ada197928780786d68605d676e7b859299a3aea49f92877d6f695f564c42392e251c12080000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000060f19222c353e474f59606b6f7c8490959ea5a39f928d827a6e69605950443f382f271e150d040000000000000000000000000a1723303d4a5663707d8996a3b0a99c90837669554b4035291d100400000000000000000000000005111e2a36414c566a7683909da9b4aa96897c6f6356493c30231609000000040d161e24292c2d2f313234353638302f2c272119110700000000000000000d1a2633404d596673808c99a6b1a4978a7e7164574b3e3124180b00000714202d3a4753606d7a86929facac9f92867a6d60554b403529241d1a171b1f2028313a44515c666d7775716d6866625f584e43372b1f1206000000000000030b12181c1f262b2f35393d43484c52545b6063696e73797e83888e92989da0a8a29f9a94908a847f7a756f6b65605d55514940352a1e12060000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00121f2b3845525e6b7885919494949494949494949494949494949599a0aaaaa098959494949494949494949494949494949184786b5e5245382b1f1200000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817c766f6a605d554f473e362e251c130a000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000006131f2b37434e5865727f8c99a3ac9f92867a6d615447404a54636f7c8996a1aca095897c6f62554b4034291c1004000000000000000005121e2a36424d575f616565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565625b51463a2e2216090000000000000000000000000000000000000000000000030d161f272d3235363939393939393635312c261e150c020000000000000000000000000000000000000000000000000000000000080f151a1d1f20202020202020201615130f0a04000000000013202c3946535f6c7986929facb9b3a9a199938c827a6f6a656d79839097a1aba59c928b7e716b60574d443a30271c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000007101a232c353e474f59606a6f7a838f939fa4a49d948f847b706b625a5049413930271f160d0400000000000000000000000b1724313e4a5764717d8a97a4b0a89b8f8275685c4f422f24180c00000000000000000000000000010d192530424f5c6875828f9ba8b0a3968a7d7063574a3d3024170a00000000040c13191d202122242527282a2b252423211c170d0801000000000000000e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b00000a1723303d4a5663707d8998a3aea89b8e8275675d51433a2f23181d1d1d1d1d161f2834404a545c606a6864615e5655534e463c32261b0f030000000000030c151c23282c31373a4045474f54565e61666c70767b80858b90959a9fa2a8a09e98928e88837e79736e6863605953514b4340372e23190d020000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00121f2b3845525e6b7885919ea1a1a1a1a1a1a1a1a1a1a1a1a1a1a2a4aab2b2aaa4a2a1a1a1a1a1a1a1a1a1a1a1a1a1a19e9185786b5e5245382b1f120000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817e7a746f6a626058514b433d352d241c130a01000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000000000815212e3b47535f6a7783909dabaa9c8f8275685e5246394653606c7884919eaba89a8d8174675c5145382c1f140900000000000000000714212d3a46535f696e72727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272726d62564a3e3125180b00000000000000000000000000000000000000000000000a151f2831383e424346464646464642413d3730271e140900000000000000000000000000000000000000000000000000000000000004090e11121313131313131313090806030000000000000013202c3946535f6c7986929facb9bab2aba49f948f847c726c77818f95a0a9a79e938c80736c61594f453c32281e150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000008111a232c353d474f585f686e79818c939aa2a69f9691857d716c605b534a423931281f160d04000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8275685b4f4235281c070000000000000000000000000000081b2835414e5b6874818e9ba7b0a4978a7d7164574a3e3124170b000000000008121a22282d303132323232323231302d282219130c04000000000006121e2b37424d576875828f9ba8b4aa96897d7063564a3d3023170a00000d1a2733404d5a6673808d99aab4aa978b7e7164554c4131282a2a2a2a2a2a2a2a2a232e39424a51535d5b5754524c4847433c342a20150a0000000000000b151e272e34383c43474b5153596063686d72787d82878d92979d9fa7a49f9c96918b86817c76716d66615e56544f47454039312e251c1207000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00121f2b3845525e6b7885919e9f9f9f9f9f9f9f9f9f9f9f9f9f9fa1a3a8b0b0a8a3a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9e9185786b5e5245382b1f12000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868585848382807d7b7975716d68625f58544e45403a312b231b120a0100000000000000000000000b1825313e4b5864717e8b97a4aca89b8e8175685b4e4235281b0f08040000000000000000000003050e1b2734414e5a6774818d9aa7aca4978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000003101c28343f4a54626f7c8895a0aca3988b7e7164564c413744505b6573808d9aa7ab9f9285796d6053473b30251a0e02000000000000000815222e3b4855616e7b7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7265584c3f3225190c0000000000000000000000000000000000000000000005111c27313a434a4e505353535353534f4d49423930261b1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9b2a8a09da09f9691877f76808c939ea7a89f958e81776c605a50473d332a20160c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000008111a232b353d464e565e676d7780889298a0a8a09792877e736c655c544b433a31281f160c030000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2834414e5b6774818e9aa7b1a4978b7e7164584b3e3125180b0000000005101a242c33393c3e3f3f3f3f3f3f3e3c393329241e16100c0709060b1117232d3a47535f697884919eabaea398887b6e6155483b2e2215080004101c2834404b546976828f9ca9aea398887b6f6255483c2f3737373737373737373737373039404446514e4b4746413c3b37322a261f180f060000000007121c2730394044464e53555d60656b6f757a7f848a8f939a9ea1a9a29e99938f89847f7a746f6a64605c54524c48433d39352f271f1c130a00000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00121f2b3845525e6b78849193939393939393939393939393939394979ea8a89e97949393939393939393939393939393939185786b5e5245382b1f12000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433d352f281f191109000000000000000000000000000b1825313e4b5864717e8b979f9f9f9b8e8175685b4e4235281b1614100b05000000000000060b0f12131b2734414e5a6774818d9a9f9f9f978b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000000000006121f2b3844505c6673808d9aa7ac9f92867a6d6054473a333f4953626f7c8895a0aca2978a7e7164574d42362a1e1205000000000000000a1724303d4a5763707d8a8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c86796c5f5346392c2013000000000000000000000000000000000000000000000a16222d38434c545a5d6060606060605c5a544c42372c2115090000000000000000000000000000000000000000000000000000000105090b0b13131313070604000000000000000000000000000013202c3946535f6c7986929facb9aca0969196a0a199928c838c929ca5aaa1969083796d655b50483e352b21180e040000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000081119232b343c444d555d656c737e8691969fa6a299928b80776d665d554b433a31281e150a0000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000b17222c363e44494a4b4b4b4b4b4b4a49453e352f281f1c18171616171b222935404b55616e7b8896a1acac9f9286796d6053463a2d2013070006131f2c3845515c667884919eabac9f9286796d6053464444444444444444444444444444444444444444444444444444443b3a36312a21180e030000000c18232e39424a5153585f62676d72777c81868c91969c9fa4a7a09d97928d87827d78726d68625f5853504a46413b38322c29241d150d0a0100000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00121f2b3845525e6b788486868686868686868686868686868686878c97a3a3978c878686868686868686868686868686868684786b5e5245382b1f12000000000000000000000000000000080e171f2f3a454f575c5e60605f545c60626567686a6b6b6c6c6c6b6a6a68666462605c5454524c47433c383229241d160d0700000000000000000000000000000b1825313e4b5864717e8b93939393938e8175685b4e42352b2423201c170e09030000020a11171b1f20252c34414e5a6774818d93939393938b7e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000000000713202d3a4653606d7985919eabaa9b8f8275675d5145392d3847535f6a7784909daaa99c8f8276695e52463a2d20160a000000000000000a1724303d4a5763707d8a96989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989286796c5f5346392c2013000000000000000000000000000000000000000000010d1a26323e4a545e66696c6c6c6c6c6c69655e54493d3125190d0000000000000000000000000000000000000000000000000000060c111517182020201f1413100c0701000000000000000000000013202c3946535f6c7986929facb7aa9d91849196a0a39f9490949ca4aba29891847a6d675c53493f362d23190f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000071019222a323b434b535b606c707c848f949da4a39f928d81786d675d554b433a30261c110600000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000004101c28333e4850555758585858585857555045413a312c282323222322282d333d45515d67727f8c99a8b2a99d908376665c5144382c1f1206000713202d3a4653606d7986939facaa9d908477665c50505050505050505050505050505050505050505050505050505050504846423b332a1f1409000004101c2834404a545c60646a6f747a7e83898e92999ea1a8a39f9b95908b85807b75706c65605d56534e46443f3836302c271f1d18120b03000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00111e2a3743505c687278797979797979797979797979797979797a8794a1a094877a797979797979797979797979797979797872685c5043372a1e11000000000000000000000000000000000f1b2834404c5761686b6c6c6c605c5455585a5c5d5e5f5f565d6065696b6c6b6965605c554e463c37312b272018130c040000000000000000000000000000000b1825313e4b5864717e868686868686868175685b4e42393831302d28221a140c07070b141b22272b2d323939414e5a677480868686868686867e7164584b3e3125180b000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f06060403010000000000000203060e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000000004111d2935414c5563707d8a97a1ada2988a7e7164554c41352b37434e5866737f8c99a7ac9f93877b6e6154483d32271b0f010000000000000a1724303d4a5763707d8a969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9286796c5f5346392c2013000000000000000000000000000000000000000000030f1c2935424e5a6670767979797979797570655a4d4135281b0f020000000000000000000000000000000000000000000000000911181d2124252d2d2d2c201f1c18120b030000000000000000000013202c3946535f6c7986929facaea194877b849196a1a69f9c9fa6afa39992867c6f685e554b41382d241b110700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000071018202931394149505a616a6f7a828d929fa4a49c938e82796d675d554b42382e23171006000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000814212d3944505a616465656565656564615a514c433e38342e302f302d33383f44505a606d7985929eabb1a7998c807366544a4034281c1004000815212e3b4854616e7b879aa4afa99c90837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d55534d453b31261a0e020006121f2c3844515c666d71767c81858b90959b9fa3a8a19e99928e89837e79736e6963605b53524c47433c38342e2a251e1b16100c070100000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000f1b2834404b5660686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6e7a8794a1a094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6860564b4034281b0f00000000000000000000000000000005111e2a3744505c6873787979796d665c504b4d4f4c52565e61686d727678797876726d675f584e463c30261c160d0701000000000000000000000000000000000a1724303d4956626c7179797979797979756f65594d4646453d3c39332a261f181212181d262d3337393e4546464c58646e7479797979797979716c6256493d3024170a000b1825313e4b5864717e8b97a4aca89b8e8175685b4e4235281b13131311100e0a050005090d0f1013131b2734414e5a6774818d9aa7aca4978b7e7164584b3e3125180b0000000000000613202c3945515d6775818e9ba9ac9f92867a6d6053473a2f26323c4855616e7b88959faba4998c7f7266594f43382c1d12070000000000000a1724303d4a5763707d8a93939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939286796c5f5346392c201300000000000000000000000000000000000000000003101d2a3643505d6976828686868686868275695c4f4236291c0f03000000000000000000000000000000000000000000000009121b22292e3132393939392d2c29231d150d0300000000000000000013202c3946535f6c7986929facada09386797b849197a1a9a9abb0a89f92877d706a5f564c43392f261b12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000060e171f282f383f4450585f686d78808b9399a3a59e948f82796d675d544a3f342822180b020000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000a1623303c4955616c71727272727272716c605d554f4645403e3d3c3c3d3f44495059616c73808d97a1adab9f95887c6f6255483c2e23180c00000916232f3c4956626f7c8995acb6a89c8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615f574d42362a1e1205000713202d3a4653606d787e83888d92989da0a7a69f9c96918c86817c77716d67615f5753504945413a37312c28231c19140f0a0400000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000b17232f3a454e565c5e6060606060606060606060606060616e7a8794a1a094877a6d6160606060606060606060606060605e5c564e453a2f23170b00000000000000000000000000000005121f2b3845525e6b7885868686786d60534a4c51565e61686d737a7f82858685837f796f6a5f584e42382e23170b0000000000000000000000000000000000000815212d3945505a62646c6c6c6c6c6c6c68655d53535353514a49443e363129231d1d23282f383f44464b52535353535c64676c6c6c6c6c6c6c64625a5045392d211508000b1825313e4b5864717e8b979f9f9f9b8e8175685b4e423528202020201d1d1a16110b1015191c1c2020202734414e5a6774818d9a9f9f9f978b7e7164584b3e3125180b0000000000000714212d3a4754606d7a86929facaa9b8e8175675d5145392c212d3a46535f697683909dabab9e9184776b605448392f24180c0000000000000a1724303d4a5763707d8686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5346392c201300000000000000000000000000000000000000000003101d2a3643505d69768390939393938f8275695c4f4236291c0f030000000000000000000000000000000000000000000006111b242d343a3d3e464646463a38342f271f150b01000000000000000013202c3946535f6c7986929facada093867a6e7b859197a1a9b3aca1968b7f726b60584e443a31271d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000050d161d262d333e464e565d666d747f879298a2a69e949082796d665c50443f342a1d140a0000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000b1724313e4a5764717e7e7e7e7e7e7e7d756d67615953514b4b4a49494a4a50535b606b707e88939fa9b0a69d9083766a5f53473b2e1c120700000a1623303d495663707c8996a3afa89b8e8177777777777777777777777777777777777777777777777777777777777777776e695f53463a2d21140700101d293643505c6976828a90949a9fa2aaa29f9a948f8a847f7a756f6a64605d55534d46443f38352f2b261f1c17110e0802000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0007121e28333c454b50525353535353535353535353535354616e7a8794a1a094877a6d61545353535353535353535353535352504b453c33281e120700000000000000000000000000000003101d2a3643505d6976839098897c6f635a56555d60686d737a80858b8f9192928f8b847c6f6a5f544a3f34281c1003000000000000000000000000000000000005111d29343e48505658606060606060605b595e606060605e57555046423b342f27272e343c41495053585f6060605f5c585a60606060606060585650483e34291d1105000b1825313e4b5864717e8b93939393938e8175685b4e42352d2d2d2d2d2a2926221c151b212528292d2d2d2d34414e5a6774818d93939393938b7e7164584b3e3125180b000000000005121e2a36424d5765717e8b98a2aea2988a7d7064554b4035291e2a36424d5765727f8b99a3aca096897c6f63554b4035291d100400000000000916232f3c4855616b707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746a5e5145382b1f1200000000000000000000000000000000000000000003101d2a3643505d697683909c9f9f9c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000010c18222d363f454a4b535353524745403931271d1207000000000000000013202c3946535f6c7986929facada093867a6d6f7c859297a2aaab9e91847a6d675c554b423930261e140b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000040b141b2227343c444c545c606d727e869298a2a69f958f82786d605a50463c2f261c110600000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000003101d2a3643505d6976838b8b8b8b8b8b8a817a706b64605c545756555657545b60656c727d86929aa4afaa9f948a7d7064584e43372b1f0b0000000a1724303d4a5763707d8a96a3b0ab9e928583838383838383838383838383838383838383838383838383838383838383837b6e6155483b2e22150800101d2a3743505d6a7683909c9fa6a8a09d98928d88837d78736d6862605853514b46423b37332d29241e1b15100c06000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00010c17212a333a4043454646464646464646464646464754616e7a8794a1a094877a6d6154474646464646464646464646464543403a332a21170c01000000000000000000000000000000010e1b2834414e5b6774818e9a8e81756c656364676d737a80868d92989c9e9f9e9c9691857c6f665c5044382b1f13080000000000000000000000000000000000000c17222d363e45494b5353535353535359636b6c6c6c6c6b64615a534d45403931303940454d535b60656c6c6c6c6b686157535353535353534b49453e362d22170c00000b1825313e4b5864717e868686868686868175685b4e423939393939393736322d271f262c3235363939393939414e5a677480868686868686867e7164584b3e3125180b00000000000714212d3a46535e697683909caaab9f9285796d6053463a2f241a26313b4754616d7a86929faca89a8e8174675d5145392c1f140900000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a62584d4135291d100000000000000000000000000407090a0b0b0b0b0b0b101d2a3643505d697683909ca9a89c8f8275695c4f4236291c0f0b0b0b0b0b0b0a09070400000000000000000000000005111d29343f485056586060605f53514b43392f23180c000000000000000013202c3946535f6c7986929facada093867a6d6a6f7c859298a2aaa1968f82796d675c544a423830261d140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117222a323a424a505b626c717d869298a2a79f948e81746d62584e42382d22170b00000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000030f1c2936424f5c6975828f9898989898938e847d76706d6666646362636465666c71787f879298a2acaca2988f82766c6155463c32261b0f0000000a1724313d4a5764707d8a97a3b0ada1979290909090909090909090909090909090909090909090909090909090909090887b6e6255483b2f22150800101d2a3743505d6a7683909da9a49c96918b85817c76716d66615e56544e4745403936312b27221b19130f0a030000000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000050f1821282f34373839393939393939393939393b4754616e7a8794a1a094877a6d6154473a39393939393939393939393837342f2821180f0500000000000000000000000000000000000c1825323f4b5865727e8b98938b7f75717071747a80858d92989fa2aaa4a3a5a8a1979083786d6053463a2f24190d01000000000000000000000000000000000006111b242d34393d3e464646464646525e6b757979797978706c615f57514b433e3d424b51575f656c71787979797873685c504646464646463e3d39342d241b110600000a1724303d4956626c7179797979797979756f65594d3b46464646464644423e39312930383d41434646464646464c58646e7479797979797979716c6256493d3024170a00000000000815212e3b4854616e7b87939faca99b8e8174675c5145382c1d14202d3946525e6876828f9caaab9f9285796d6053473b31251a0e00000000000714212d3a46535f696e72727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272726d62564a3e3125180b00000000000000000000040b10131616171717171717171d2a3643505d697683909ca9a89c8f8275695c4f4236291c17171717171717161613100b05000000000000000000000915212e3a45505a62656c6c6c6c605c554b4034291c10040000000000000013202c3946535f6c7986929facada093867a6d606a6f7d869298a3a89f948f82796d665c544a42382f261d140b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000061018202830383f44515a616b707d869299a4a69d938b7e716a5f544a3f33281d1207000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000020e1b2835414e5b6874818e9ba5a5a5a59e96918a837d79767271706f6f707275787d838b9299a2aaafa49a92867b6e61594f44342a20150a0000000a1724313d4a5764707d8a97a3b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94887b6e6155483b2e22150800101d2a3743505d6a7683909da99c928d847f7a746f6a64605c54524c48433d38352f2a261f1b17110d080100000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000060f171e23282a2b2d2d2d2d2d2d2d2d2d2d2e3b4754616e7a8794a1a094877a6d6154473a2e2d2d2d2d2d2d2d2d2d2d2b2a28231e170f060000000000000000000000000000000000000815222f3b4855626e7b88959b918b827e7d7e81858c92989fa2a29f9a9796989c9f9f958a7d7164554c4135291d110400000000000000000000000000000000000009121b22292d303139393939394653606c7987868686847d756e69605c554f46454f545c60696e777e8586868685786b5f5245393939393931302d29221b12090000000815212d3945505a62646c6c6c6c6c6c6c68655d534648535353535353504f4a433b313a42494e4f53535353535348535c64676c6c6c6c6c6c6c64625a5045392d2115080000000007131f2c38434e5866737f8c9aa4ada2978a7d7063554b4034281c111d2a36414c5664717e8b98a2aea2988b7e7164574d42362a1b1106000000000815222e3b4855616e7b7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7265584c3f3225190c000000000000000000070f161b20222324242424242424242a3643505d697683909ca9a89c8f8275695c4f42362924242424242424242322201c160f070000000000000000000b1724313d4a56626c71797979796d675c5145382c1f13060000000000000013202c3946535f6c7986929facada093867a6d60606a707d869299a3a69f948f82786d665c544a42382f261d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e161e262e343f485059606b707e87939fa6a59f92867c6f665b5044392e23180c000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000010e1a2734414d5a6774808d9aa7b1b4aea8a19e94908a85827f7e7d7c7c7d7f82858a90959fa3ababa39f93887e71695f53473e3322180e040000000a1723303d4a5663707d8996a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa9aaaaaaaaaa94877a6e6154473b2e21140800101d2a3743505d6a7683909da69a8d8079726d68625f5853504a46413b38322c29241d1a150f0b0600000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000000050c12171b1e1f202020202020202020212e3b4754616e7a8794a1a094877a6d6154473a2e212020202020202020201f1e1b17120c05000000000000000000000000000000000000000814212e3a47535f6a7784919d9b948f8b898a8d92989fa2a29f98928d8a898b90949c9c8f8276675d5145392c201306000000000000000000000000000000000000000911171d2124252d2d2d2d313e4b5864717e889396918a827b736d67615953525960666d737b828b929792877e7064574a3d312d2d2d2d2524211d1711090000000005111d29343e48505658606060606060605b59534d535f6060606060605d5b554d4339424c545a5c6060606060605f5353585a60606060606060585650483e34291d1105000000000915222e3b4854606a7784919eacab9e9285796d6053463a2e23180d1925303a4754606d7a86929facaa9c8f8276695e5346382d22170b000000000a1724303d4a5763707d8a8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c86796c5f5346392c2013000000000000000007111921272c2f303131313131313131313643505d697683909ca9a89c8f8275695c4f4236313131313131313131302f2c272119110700000000000000000b1825323e4b5865717e86868686796d6053473a2d20140a0000000000000013202c3946535f6c7986929facada093867a6d6058606b707d879299a3a69e948f81786d665c544a41382f261b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000010000040607080707050100040c141c2328363e474f59616c727f8c949faaa3989083786c60554b4034281c10040000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000d1a2633404d596673808c99a6b4aaa29f9a9f9f9c98928f8c8a8988898a8b8e92979da0a7aea8a199928b7f726c61574d42352c21100600000000091623303c4956636f7c8996a2afb0a69f9c9393939393939393939393939393939393939393939393939c9ea6b0aea398877a6d6054473a2d21140700101d2a3743505d6a7683909da99c928d847f7a746f6a64605c54524d48443d39352f2b261f1c17110d080200000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000001070b0f1112131313131313131314212e3b4754616e7a8794a1a094877a6d6154473a2e2114131313131313131312110f0b0701000000000000000000000000000000000000000006121e2b37424e5765727e8b95a09e9c9896979a9fa2a39f98928c85817e7d7e838c929f92867a6d6054473a2d2114070000000000000000000000000000000000000000060c1115171820202024303d4956626c717f8b919e948f868079706b615f5d606b6f797f868f949f93887e716c6155493c3023202020181715110c060000000000000c17222d363e45494b535353535353534e4d4d575e6c6c6c6c6c6c6c6a665f554a3e49545e66696c6c6c6c6c6c6c5e574d4e535353535353534b49453e362d22170c0000000004101c2834404b54626f7c8996a0aca99a8e8174665c5144382c1d120813202c3945515d6775818e9ba9ac9f93877b6e6153493f33271b0f030000000a1724303d4a5763707d8a96989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989286796c5f5346392c201300000000000000040f19232b32383b3d3e3e3e3e3e3e3e3e3e3e43505d697683909ca9a89c8f8275695c4f423e3e3e3e3e3e3e3e3e3e3d3b38332b23190f05000000000000000a1723303d4a5663707d8993988a7d7063574a3d31261b0f0300000000000013202c3946535f6c7986929facada093867a6d605359616b717e87929aa4a69e938e81786d665b534941382d2217140a01000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000020608080e070c101313151413110d0802020a1117242c353d47505a606c77828f98a2aa9f958b7e71675c5145382c1f14080000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000c1926323f4c5965727f8c98a5aea298928d939aa0a29f9c999796959697989b9ea1a9acaba39f9691877f726d625a50453c31231a1000000000000815222f3b4855626e7b8895a9b3ab9f948f8686868686868686868686868686868686868686868686868f949eaaac9f928579675d5145392c20130600101d2a3743505d6a7683909da9a49c96918b86817c76716d66615e56544f4745403937312b28221c19130f0a040000000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000020405060606060606060814212e3b4754616e7a8794a1a094877a6d6154473a2e211407060606060606060504020000000000000000000000000000000000000000000000020e1a26313c4653606c78839097a1a8a4a3a4aaa29f98928d86807a74717072767f8c94998a7d7063574a3d3024170a0000000000000000000000000000000000000000000005080a0b131315212d3945505a626d727f8b919c98928c847d756e69686d747c838c92989c918b7f726c625a5044392d201413130b0a0805000000000000000006111b242d34393d3e464646464646464246535e69767979797979797771665b4f424e5a66707679797979797976695e5346464646464646463e3d39342d241b11060000000006131f2c3845515c6674818d9aa8ada197897d7063544a4034281c0b04111d2935414b5564707d8a97a2ada49a8c7f73655b5044372b1f13070000000a1724303d4a5763707d8a969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9286796c5f5346392c2013000000000000000b16212b353d4448494a4a4a4a4a4a4a4a4a4a4a505d697683909ca9a89c8f8275695c4f4a4a4a4a4a4a4a4a4a4a4a4948443d352b21160b000000000000000815222f3b4855626e7b88959a8d817467584e43372b1f120600000000000013202c3946535f6c7986929facada093867a6d60534f59616c717e88939fa3a59e938e81786c655b53493f3327261c130a010000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000003090e1214151a1c181c1f202121201d19130c050006121a232b353e44505b656e7b86929faaa79e9184796d6053463b3025190d0100000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000b1825313e4b5864717e8b97a4ab9f9286818890959b9fa3aba4a3a2a2a3a5a8a9a7a8a19e99928d847d716d625b51483e332a1f110800000000000714212d3a4754606d7a8797a2ada99c8f82797979797979797979797979797979797979797979797979828f9ca9ab9e9184786b554b4135291d110400101d2a3743505d6a7683909c9fa6a8a09d98928d88837e79736e6863605953514b47423c38332d2a251e1b15100c07010000000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000009151f2b3844505b666f7c8591969c9f9f9e9c98928d86807a736d686463656d76828f998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000605111d29343e48505a626d727f8c929c9f96918a827b73717a818891959f9d928c7f736d625a50483e33281c1004060000000000000000000000000009121b22292d3031393939393939393b4854616e7b86868686868683776a5d50444f5c6976828686868686867b6e6154483b39393939393931302d29221b120900000000000713202d3a4653606d7985929eabab9e9185796d6053463a2e23180c010d18242f3a4653606d7985929fabac9e9184786c6053463a2f24180d0100000a1724303d4a5763707d8a93939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939286796c5f5346392c201300000000000004101b27323d474f54565757575757575757575757575d697683909ca9a89c8f8275695c57575757575757575757575756544f473d33271c10040000000000000714202d3a4753606d7a86979e9184786a5f53473a2e21150800000000000013202c3946535f6c7986929facada093867a6d605347505a616c727f8b919ba4a59e938e81776c655b504440382e261c130a0100000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000000000060e151a1e2122272823282c2d2e2e2d2a251e160e05000811192327333f49535e69737f8c98a2ada1968b7e7164564c41362a1e110500000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000a1724313d4a5764707d8a97a3ac9f9286797c83898e9299999c9d9e9f9f9f9e9d9b9896918c86807a706b625a51493f362c21180e0000000000000613202c3945515d677885929eabaa9d9184776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c667784919eaaa99c8f8376695c50432f24180d0100101c2936434f5c6976828a8f949a9fa2a9a29f9a94908a84807b756f6b65605d55534d46443f3836302b271f1c18120e0903000000000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545f6a6f7c848c909292918f8b86807b746e68605d56565b64707d8a998f8275685c4f4235291c0f020000000000000000000000000000000000000000000000000000000c17222d363f48515b636d737f8c929ca09e948f867f7d848d939aa09d938d80736d635b51483e362c22170b000000000000000000000000000000000911171d2124252d2d2d2d2d2d2e3b4854616e7b87939393939083776a5d50444f5c6976828f93939393877b6e6154483b2e2d2d2d2d2d2524211d171109000000000005111d2935414c5664707d8a97a2ada89a8d8074665c5044382b1c12070007131f2c3845515c6674818e9aa8aca096897c7063554b4035291d110400000a1724303d4a5763707d8686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5346392c20130000000000000713202c38444f59606364646464646464646464646464697683909ca9a89c8f827569646464646464646464646464646360594f44382c20130700000000000006131f2c3945515d677885929e96887b6f6255483c3025190d01000000000013202c3946535f6c7986929facada093867a6d60534748505a626d727f8c929ca4a59d938e80776c605c524a40382e251c130a01000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000000060f181f262b2d2e34352e34383a3b3a3936302820160c0200071117222d38414d57606d7a86929faca89c908376685e5246392d20140700000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000a1623303d495663707c8996a3afa399867a6f787d82868a8c8f909192929291908e8b8884807b736d68605950483f372d241a0f0600000000000004111d2935414c55697683909ca9ab9f928578695f606060606060606060606060606060606060606d7986929faca79a8d8174675a4e4134271b0700000713202d3a4653606d787d82888d92979da0a7a69f9c97918c86817c77726d67625f5753504a46413a37322c29231d1a140f0b0600000000000000000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000b17222d38424e585f6a6f797f83858684827f7a736e69615e56524c4a54606d7987868683776a5e5144372b1e110400000000000000000000000000000000000000000000000000000006101b242d363f49515b636d73808d929da49e98928c8a91969fa49e938e81746e645b51493f362d241a10050000000000000000000000000000000000060c111517182020202020212e3b4854616e7b87949f9f9d9083776a5d50444f5c6976828f9c9f9f94877b6e6154483b2e2120202020181715110c060000000000000713202d3946525e6875828f9ba9ada196897c6f63544a3f34281c0b000004101c2834404b5463707c8996a1ada89b8e8174675d5145392c20140900000916232f3c4855616b707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746a5e5145382b1f120000000000000916222f3b4854606b7071717171717171717171717171717683909ca9a89c8f82757171717171717171717171717171706b6054483b2f22160900000000000004101d2935404b556a7783909d998c7f7266564c41362a1d1105000000000013202c3946535f6c7986929facada093867a6d6053473e48515b626d737f8c929ca4a59d938d80746e645c524a40372e251c1309010000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000030e18212a31373a3b414243404546484746413a32281e1308000006111b262f3b45525d6875828e9ba8ac9f93877a6e6154473b2e21140800000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000916222f3c4955626f7c8895a2b5ab94877b6e6c70757a7d808284848586858583817f7c78736e68605d564f473f362d251b120800000000000000010d19242f414d5a6774808d9aabaea298887b6e61555353535353535353535353535353535355626f7c8899a3afa9988b7e7265584b3f3225180c000006121f2c3844505c666d71767b80858b90959b9fa3a9a19e99928e89837e79746e6964605b54524c47433d38342f2a251f1b17110d080100000000000000000000000000000713202d3a4653606d798693a0aca69a8d8073675a4d4034271a0700000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000006111c262f3c464e585f676d727678797876726d68615e56524c454145515d67757979797771675b4f43362a1d10040000000000000000000000000000000000000000000000000000000009121b242d373f49525b636e74808d929da5a39f99979ea1a69e948e81786c605c524940372d241b1108000000000000000000000000000000000000000005080a0b1313131315212e3b4854616e7b8794a1aa9d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e21151313130b0a080500000000000000000714212e3a4754616d7a86929facab9e9184786c605346392e23170b0000000c18232e394653606c7884919eabac9f92857a6d6053473b31261a0e02000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a62584d4135291d100000000000000a1623303d495663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e83919daaaa9d90837e7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d706356493d3023160a000000000000000c18242f424f5c6875828f9b9c908376685e5246392d201307000000000013202c3946535f6c7986929facada093867a6d6053473a3f49515b636d73808d929da5a59d928d80746e635c524940372e251b13090000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d2013070000000000000000000000000000000000000000000009151f2a333c4247484d4f504b51535454524c443a3025190d0100000a141d2935414c5664717e8b97a4afa49a8a7e7164574b3e3124180b00000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000815212e3b4854616e7b8794abb5a295887b6f6263686d7073767778797978787674726f6a66615e56524c433d352d241b1309000000000000000000081724313e4a5764717d8a99a3afaa988b7e7165574d42464646464646464646464646424d5765727f8c98abada297887b6f6255483c2f221509000003101c28343f4a545c60646a6e74797e83898e92989ea0a8a39f9b95908b85807b76706c66615e56544e4745403936312b27221b19130c04000000000000000000000000000713202d3a4653606d798693a0aca79a8e8174675b4e412e23180c00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000a141d2a343c464e555d6065696c6c6b6965615e56524d46413b35414b555d6b6c6c6c6a675f564b3f33271b0e02000000000000000000000000000000000000000000000000000000000009121b252d374049525c646e74808d939da59f9f9f9fa79f948f82786d665b504a40372e251b1209000000000000000000000000000000000000000000000000000606060815212e3b4854616e7b8794a1a99d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e2115080606000000000000000000000006121e2b37424d5765727f8b99a3aea89a8d8073655b5044372b1c110600000007121f2b3844505b6673808d9aa8aea2988b7e7164574d42362a1e12050004101c28333e474f5557606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5e5850473c3125190d000000000003101d2a3643505d6976838a8a8a8a8a8a8a8a8a8a8a8a8a8a8a9195a0acab9f95908a8a8a8a8a8a8a8a8a8a8a8a8a8a8a83776a5d5044372a1d1104000000000000071a2734414d5a6774808d9a9f93867a6d6154473a2e23180c000000000013202c3946535f6c7986929facada093867a6d6053473a373f49525b636e74808d939da5a49d928d80736e635b51493f372d251b120900000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaca09386796d6053463a2d201307000000000000000000000000000000000000000000020e1a26313c454d53555a5b5c555c6061615e564c41362a1d11050000020b19242f3c4955626f7c8895a2b6ac998d8073665a4d4033271a0d00000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000714212d3a4754606d7a8799a4afa296897c6f63565d606366696a6b6c6c6c6b6a6865625f5854524d45413a312b231b1209010000000000000000000714212e3a4754616d7a86929faca89b8e8275695e53463d313939393939393939303946525e6976828f9ca9ab9e9285786c605346392d2013060000000c17232e38424a5053575f62676d71777c81868c91969c9fa4a7a09d97928d87827d78726d6862605853514b46423b37332d29241e160d0a0100000000000000000000000713202d3a4653606d798693a0aca89b8f827568544b4034281c1004000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a87949f9f94877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000020b18222a343c434b5154595d5f5f5e5c5854524c46423b36302f3a434b515e6060605e5b564d44392e22170b0000000000000000000000000000000000000000000000000000000000000009131c252e37404a525c606c77818e93939393939393959082796d665c544a3f382e251c130900000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87949c9c9c9083776a5d50444f5c6976828f9c9c9c94877b6e6154483b2e211508000000000000000000000000000814212e3a47535f697683909d9f9fa096897c6f6253493f33271b0a00000000030f1c28333f4a54626f7c8895a09faa9c908376695f53463a2d21140700000b16212c353e44484a5353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353514d473e352a1f1409000000000003101d2a3643505d6976839097979797979797979797979797979da0a8b1b1a79f9d97979797979797979797979797979083776a5d5044372a1d11040000000000000c1926323f4c5965727f8c98a4998b7e7164544a4034281c10040000000013202c3946535f6c7986929facada093867a6d6053473a2d374049525c606c77818e939ea6a49c928c80736d635b51493f372d241b1209000000000000000000000000000000000000000000000000010101010101010101010613202c3946535f6c7986929facaca09386796d6053463a2d20130701010101010101010101000000000000000000000006121e2b37424d575f616768696a676d6e6d685e5246392d2013080000000814212e3b4754616e7a8794a1ada89b8e8175685b4e4235281b0f02000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0000000613202d394653606c7986939faca3968a7d706357525457595c5d5e5f5f5f5e5d5b5855534e4746413b352f281f19110900000000000000000000000713202d3946525d6876828f9ca9ac9f92867b6e61584e433b322c292424292c3139424d57616e7b86929faca89b8e8174655b5044372b1f120500000006111c2630383f44464e53555d60656a6f747a7f848a8f93999ea1a9a29f9a938f8a847f7a746f6a64605c55534d46443f38352f28201c140a00000000000000000000000713202d3a4653606d798693a0aca99d908376665c5145382c1f130700091623303c4956636f7c8996a2afa4988b7e7165584b3e3225180b0000000000000000000000000000000000000814212e3b4754616e7a8792929292877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000061018222a313a4145474c50525352504c4746413a36302a2528313a414547535353514f4b443b32281d110600000000000000000000000000000000000000000000000000000000000000010a131c252e384044505b656c7881868686868686868683796d675d544a42382d261c130a0100000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b878f8f8f8f8f83776a5d50444f5c6976828f8f8f8f8f877b6e6154483b2e211508000000000000000000000000000815222f3b4855626e7b8895939393939184776a605441382d22170b00000000000b17222d3847545f6a7784919393939394887b6e6155483b2e221508000005101a232c33383c3d464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464645413c352c23190e03000000000003101d2a3643505d697683909c9f9f9f9f9f9f9f9f9f9f9f9f9fa9abb0b8b8b0aaa89f9f9f9f9f9f9f9f9f9f9f9f9f9d9083776a5d5044372a1d11040000000000000b1724313e4a5764717d8a97ab9b8e8275665c5144382c1f12060000000013202c3946535f6c7986929facada093867a6d6053473a2d2e374044505b656d78818e949ea6a49c928c7f736d635b51493f362d241b120900000000000000000000000000000000000000010406070d0d0d0d0d0d0d0d0d0d0d13202c3946535f6c7986929facaca09386796d6053463a2d20130d0d0d0d0d0d0d0d0d0d0d07060400000000000000000814212d3a47535f696e7475767778797b7a6d6154473a2f24190d0100000714202d3a4753606d7a8693a0ada89c8f8275695c4f4236291c0f03000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000005121f2b3744505b657885929faba4978b7e7164584b474a4d4f515152535252504e4c4947433c39363029241e160d0700000000000000000000000005111d2935414c5664717e8b96a1ada3998d80746a60564d443e39352f2f35383c434b545e6973808d99a3aca096897d706353493f33271b0f03000000000a151e262e34383c42474b5153586062686d72787d82878d92979c9fa6a49f9c96918c86817c76716d67615e5753504945413a322e261c1207000000000000000000000713202d3a4653606d798693a0acac9f9286796d6053463a2e23180d060a1723303d4a5663707d8996a3b0a4978b7e7164584b3e3125180b0000000000000000000000000000000000000814212e3b4754616e7a8786868686877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000000610181f282f35393a3f43454645433f3a3936302a251f191f282f35393a46464644433f39322920160b000000000000000000000000000000000000000000000000000000000000000000010a131c2627333f49535b666c757979797979797979776d675d554b42392f261c140a010000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8283838383828074675a4e414d5a6673808283838383827a6e6154473b2e211408000000000000000000000000000d1a2733404d5a66738086868686868686807366584e432f261b1106000000000006111c2b37434e5866737f86868686868686807366594d4033261a0d00000008111a21282c2f3039393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393835312a231a110700000000000003101d2a3643505d6976839093939393939393939393939393939c9fa6b0b0a69e9c93939393939393939393939393939083776a5d5044372a1d11040000000000000916232f3c4956626f7c8995ab9f9285796d6053463a2d2013090000000013202c3946535f6c7986929facada093867a6d6053473a2d2027333f49535c666d78828f949fa6a49c918c7f726d625b51483f362d241b12080000000000000000000000000000000001070d1113141a1a1a1a1a1a1a1a1a1a1a1a202c3946535f6c7986929facaca09386796d6053463a2d201a1a1a1a1a1a1a1a1a1a1a1a1313100c070000000000000815222e3b4855616e7b80828384858687807367554c4135291d120c070a0a15212e3b4854616e7b8794a1aea89c8f8275695c4f4236291c0f03000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000030f1b27333f495e6b7884919eaba5988b7f7265584c3f3d404344454646454543413f3c3b37322d2a251f19130c0400000000000000000000000000010d1924303a4653606d7984919ea7ab9f92877c6f685e564f47454141414045474e555c666e7b86929faba89e9184786c605346392d22170b0000000000030c151c23282c3137394045474e54565e61666c70757b80858a90949a9fa2a8a19e98928e89837e79736e6963605b53524c4440382e24190e020000000000000000000713202d3a4653606d798693a0acaea398897c6f62544b4034281f1612101824313e4b5764717e8a97a4b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000714202d3946525e687579797979797975685e5246392d201307000000000000000000000000000000000000000000000000000000000000000000000000000000060d161d24292c2d323639393836322e2d2a251e19140d161d24292c2d3939393736332e2820170e0400000000000000000000000000000000000000000000000000000000000000000000010a1417222d38414a545b60686c6c6c6c6c6c6c6c6a605d554c433930271d140a02000000000000000000000000000000000000000000000000000000000000000714202d3946525e686e767676767676746e64584c404b58636e737676767676766e685e5246392d201407000000000000000000000000000c1926323f4b57636e7379797979797979736e6358463d321d140a000000000000000f1b26323c4b57636d7379797979797979736e63574b3f3226190c000000000810161c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f1911080000000000000003101d2a3643505d69768286868686868686868686868686868690949fabaa9e948f86868686868686868686868686868683776a5d5044372a1d11040000000000000814212e3b4754616e7a8799a3a297897c706356493d31261a0e0200000013202c3946535f6c7986929facada093867a6d6053473a2d20222d38414a545c666d79828f949fa7a49c918c7f726d625b51483f362c241a12080000000000000000000000000000040c13181d2021272727272727272727272727272c3946535f6c7986929facaca09386796d6053463a2d27272727272727272727272727201f1c18120b03000000000915222f3c4855626f7b888e8f9192978f8276675d5145392f241d181616141b222f3c4955626f7c8895a2afa89b8e8275685b4f4235281c0f02000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000b17222d44505d6a7783909daaa6998c7f7366594c403333363738393939383735322f2e2b26201e19140d080b09050100000000000000000000000008131f2c3845515c67727f8b95a0aba39991847a6e68615954514c4e4e4b5153575f676d78839098a2aca0968b7f72665b5044382b1b1106000000000000030a11171c1f262b2f35393d43474c52545b6063696e73797e83888e92989da0a7a39f9b95908b85807b75706c65605d56524a40352a1f13070000000000000000000713202d3a4653606d798693a0acb4aa998d8073665c51453b3128201f1c1e26323f4c5965727f8c98a5b0a3968a7d7063574a3d3024170a00000000000000000000000000000000000005111e2a36414c565e616c6c6c6c6c6c615e564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000040c13181d2021262a2c2c2b292521201d19130e09040c13181d20212d2d2d2b2a27221d160e050000000000000000000000000000000000000000000000000000000000000000000000000006111b262f38424a50535b60606060606060605d54514c433a31271e150b02000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6169696969696967645c52473c47525c6366696969696969615e564c41362a1e1105000000000000000000000000000a17232f3b47525c63666c6c6c6c6c6c6c66635c5247342b200b02000000000000000a15202f3b46515b63666c6c6c6c6c6c6c66635c52473b2f23170a0000000000050b1014161720202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1d19140e070000000000000000030f1c2935424e5a66707679797979797979797979797979797982909ca9a89c8f827979797979797979797979797979797771665b4f4236291d10030000000000000613202d394653606c7986929fa99a8d807367574d42372b1e120600000013202c3946535f6c7986929facada093867a6d6053473a2d201b262f38424a545c676d798290959fa7a39b918b7f726d625a50483e362c241a1108000000000000000000000000040d161d24292c2d34343434343434343434343434343946535f6c7986929facaca09386796d6053463a34343434343434343434343434342d2c28231d150c030000000713202d3a4653606d7985929c9d9f9f92867a6d60554b40352f2923232324262d36424d5765717e8b98a4b1a69a8d8073675a4d4034271a0d01000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000061d293643505c6976838f9ca9a69a8d8073675a4d403427292a2b2c2c2c2b2a282522211f1b1919191919181715110c06000000000000000000000004101c2834404b55606d78839099a3aba09690837a706b64605d555b5b555d60636a6e79818e959faaa49a9184796d60544a3f33281c0a000000000000000000060c10151a1d24292c32383a41464a5053575e61666d71767c81868b91959b9fa3a79f9d97928d87827d78726d68635c52473b2f23170a0000000000000000000713202d3a4653606d798693a0acb8ab9e9285796d60574d433a322d2c282a2d36424d576774818e9aa7b3a995897c6f6256493c2f231609000000000000000000000000000000000000010d1925303b444c52545f5f5f5f5f5f54524c443a3025190d01000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d111314191d1f201f1d191413110d0802000001070d1113142020201e1d1b17110b040000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f44464e5353535353535353504745413a31281f150c03000000000000000000000000000000000000000000000000000000000000000000010d1925303b444c52545c5c5c5c5c5c5a58524a4136404a52585a5c5c5c5c5c5c54524c443b3025190d010000000000000000000000000007131f2a35404a52575a606060606060605a58524a403522190f000000000000000004121e2a354049515759606060606060605957524a40352a1f1307000000000000000407090a131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131312100d0903000000000000000000010d1a26323e4a545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c76838f9ca9a89c8f82756c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0e0100000000000005121f2b3744505b657784919eaa9d918477695f53473a2d21140800000013202c3946535f6c7986929facada093867a6d6053473a2d20141d263039424b555d676d79839095a0a8a39f93887f726c625a50483e362c231a110800000000000000000000010c161f282f35393a40404040404040404040404040404046535f6c7986929facaca09386796d6053464040404040404040404040404040403a38342e271e150b00000006121f2c3844515c6676828f9caaaba2988b7e72675d51454039342f3030312f383f46525e6975818e9ba8b3a9988b7e7265584b3f3225180c00000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000020f1c2935424f5c6875828f9ba8a79a8e8174675b4e413428252525252525252525252525252525252525252524211d17110900000000000000000000000c18232e3944515c666f7c87929fa4a8a09590847d76716d6769676869676d70757b838e939ea7a59f93887d70665c5142382d22170b000000000000000000000003090e12181d1f272b3036383f44464d53545c60646a6f747a7f84898e92999ea1a8a19e99938f89847f7a736e63574b3f3226190c0000000000000000000713202d3a4653606d798693a0acb9ada1978b7e71695e554c443e3a3834363a3d46535e697784909daaada297877a6e6154473b2e2114080000000000000000000000000000000000000008141e29323b4146475353535353534746413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070c10121312100c070705010000000000000104060713131311100e0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333839424646464646464646443a39352f281f160d03000000000000000000000000000000000000000000000000000000000000000000000008141e29323b4146475050505050504e4c4741382f3840474b4d5050505050504746413b32291e14080000000000000000000000000000020e19242e3840474b4d535353535353534d4b4740382e2410070000000000000000020d19232e3740464b4c535353535353534d4b4740372e24190e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222d38434c545a5d606060606060606060606060606976838f9ca9a89c8f827569606060606060606060606060605d5b554d43392d22160a00000000000000030f1b27333f49536976838f9ca9a096887b6e6155483b2f24190d01000013202c3946535f6c7986929facada093867a6d6053473a2d2014141e273039434b555d676d7a839096a0a8a49a93887e716c615a50483e352c231a110800000000000000000007131d28313a4145474d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d535f6c7986929facaca09386796d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4645403930271d1207000004101c2834404a5465727e8b98a2aeaa9e9184796d605b514b45403e3d3d3d3f4149505b616e7b86929facada197887c6f6255493c2f22160900000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000020e1b2835414e5b6874818e9ba7a89b8f8275685c4f4235323232323232323232323232323232323232323232312e29221b12090000000000000000000007121d2834404a54606a727f8c929ca4a7a096918a827d7a7775747475767a7d818790959ea5a59e938d80736b60544b402f261c11060000000000000000000000000001070c10161b1e252a2d33383b42464b5153585f62676d72777c82868c91969c9fa4a49f9c96918b868073665a4d4033271a0d0000000000000000000713202d3a4653606d798693a0acb1a7a09d92857b6e675d56504846443f4246474f58616e7b8795a0acab9f928578685e5246392d20140700000000000000000000000000000000000000020d1720293036393b4646464646463a3935302820160c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d353939393939393939372d2c29241e160d04000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b43434343434341403c362f262e353b3f404343434343433b3936302920170d0200000000000000000000000000000007121c262e353b3f4046464646464646403f3b352e261c120000000000000000000007121c252e353b3e4046464646464646403f3b352e251c12070000000000000000000000000000000000000000000000000000000000000000000004090d0f101313131313130e0d0b0803000000000000000000000000000000000000000000000000000000030f1b26323c464e53555656565656565656565656565c6976828f9ca9a89c8f8275695c56565656565656565656565655544e463c32271b0f0300000000000000000b17222d414e5b6874818e9ba7a8988c7f7265554c4135291d1104000013202c3946535f6c7986929facada093867a6d6053473a2d20140c151e273039434c555d686e7a849196a1a9a49a93877e716c615a50473e352c231a110700000000000000010d18242f3a434b51545a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5f6c7986929facaca09386796d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a53514b42392e23180c0000000c18232e3a4754616d7a86929fa9aca1968d80746d605d55514b4a49494a4b4f535b606d74818e98a3aeab9e9285796d6053463a2d20130700000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000010d1a2734404d5a6773808d9aa6a99c8f8376695c50433f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3e3d3a342d241b1106000000000000000000000c18232e39424e58626d73808c929ea1a8a19e948f8a8683828181828386898e93999fa7a39f938f81786d60594f42392e1d140a0000000000000000000000000000000000040a0f13191c22282b3136394045464e53555d60656b70757b7f848a8f939a9fa2a8a09e989083776a5d5144372a1e110000000000000000000713202d3a4653606d798693a0acaca09590959082796d68615a5553504a4d525459606a74808d9aa7b1a99c8f827669564d41362a1e11050000000000000000000000000000000000000000050e171e252a2d2e3939393939392e2d29251e160e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030607090b0d0f1111121313121211100f0d0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282d2d2d2d2d2d2d2d2a21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3636363636363433302b241d242a2f32333636363636362e2d2a251e170e0500000000000000000000000000000000000a141c242a2f32333939393939393933322f2a241c140a00000000000000000000000a131c232a2f32333939393939393933322f2a241c130a000000000000000000000000000000000000000000000000000000000000000000020a1015191b1c2020202020201b1a17140e08010000000000000000000000000000000000000000000000000006131f2b37434e585f62636363636363636363636363636976828f9ca9a89c8f827569636363636363636363636363636260584e43372b1f13060000000000000000061a2633404d596673808c99a6a99c8f8276675d5145392c201306000013202c3946535f6c7986929facada093867a6d6053473a2d2014070c151e27313a434c565e686e7b849196a1a9a49992877e716c61594f473e352b23190f0400000000000004111d2935414b555d606767676767676767676767676767676767676c7986929facaca09386796d676767676767676767676767676767676767605c544b4034281c100400000713202d3946525e6874808d97a2ada89d928c7f746d67605c5557565657585960656c727f8b939daaafa4998d8074665c5044382b1f120600000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000d192633404c5966737f8c99a6aa9d9083776a5d504c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4b4a453f362d22170c0100000000000000000007121c27303d46515b646e73808a92979fa3a69f9c9992908f8e8e8f9092989b9fa4a69f99928c81786d665c50473d30271d0b020000000000000000000000000000000000000002080d11171c1f252a2e34383c43474c5154596063686e73797d82878d92979da0a79d9084776a5d5144372a1e110000000000000000000713202d3a4653606d798693a0acaa9d9084909490827a716c6562605c54565e61646b707c87929facb0a6998c7f7266594c3f3025190e02000000000000000000000000000000000000000000050d14191e20212c2c2c2c2c2c21201d19130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104060b10121315171a1c1d1e1f1f201f1f1e1d1b19171514120e09060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b20202020202020201d1413110d080100000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e20212929292929292726241f1a13191f23262729292929292921201e19140d05000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2726231f19120a020000000000000000000000010a12191e2325262d2d2d2d2d2d2d2626231f19120a010000000000000000000000000000000000000000000000000000000000000000040c141b212528292d2d2d2d2d2d2726241f1a130b020000000000000000000000000000000000000000000000000815212e3b47535f6a6f707070707070707070707070707075828f9ca8a89c8f827570707070707070707070707070706f6a6054473b2e22150800000000000000000b1825323e4b5865717e8b98a4ac9f92867a6d6054473a2d22170b000013202c3946535f6c7986929facada093867a6d6053473a2d201407030c151f28313a444c565e696e7b849197a1a9a39992877e706c61594f473d352b21160b0000000000000613202c3945515d676d737373737373737373737373737373737373737986929facaca0938678737373737373737373737373737373737373736d665c5145382c1f1306000005111d2935414c56616d7a85929fa5aea49b918c8079716d67656463636465686b70787f87929fa5afa89f93877b6e61544a3f34281c100300000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000c1925323f4c5865727f8b98a5aa9e9184776b5e5858585858585858585858585858585858585858585858585650483f34291d1105000000000000000000000b151e2b343f49525c646e737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a29f9b948f877f776d665c544a3f352c1e150b0000000000000000000000000000000000000000000000060b0f141a1d23282c32373a4145474f54565e61666d70767b80858b90959b9d9084776a5d5144372a1e110000000000000000000713202d3a4653606d798693a0aca396897d85929490847d76726e6d666b6b696e71757d859299a3afab9f94887b6e6155483b2e221508000000000000000000000000000000000000000000000002080d1114142020202020201413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d1113171c1f20222426292a2b2b2c2c2c2b2b2a28262422211e1a1312100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f131313131313131311070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114141d1d1d1d1d1d1b1a17140e080e1317191a1d1d1d1d1d1d1414110d0802000000000000000000000000000000000000000000070e1317191a202020202020201a1917130e08000000000000000000000000000000070d12161919202020202020201a1917130e07000000000000000000000000000000000000000000000000000000000000000000020c161e262c3135363939393939393433302b241d140b0100000000000000000000000000000000000000000000000916222f3c4955626f7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d82909ca9a99d90837d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c6f6255493c2f22160900000000000000000a1723303d4a5663707d8996a3aea3998a7d7164544a3f33281c0f030013202c3946535f6c7986929facaca093867a6d6053473a2d20140700030d161f28323b444d575f696e7c859297a2aaa39992877e706b61594f473d32271b100400000000000714212d3a4754606d79808080808080808080808080808080808080808087929facb3a69a8d8080808080808080808080808080808080808080796d6053463a2d2013070000010d1925303a46525e68717e8b939da5ada39b928d847e797572717070707274777d828c9299a3afaaa1968e8174695f5342382e23170b0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000b1825313e4b5864717e8b97a4ab9f9285786565656565656565656565656565656565656565656565656565625a50453a2e21150900000000000000000000030c19222d37404a525c636c717a81868d9196989b9c9e9f9f9f9f9e9d9b9997928e89827c736c655c544b42382e231a0c030000000000000000000000000000000000000000000000000003090e12181c1f262b2f35393d44484d52545c6064696e74797e83898e929084776a5d5144372a1e110000000000000000000714202d3a4753606d7a8693a0ada194887b7e8b9296918a837f7b79787778797a7d82889297a1abafa4998f8276695f53473a2d211408000000000000000000000000000000000000000000000000000105070813131313131307070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13181d2023282b2d2f3133353737383939393837373533312e2d2a26201f1c17110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507081010101010100e0d0b08030002070a0c0d1010101010100807050100000000000000000000000000000000000000000000000002070a0c0d131313131313130d0c0a0702000000000000000000000000000000000002060a0c0d131313131313130d0c0a0702000000000000000000000000000000000000000000000000000000000000000000000a141e2830383d414346464646464641403c362f261d13080000000000000000000000000000000000000000000003101d2a3643505d69768289898989898989898989898989898990949fabab9f959089898989898989898989898989898983776a5d5044372a1d1104000000000000000815222f3b4855626e7b8895a99f9f9b8e8174665b5044382b1f12060013202c3946535f6c7986929f9f9f9f93867a6d6053473a2d2014070000040d162029323b454d575f6a6f7c859298a29fa39992877d706b60594f44382c20130700000000000814212e3b4754616e7a878d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d9299a3afb5a89d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d867a6d6053473a2d20140700000008131e2a36414c56626c74818e939da4aea49d96918b85827f7d7c7c7d7e8184898f949fa3abaaa29891847a6d60574d4230261c11060000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000a1724313d4a5764707d8a97a3ac9f93867872727272727272727272727272727272727272727272727272716c62564a3d3124170b000000000000000000000007101b252e38404a525a61686d747b8084888b8e90919292929291908e8c8985817c766f6a605b534b423930261c11080000000000000000000000000000000000000000000000000000000000070c10151b1e24292c32383b41464a5053575f62676d71777c81868c83776a5d5144372a1e110000000000000000000714212d3a4754606d7a8793a0ada194877b74818e949e95908c888685848585878a8f939aa1a9afa59f93877c6f62574d42372b1e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f151a1d24292c2e34383a3c3e404244444546464545444342403d3b3a36312d2c28231c19130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100f0d0b08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101b26303a42494e4f5353535353534e4c4741382f241a0e0300000000000000000000000000000000000000000003101d2a3643505d6976839096969696969696969696969696969c9fa6b0b1a79f9d96969696969696969696969696969083776a5d5044372a1d1104000000000000000714202d3a4753606d7a8697939393939285796c605346392d2013060013202c3946535f6c7986929393939393867a6d6053473a2d201407000000040e172029333b454e585f6a6f7c8692989393939992867d706b6054483b2f22160900000000000814212e3b4754616e7a87949a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9fa3abb5b9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a93867a6d6053473a2d201407000000020d1925303a44505a606d78818d929fa2aaa8a09e97928f8c8a89898a8b8e91969c9fa6ada7a09892867c6f685d52453c311e140a000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b00000000091623303c4956636f7c8996a2afa4998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7e7165584b3e3225180b00000000000000000000000009131c262e38404850565e61696e73787c7e818384858686858583817f7c79746f6a625f585049413930271e150a0000000000000000000000000000000000000000000000000000000000000000040a0f13191d20272c3036383f44464d53555d60656a6f747a7f8175685b4f4235281c0f0000000000000000000714212e3a4754616d7a8794a0b4ab94877a6d78828f939f9d989a939291919298979b9fa4acaba39f938d80736a6054453c31261a0e020000000000000004080c0e0f0c07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c151b20262b2f35393a3f4446484a4d4f5051525253525251504e4c4a4846423d3a38342e29251e19140d050000000000000000000000000000000000000000000000000000000000000000000000000004070c10121316191b1d1e1f1f201f1f1e1d1b19171414110e0806030000000000000000000000000000000000000000000000000004090e1112131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130b0a08040000000000000000000000000004080a0b1313131313131313131313131313131311100e0b06000000000000000000000005090d0f101313100f0d090500000000000000000000000000000000000000000000000000000000000000000000000000000915212c38424c545a5c6060606060605a58524a41362b1f140800000000000000000000000000000000000000000003101d2a3643505d697683909c9f9f9f9f9f9f9f9f9f9fa3a3a3a9abb0b9b9b1aba9a3a3a39f9f9f9f9f9f9f9f9f9f9d9083776a5d5044372a1d11040000000000000006131f2c3945515d677885868686868686867c6f6256493c2f2316090013202c3946535f6c798786868686868686796d6053473a2d20140700000000050e172129333c464e58606a707d8686868686868686867c706356493d3023160a00000000000814212e3b4754616e7a8794a1a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6acafb5acacacaea8a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a093867a6d6053473a2d2014070000000008131e29323f44505c666d78808b92989fa3aba9a29e9b9897969697989b9ea0a8aca9a19e9590867d6f6a60564c41332a1f0c02000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000915222f3c4855626f7b8895a2b5ab9b918c8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b85786b5f5245382c1f12050000000000000000000000010a141c262e363e444c52575e61666a6f7274767878797978787675726f6d66626058534e443f382f271e150c030000000000000000000000000000000000000000000000000000000000000000000001080d11161b1f252a2e34383c42474b5153586062686d72756f65594d4134281b0e0000000000000000000814212e3b4754616e7a87949f9fa39986796d6d79818c92989fa29f9e9e9e9fa2aaa8a9aaa29f99928b81786d60584e43332a1f150900000000000002090f14181b1b191413110d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820262b31373a4145474a50535557595c5d5e5e5f5f5f5e5e5d5b595755534d4946443f3835302a251e170e0802000000000000000000000000000000000000000000000000000000000000000001070c1013181c1f20232527292b2b2c2d2c2c2b2a28262421201e1915120f0a0300000000000000000000000000000000000000000000080f151a1d1f20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020171714110c05000000000000000000050c11141717202020202020202020202020202020201e1d1b17120b0400000000000000020a1015191c1c20201c1c1915100a020000000000000000000000000000000000000000000000000000000000000000000000000d1925313d49545e65696c6c6c6c6c6c67645c52473c3024170b00000000000000000000000000000000000000000003101d2a3643505d6976839093939393939393939393939b9ea5afb7b7b6b7b9b8afa59d9b93939393939393939393939083776a5d5044372a1d11040000000000000004101d2935404b55687378797979797979796f6a6054483b2e22150900121f2c3845525e6a75797979797979797976675c5145382c1f13060000000000050f18212a333c464e58606b70797979797979797979706b6054483b2f22160900000000000814212e3b4754616e7a87949f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93867a6d6053473a2d20140700000000020d172028343f4a545c666d747e858e92999ea1a8a7a8a5a4a3a3a3a5a7a8aca49f9d97928c837b6f6b60584e443a3021180e00000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b000000000815212e3b4854616e7b8794abb5ada39b989898989898989898989898989898989898989898989898989285786b5f5245382c1f1205000000000000000000000000020a131c242c323a41464d5254585f626568696b6c6c6c6c6b6a686663605c54544e47433c332d261d150c030000000000000000000000000000000000000000000000000000000000000000000000000001040b1014191c23282c3137394045474e54565e616568655d53483d3125190c0000000000000000000815222e3b4855616e7b889393939392867966676d787f868d92989a9c9e9e9f9f9e9d9c9998928d877f746d665c50463d3221180e030000000000030b131a202527282621201d19130f0a040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c151d232831373c42474b5154545c60626466686a6a6b6c6c6c6b6a6a686664615f575653504a46413a3630292019130d05000000000000000000000000000000000000000000000000000000000003090e12181d1f23282c2d3032343638383939393838373533312e2d2a25211f1b150f0b060000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c171008000000000000000810171c2123242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27231d160e050000000000040c141b212528292d2d292825211b140c0400000000000000000000000000000000000000000000000000000000000000000000020f1b2835414e5a657076797979797979746e64584c4033261a0d00000000000000000000000000000000000000000003101d2a3643505d6976828686868686868686868686868e939ea9b0aba9abacb2a99d938e86868686868686868686868683776a5d5044372a1d110400000000000000000c18242f39435761686b6c6c6c6c6c6c6c6260584e43382c1f130700111d2a36424e59636a6c6c6c6c6c6c6c6c6c5c554b4034291c1004000000000000060f18212a343d464f5960636c6c6c6c6c6c6c6c6c6360594f44382c20130700000000000814212e3b4754616e7a8793939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393867a6d6053473a2d2014070000000000050e17232e38424a545c606c717a81868d9196989a9c9e9f9f9f9f9e9d9c999a93908b857f786e6960594f463c32281e0f0600000000000b1825313e4b5864717e8b97a4aca89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7aca4978b7e7164584b3e3125180b000000000714212d3a4754606d7a8799a3afacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a59e9285786b5f5245382c1f120500000000000000000000000000010a121a202830363b4246484e5355585b5d5e5f5f5f5f5e5d5b595653514a47433d373127221b140b03000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e11171c1f262b2f35393d43474c5254595b59534b42372c2015090000000000000000000916232f3c4956626f7c86868686868685786b5c666c727b80858a8d8f9192929291908f8c8a86807b726d605c544a3f342b200f060000000000020b151d252c313435332e2d2a251e1b16110d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810191e272e343c43474d53555d6064666d6f7173757777787979787877767573706e696763605c54524c46413b322a251e170e06000000000000000000000000000000000000000000000000000001070c141a1d24292c2e34383a3c3f4143444546464645444342403e3b3936302e2b261f1c17110a020000000000000000000000000000000008121b242b3136383939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393931302d28221a1208000000000008121a22282d3031393939393939393939393939393939393736332e2820170e04000000020c161e262c32353639393635322c261e160c0200000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828686868686868074675a4e4134271b0e010000000000000000000000000000000000000000030f1c2935424e5a667076797979797979797979797979818e9ba7a69f9c9ea1a8a79b8e817979797979797979797979797771665b4f4236291d1003000000000000000007121d2731454f575d5f6060606060606056544e463d32271b0f03000e1a26313d4751595e5f606060606060605f514b43392f23180c0000000000000000060f18222b343d474f54565f606060606060605f56544f473d32271b100400000000000814212e3b4754616e7a868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796d6053473a2d20140700000000000006111c263038424a505a61686e747b8084888b8e90919292929291908f8d8a87837e79726d665f574f473d342b20160c0000000000000b1825313e4b5864717e8b979f9f9f9b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9a9f9f9f978b7e7164584b3e3125180b000000000613202c3945515d677986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9e9285786b5f5245382c1f1205000000000000000000000000000000080e161e252a30363a3c4347484b4e50515253535252504e4c494644403937322b262017110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c10151a1d24292c32373a4146474c4f4d48423930251b0f040000000000000000000815222e3b4754606a6f797979797979787368545b60696e74797d808284858685858482807d7a746e69625b504a42382e22190f00000000000009131d272f373d40423f3a3936302c27201d18130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009111a222a303940454e53575f62676d7175797b7d8082838485858685858483817f7d7b7874706d66615e56524c443e36302920180f07000000000000000000000000000000000000000000000000030b12181f252a2f35393a404446494c4e5051525253525251504e4c4a4746413c3a37312b28221c140b070000000000000000000000000000040f19242d353d4245464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463e3c39332c241a100500000005101a242c33393c3e4646464646464646464646464646464644433f39322920160b0000000a141e2830383d4143464643413d3830281e140a000000000000000000000000000000000000000000000000000000000000000000020f1c2835424f5b6875828e939393938d8073675a4d4034271a0d010000000000000000000000000000000000000000010d1a26323e4a545e66696c6c6c6c6c6c6c6c6c66707d89939eab9f94909196a1ac9f93887c6f666c6c6c6c6c6c6c6c6c6a665f554a3e32261a0e010000000000000000010b151f333d454c5052535353535353534948433d342b21160a00000915202b353f474e5253535353535353535345403931271d1207000000000000000000061019222b353d4448495253535353535353524948443d352b21160b0000000000000714202d3946525e687679797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797976675d5145392c201306000000000000000a141e2630383f4450565e61696e73787b7e81838485868685858482807d7a76726d67605c544d453d352b22190e040000000000000b1825313e4b5864717e8b93939393938e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d93939393938b7e7164584b3e3125180b0000000004111d2935414b556b7885929393939393939393939393939393939393939393939393939393939393939285786b5f5245382c1f120500000000000000000000000000000000050c13191f252a2d32373b3c3f414345454646454543423f3c3a38342e2b27201b150b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12181d1f272b3035393a3f42413d3730271e14090000000000000000000006131f2b37434e5860626c6c6c6c6c6c6b68615750575e61676d7073767778797978777673706d67615e5751443f3830261c10070000000000040f1a252f3941484d4e4c4746413a38322c29241d1a15100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b232c343c424b51585f62696e747a7d8185888a8c8f9091919292929191908e8c8a8884807d79736d68615e565046413a322a2119100700000000000000000000000000000000000000000000060d151d24293136394045474a515356585a5c5e5e5f605f5f5e5d5b595754524c4847433c38332d261d18120b030000000000000000000000000915202b353f474e52535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c0000000c17222c363e45494a53535353535353535353535353535353514f4b443b32281d12060005101b26303a42494e4f53534f4e49423a30261b10050000000000000000000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9b9f9f998c807366594d4033261a0d000000000000000000000000000000000000000000000a16222d38434c545a5d6060606060606057606d7883919da5a499908384919ea6a49a9083786d6057606060606060605d5b554d43392d22160a00000000000000000000030d212b333b404445464646464646463c3b38322b22190f040000040f19242d353d424546464646464646464638342f271f150b0100000000000000000000071019232b32383b3d4646464646464646463d3b38322b23190f0400000000000005111e2a36414c565e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5d554b4035291d110400000000000000020c141e262e343e444c52575e61666a6f727476777879797978777573716d6865605d55504a423c332b23191007000000000000000b1825313e4b5864717e868686868686868175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a677480868686868686867e7164584b3e3125180b00000000010d18242f44515e6b7784868686868686868686868686868686868686868686868686868686868686868685786b5f5245382c1f1205000000000000000000000000000000000002080d141a1e20262b2e2f323536383939393938373533302d2c28231c1b150f0a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10161b1e25292d2e323534312c251e150c0200000000000000000000030f1b27323d464e545660606060606060595751444d53555c606367696b6b6c6c6b6a696663605d55534d453f342e261e140a0000000000000814202c37414b53595b5954524c48433d39352f2b261f1c18120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d353e464e545c606a6f757b81868a8e929797999b9d9d9e9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b2219100700000000000000000000000000000000000000000910181f272f353b42464b5153545c60636567696b6b6c6c6c6b6b6a686664615e5655534e46443f382f28231d150c0500000000000000000000000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c11040004111c28333e48505557606060606060606060606060606060605e5b564d44392e23170b000915212c38424c545a5c60605c5a544c42382c2115090000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000005111c27313a434a4e50535353535353535e69727f8c95a0a99f93877c7e8a949faba0958c7f72695e53535353535353504f4a433b31271c110500000000000000000000000f1921292f343738393939393939392f2e2c27211910070000000008121b242b3136383939393939393939392c29231d150d0300000000000000000000000007111921272c2f30393939393939393939302f2c272119110700000000000000020e1925303b444c525f6060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f514b433a2f24180d010000000000000000020c141c2328323b41464d5354585f626567696b6c6c6c6c6b6a696664615e5653514b443f38302a2119110700000000000000000a1724303d4956626c7179797979797979756f65594d4034271b0e01000000000000000000000000010d1a2733404c58646e7479797979797979716c6256493d3024170a0000000000071d2a37434f5c67727779797979797979797979797979797979797979797979797979797979797979797873685d5044372b1e11050000000000000000000000000000000000000003090e12151b1f212225282a2b2c2c2c2c2b2a282623201f1c18120f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d202126282825201b140c030000000000000000000000000a16202b343d434749535761686b6c6c66635b5146464b515357565e61666a6c6c6a66605d56514c46423b3328231c140c020000000000000c1825313d48535d656866615e56544f4745403a37312c28231c1a140f0b0600000000000000000000000000000000000000000000000000000000000000000000000000000007101b242d363e474f585f666d737c82878e92989b9ea2a9a6a8aaa8a7a6a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e0500000000000000000000000000000000000009121b222a313940454d53555d6065666d6f72747677787979797877767573716e6867625f5853504a423d342e271e170e0500000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d211408000814212d3945505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f564b3f33271b0e000d1925323d49545e66696c6c69665e54493d3225190d0000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa6a5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000a151f2831383e42434646464643505a616e7b86929fa7a2978d817476828f99a3a79f92867b6e61594f434646464644423e3931291f150b000000000000000000000000070f171e24282b2c2d2d2d2d2d2d2d23221f1b160f0700000000000009121920262a2c2c2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000070f161b2022232c2d2d2d2d2d2d2d2c2322201b160f0700000000000000000008141e29323b4146535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535345403a31281d130700000000000000000000020a1117202930363b4246484e5355585b5d5e5f5f5f5f5e5d5c5a5754524c47454039342e261e180f070000000000000000000815212d3945505a62646c6c6c6c6c6c6c68655d53483d3124180c00000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c64625a5045392d21150800000000020f1b27333f4b5660676b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6861574c4034281c0f0300000000000000000000000000000000000000000002050a0f121515181b1d1e1f20201f1f1d1b19161312100c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d111314191c1b19150f090200000000000000000000000000040f19222b32373b3c505c6873787979736d63574b434750555d60686d7276787977736d685f584e443b31292117110a02000000000000000e1b2734404d59656f75726d6863605953514b47433c38342e2a251f1b17110d08020000000000000000000000000000000000000000000000000000000000000000000000050e19222d363e485059616a6f7980878f93999fa3aaabaaaaa29f9d9b9a9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c030000000000000000000000000000000009121b242c343c434b51575e61676d7175797c7f81838485858685858483817f7d7a77736f6a64605b544f454039302920170f05000000000000000000121f2c3845525e6a7579797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a000a1723303c4955616c71797979797979797979797979797979797771675b4f43362a1d10000f1c2835414e5a66707679797670665a4e4135281c0f0200000000000000000000000000000000000000000000000000000006050403020d1a2633404d596673808c99a6a4978b7e7164584b3e3125180b0203040506000000000000000000000000000000000000030d161f272d323536393935404b55616c75828f98a2a79f92857a6d6e7c87929fa9a2988f82756c61554b403539393736322d271f170d0300000000000000000000000000060d13181c1e1f202020202020201615130f0a040000000000000000080f151a1d1f20202020202020202013100c070100000000000000000000000000000000040b101316161f202020202020201f161613100b0400000000000000000000020d1720293036393b4646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464639352f281f160c01000000000000000000000000060e171e252a31363a3c4347484b4e50515253535252514f4d4a4746413a39352f28231c150c060000000000000000000005111d29343e48505658606060606060605b59534b41372c20140800000000000000000000000000000814202b36414a53585a60606060606060585650483e34291d110500000000000b17232e3a444e565c5e60606060606060606060606060606060606060606060606060606060606060605f5d574f453b2f24180c00000000000000000000000000000000000000000000000000030608090c0e10121213131212100f0c09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507070c0f0e0c09040000000000000000000000000000000007101920272b3845525f6b788586867f7366574d4e535a61676d727a7f83858584807a6f6a5f564d42362a1f14080000000000000000000f1b2835424e5b6875817f7a756f6b65605d55534e4644403936302b27221b19130f0a040000000000000000000000000000000000000000000000000000000000000000020d17202b343e48505a616b707c838c92999fa4abaca7a09d999892908f8d8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b00000000000000000000000000000008121b242d363e464e555d60696e74797e8285898b8d8f91919293929291908e8c8a8784807c76716c666059514b433b332921170e05000000000000000013202c3946535f6c79878686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b000b1724313e4a5764717d8686868686868686868686868686868684776a5e5144372b1e1100101c2936434f5c69768286868276695c4f4336291c10030000000000000000000000000000000000000000000000030608091211100f0e0d1926333f4c5966727f8c99a5a4978a7d7164574a3e3124170d0e1011121307060401000000000000000000000000000000040d151c2226292a2d2c3945515d67707d8a949eaaa0958b7f72686a73808d97a1aa9e938a7d70675d51453c31262a2926221c150d0500000000000000000000000000000002070c0f11121313131313131309090703000000000000000000000004090e111213131313131313131306040000000000000000000000000000000000000000000307090a1313131313131313130a09070400000000000000000000000000050e171e252a2d2e393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939392c29241d160d040000000000000000000000000000050d14191f252a2d31373a3c3f41434445464646454442403e3a3936302c29241d17110a030000000000000000000000000c17222d363e45494b535353535353534e4d4841392f251a0f040000000000000000000000000000030f1a252f3841484c4e535353535353534b49453e362d22170c00000000000006121d28323c444b4f51535353535353535353535353535353535353535353535353535353535353535352504c453d33291e1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b2a3743505d6a7683908f8276695e54585f626c71797f858c909292908c857c6f695e52463b3025190e020000000000000000101d2a3743505d6a76838c86817c77726d67625f5853514a46423b37332d29241e1b15100c0701000000000000000000000000000000000000000000000000000000000009141f29323d46505a626c717d8690959fa3ababa49f9b95908c898584828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d12070000000000000000000000000006101a242d363f4850585f676d737b80858b8f9298989a9c9e9e9f9f9f9e9e9d9b999795908d88837e786f6b605c554d453b332920170c030000000000000013202c3946535f6c798692939393939393939393939393939393939393939393939393939393939393939393939393939393939393938a7e7164574a3e3124170b000b1724313e4a5764717d8a93939393939393939393939393939184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000000000000040a0f1315161f1e1d1c1b1a1925323f4c5865727f8b98a5a3968a7d7063574a3d3024191a1b1c1d1e1f1413110d08010000000000000000000000000000030a11161a16202b37434e58606d7984919ea6a59d9083786d60606d7a85919ea6a59e9184796d60584e43372b20161a16110b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e20212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d201d18130c040000000000000000000000000000000002080d141a1e21262b2e2f323436383939393938373633312e2d2a25201d18120c06000000000000000000000000000006111b242d34393d3e4646464646464642403d372f271d13090000000000000000000000000000000008131d262f363c4041464646464646463e3d39342d241b1106000000000000010c16202a323a3f434446464646464646464646464646464646464646464646464646464646464646464544403b332b21170d0200000000000000000000000000000000000000000000000000000000000000000000020608080c0f111213131312100e0c08070502000000020404060606060606000000000000000000000000000000000001040707131313131313130d0c0a07020000000000000000000000000002060808131313131313131310060603000000000000000000000000040a1b2835424e5b6875818e92877b6e6663646a6f767e848c92989d9f9f9d9791857b6e61564d41362a1e11050000000000000000101d2a3743505d6a768390928e89837e7a746f6a64605c54524d46443f3835302b271f1d18120e09030000000000000000000000000000000000000000000000000000030d1925303b444e58626c717e879298a0a7afa79f99938e88837f7c79777574737373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c030000000000000000000000030c18222c363f48505a616a6f7980868d92979c9fa2aaa7a9a8a7a6a6a6a7a8a9a8a6a7a09d9a94908a837c746d675e574d453b32291e150a0000000000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b000b1724313e4a5764717d8a979f9f9f9f9f9f9f9f9f9f9f9f9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000070f161b1f22232c2b2a2928272625323e4b5865717e8b98a4a396897c706356493d3025262728292a2b2c21201d19130c040000000000000000000000000000000508131e28323a47535f6a73808d96a1aa9e93897d70665c5d67717e8b949faba1968d80736a5f53473e32281e13080500000000000000000000000000000000000407090a13131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130a0907040000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080e1114142020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202013110d07010000000000000000000000000000000000000003090e12151a1f212225282a2b2c2c2c2c2b2a29272421201e1913100d07010000000000000000000000000000000009121b22292d3031393939393939393534312c251d150b0100000000000000000000000000000000010b141d252b3033343939393939393931302d29221b12090000000000000000040e1820282e33373839393939393939393939393939393939393939393939393939393939393939393837342f2921190f0600000000000000000000000000000000000000000000000000000000000000000003090e121415191b1d1f1f201f1f1d1b191514120e09030b0e10111313131313130b0b0905010000000000000000000001080d111314202020202020201a1916130d0700000000000000000000030a0f1214151f202020202020201c13120f0b0600000000000000000000000c1926333f4c5966727f8c998f8279727071757c838a91969fa2aaa3a3a9a1978e8174685e5246392d2014060000000000000000101d2a3743505d6a7683909d9b95908b85807b76716d66615e5753504945413a37322c29241d1a15100b060000000000000000000000000000000000000000000000010b151f2a36424d56606a717e889299a2aaafa49c959087817c77726f6d6668676766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b40342820150900000000000000000000000b151e2a343e48505a626c717c848c92989fa2a9aca8a8a09e9c9a9a999a9a9b9d9fa3ababaaa69f9c95908781796e695e574d443b30261c110600000000000013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a4978a7d7164574a3e3124170b000b1724313e4a5764717d8a97989898989898989b9ea6b0aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000007101920272b2e2f3938373635343331313e4a5764717d8a97a4a295897c6f6256493c3132333435363738392d2c29241e160d040000000000000000000000000000020c1924303a44505a626e7c87929fa8a2988e81756b605455606c78839099a4a89f92877c6f625a50443a3024190c03000000000000000000000000000000040b101316162020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020171614100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205070813131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313060401000000000000000000000000000000000000000000000002050a0f121515181b1d1e1f20201f1f1e1c1a171413110d080401000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d282724201a130b03000000000000000000000000000000000000020b131a202427272d2d2d2d2d2d2d2524211d17110900000000000000000000060e161d23272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b28241e170f070000000000000000000000000000000000000000000000000000000000000000060b0f151a1e212225282a2c2c2d2c2b2a282522211e1a1410171b1d1e202020202020181715110c060000000000000000040c13191d202d2d2d2d2d2d2d2d2625231e19120a0100000000000000060e151a1f21222c2d2d2d2d2d2d2d29201f1c17110a020000000000000000000a1623303d495663707c8998948f837e7d7e828790949ea1a19e9996979a9f9f92877b6e6154473b2d22170b0000000000000000101d2a3743505d6a7683909da7a09d98928d88837e79736e6963605b53524c47433c38352f2b261f1c17110e0802000000000000000000000000000000000000000007121d27313946525e696f7c86929aa3ababa39f928d837c756f6a6662605c545a5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e0500000000000000000007121d27303c46505a626c717e8691969fa2aaaba39f9b9796918f8e8d8d8d8d8f9092999a9ea1a9aba79f9a938d837b6e695e564c42382e23170c04000000000013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a978a7d7164574a3e3124170b000b1724313e4a5764717d8a8b8b8b8b8b8b8b8b8f939eaaaa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000000040f19222b32373b3c4544434241403f3e3d3d4a5763707d8a96a3a295887b6f6255483c3d3e3f4041434445463a39352f281f160c01000000000000000000000000000a141e2935414c56616c76828f99a3a89f92867b6e61594f505b656f7c87939fa9a3999082766c62564c4135291e150a0000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2323201c16100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131312110f0d0b070705010000000000000000000000000000000000000000000000060c11151718202020202020201b1b18140f0901000000000000000000000000000000000000000001080f14181a1b20202020202020181715110c06000000000000000000000000040c12171b1d1e20202020202020202020202020202020202020202020202020202020202020201f1e1c18130d0600000000000000000000000000000000000000000000000000000000000000020a11171b1f262b2e2f32353738393939383735322e2d2b261f1c23272a2b2d2d2d2d2d2d2524211d181109000000000000040d161e24292c393939393939393933322f2a241c130a000000000000060f1820262b2e2f3939393939393939362d2b28221c140b0200000000000000000713202d3a4653606d7985929f95908b898b8f93999fa39f97918c8a8a8e9299998c7f7265544a3f33281c0f0300000000000000101d2a3743505d6a768390979d9fa7a29f9a94908a85807b75706c65605d56544e4745403937312b28231c1914100b040100000000000000000000000000000000000c18232f3943505a616e7b859198a3acaca399928b80786f6a625f585653504a4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b0000000000000000000c18232e39424e58616c717f8a9298a0a8aba49f99928e8a8784828180808081828486898d92979ea1a8aca49f9590847b6e685e544a3f342820150a000000000013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8a7e7164574a3e3124170b000815222e3b4855616e7b7f7f7f7f7f7f7f7f7f818f9ba8aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000a16202b343d4347495251504f4e4d4c4b4a49495663707c8996a3a194887b6e615548494a4b4c4d4e4f5051524745413a31281e130800000000000000000000000006111c26303845525d68717e8b949faba1968c8073695e534749535f6a74818d97a2ab9f948b7e71685d52463d30261c110600000000000000000000000007111921272c2f303939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939302f2c27211a11080000000000000002080d101213131313131313130707040100000000000000000000000000000000000000000000000000030613131313131313131313120f0a05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b131313131313130f0e0c080400000000000000000000000000000000000000000000000003080b0d0e131313131313130b0a080500000000000000000000000000000001060b0f1111131313131313131313131313131313131313131313131313131313131313131312110f0c070200000000000000000000000000000000000000000000000000000000000000060b141b22272b31373a3b3f4244454646464543413f3b3a37312c282e33363739393939393932312e29221b120900000000010c1620282f35394646464646464646403f3b352e251c120700000000040d18222a31373a3b4646464646464646433938332d261d140a000000000000000006131f2c3845515c6774818d98a09d9896979b9fa49f99928d85807d7d818792998f8276665b5044382b1f1206000000000000000c1926323f4c5965727f858b90959b9fa3a69f9c97918c87827d78726d6862605853514b47423c38342e2a251e1b16110d0801000000000000000000000000000004101c2934404b55616c76828f97a1aaafa49a92877e736d665f58534e4946443f41404040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c10040000000000000004101c2834404b545f6a717e87939fa2aaa9a199938e86827e7a777574737373747577797c80858b91969da5afa79f9691847a6e665c50443c32261b0f040000000013202c3946535f6c7986929facb3a79a8d80808080808080808080808080808080808080808080808080808080808080808080808080807c6f6255483c2f221509000714212d3a46535f696e7272727272727272727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000030f1b27323d464e54565f5e5d5c5b5a595857565556626f7c8995a2a194877a6e615455565758595a5b5c5d5e5f54524c433a2f24190d0100000000000000000000000b17232e38424e58606d7a85929ea6a69e9184796d60574d42414e58616d7a85929ea7a69e92857a6d61584e42382e23170c0200000000000000000000040f19232b32383b3d46464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463d3c38332c231a10050000000000060d14191c1f1f202020202020201413110d0801000000000000000000000000000000000000000000060c1012202020202020202020201e1b161009010000000000000002080d101213131313131313090806030000000000000000000000000000000000000000000000010407071213131313131313131313120f0a050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f181d262d33373c4247484c4e505252535252504e4c4846423c3834393f43444646464646463e3d3a342d241b110600000008131e28323a414553535353535353534d4b4740372e24190d020000010c161f2a343c43474852535353535353534f46443f382f261c11060000000000000004101c2834404b55616e7b86929fa4a5a3a4a7a09d948f868079737070747d87939285796c605346392d201306000000000000000b1825313e4a57626d72797e83898e92999ea1a8a19e99928f89847f7a746f6a65605d55534d46443f3836302c27201d19130f0a0400000000000000000000000006131f2c3845515c67707d8a949fa9b0a69f93887e716c605c544e47433c3a38342e3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a0000000000000006131f2c3845515c666f7c869299a4aea8a0979187817b75716d6869676766676768676d7073797e848e939fa4aca8a0969083786d60584e43372b20150a0000000013202c3946535f6c7986929facada0938679737373737373737373737373737373737373737373737373737373737373737373737373736f6a5f53473a2e2115080005121e2a36424d575f616565656565656566727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000006131f2b37434e5860626c6b6a696867666463626160626f7b8895a2aa93867a6d606162636465666768696a6b6c605d564c4135291d11040000000000000000000003101c28343f4a54606a74818d97a1ab9f948a7e71675d51453b3c46525e68727e8b95a0aca1978e81746a60544a3f34281f1409000000000000000000000b16212b353d44484953535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534a48443d352c21160b000000000810181f25292b2c2d2d2d2d2d2d2d2d201d19130c04000000000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000060d14191c1f1f2020202020201515120f0a030000000000000000000000000000000000000001080d1113141f202020202020202020201e1b161009010000000000000004090e1112131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130b0a0804000000000000000000000001060b0f111113131313131207060300000000000000000000000000000000000000000000000000000000000000000000060606060606060503000000020608080c0f111213131312100e0b08070502000000000000000000000000000000000000000000000000000008111a212a2f383f44464d5355585b5d5f5f605f5e5d5b5855534d46443f444b4f515353535353534b4a453f362d22180c0100010d19242f3a444c525f606060606060605957524940352a1e1307000007131d28313c464e53555f606060606060605c53504a42382d22170b00000000000000000c18232e3946525e69727f8b929b9e9f9e9b959089827b736d6763646b74818e98887b6e6255483b2f221508000000000000000916222e3a46515b62676d71777c81868c91969c9fa6a39f9b96918c86817c77716d67615f5753504a46413b38322c29241e1b15100c0700000000000000000003101c28343f4a54606d7984919ea6b0aa9e948c7f736c625a504a423c37322d2c282327272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f00000000000004111d2935414b55606d79839098a3aba9a09691857d746e6964615d565b5a5a5a5a555c6063666d7179818b939aa4afa89f958c80736a5f54473d32271b0f0100000013202c3946535f6c7986929facada093867a6d676767676767676767676767676767676767676767676767676767676767676767676767625f584e43372b1f120600020e1a26313b454d53555858585858585966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000815222e3b4754606a6f7877767574737271706f6e6d686e7b8894a1a39886796c6c6d6e6f7071727374767778796d685d5245392c201306000000000000000000030c19232b3844505c666f7c87939fa9a3998f82766c61554b403335414c56606c7883909aa4a99f93887c6f665c50443b30251a0d03000000000000000004101b27323d474f5456606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606056554f473d33271c1004000006101a222a3035383939393939393939392c29241e160d0400000000000000000000000000000000030c151c23282c3939393939393939393937332c251c1309000000000810181f25292b2c2d2d2d2d2d2d22211f1b150e060000000000000000000000000000000000040c13191d20212b2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000080f151a1d1f20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020171714110c050000000000000000040c12171b1d1e20202020201f1312100c060000000000000000000000000000000000000000000000000000000105090b0b13131313131312120f0c04090e121415191b1d1f1f201f1f1d1b181414110e0802000000000000000000000000000000000000000000000008111a232c333c41495053575f6265686a6b6c6c6c6b6a6865615f5753504a4e565b5e606060606060585650483f34291d11050004111d2935414c565d6c6c6c6c6c6c6c6c66635b52473b2f23160a00071018242f3a434e585f626c6c6c6c6c6c6c6c69605b544a3f33281c0f030000000000000007121d2a36424d56626d7380898f9292918f8a837d766e69605d5559626f7c89988a7d7063574a3d3024170a0000000000000006121e29353f4951555c60646a6f757a7f848a8f949a9fa2a8a09e98928e88837e79736e6964605c54524c48443d39352f2b261f1c18120b030000000000000006121f2b3844505c66727f8c96a0acaea2988f82776c605a50443f38302b26201f1c171a1a1a171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d120700000000000613202c3945515d67737f8c95a0aaada19791847b706b615e5754524c4e4d4d4d4e4b5153545c60676d747f88939fa5afa79f92877c6f62584e43372b1d120700000013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c31261b0f03000009141f2a333b4246484c4c4c4c4c4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916232f3c4956626f7c8584838281807f7e7d7c7b7a79787a8794a19f92867978797a7b7c7d7e7f8081828384867a6d6054473a2d2114070000000000000000000b151e2a36414d56606d78839099a4a99f92877c6f625a5043392f303a44505b666f7c87939faaa49a9083786d60574d42362a1f150b01000000000000000713202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6361594f44382c20140700020d18222c343b414446464646464646464639352f2820160c010000000000000000000000000000000a151e262e343846464646464646464646433e372e251b1005000006101a222a303538393939393939392f2e2b2620181006000000000000000000000000000000040d161e24292c2d383939393939393939393937332c251c13090000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c171008000000000000060e161d23272a2b2d2d2d2d2d2c201f1c17110a03000000000000000000000000000000000000000000000000060c111517182020202020201f1e1c1810151a1e212225282a2b2c2d2c2b2a282521201e19140f0a040000000000000000000000000000000000000000060f1a232c353e454d535b6064696e72757778797979787674726e6964605c545660676a6c6c6c6c6c6c65625a50453a2e211509000713202c3945525d687679797979797979736d63574b3f3225190c050e19222935404b555f6a6e7979797979797979766c665b5044382b1f120600000000000000000e1925303b44515b636e737d82858684827d78706b625f57514b53606d788686867f7265584c3f3225190c00000000000000010d18232d373f434b5153586062686d73787d82888d92989da0a8a29f9b95908b85807b76706d66615e56544f4745413a37312c28231d150c030000000000000713202d3a4653606d7884919ea8b2a99f92867b6e655b50483e342e261e1b1312100c060d060b0f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c00000000000714212d3a4754606d7a85929fa7b0a69e92857b6e696059524d47464141404040414045464b51555d606d727f8b939ea9afa3998f82766a605447392f24180c00000013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847433c342a20150a000000030e18212a31363a3b3f3f3f3f3f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916232f3c4956626f7c8991908f8e8d8c8b8a898887868583919daa9f92878385868788898a8b8c8d8e8f9091877a6d6054473a2d211407000000000000000007121d27303946525e68727f8b95a0aba1978d80746a5f53483e312728333f4a54606b74818e98a2aca0958c7f72695e52463e31271d1207000000000000000916222f3b4854606b707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979706b6155483c2f2316090008141f2a343e464d5152535353535353535345413a32281e1308000000000000000000000000000006111c2630383f44535353535353535353534f4940372c21160a00020d18222c343b4144464646464646463c3a37312a22180e0300000000000000000000000000010c1620282f35393a4546464646464646464646433e372e251b1005000008121b242b3136383939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393931302d28221a120800000000040e1820282e3337383939393939392d2c28231c150c03000000000000000000000000000000000000000000000911181d2124252d2d2d2d2d2d2c2b28241c1f262b2e2f32353738393939383735312e2d2a251f1b150d07010000000000000000000000000000000000020b18212c353e474f575f656c71767b7f8183858586858583817f7b77716d665f58677277797979797979716c62564a3d3124170b000714212d3a4754606d7a86868686868686807366594d4033261a0d0b16202b343d45515d676e7c868686868686868682796c605346392d201306000000000000000009141f29323f49525c636b707578797875706c656059534d4544505c6674797979726d62564a3e3124180b000000000000000007111b252d31394045474e54565e61666d70767b81858b91959b9fa3a79f9d97928d87827d78736e6863605954514c47433c38342e271e150b000000000005111e2a36414c5664707d8a96a1adada1978c7f72695e53493f3628231c140c0a060300000000000306090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c100400000006131f2b37434e5866727f8c97a2adaa9e948a7d70695f574f46423b3935303433342e34383a40454b515b626d74818e97a1adab9e94897c6f62554b4035291d1004000013202c3946535f6c7986929facada093867a6d6053474040404040404040404040404040404040404040404040404040404040404040403c3a37312a22180e0400000000060f181f262a2d2e323232333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916232f3c4956626f7c89959d9c9b9a99979695949992919195a0aca399929091929995969798999a9b9c9d93877a6d6054473a2d21140700000000000000000c18232e39424f59616e7b85929fa7a79e92857a6d60584e43362c1f222d38424f59616e7a86929fa7a79f92867b6e61594f43392f24180c030000000000000a1623303d495663707d86868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867d7063564a3d3023170a000d1925303b4650585d5f606060606060605f524c443a2f24190d01000000000000000000000000000c17232e38424a505f60606060606060605f5a52493e33271b0f0008141f2a343e464d51525353535353534847433c342a20150a0000000000000000000000000008131e28323a41454752535353535353535353534f4940372c21160a00040f19242d353d4245464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463e3c39332c241a10050000010c16202a323a3f43444646464646453a38342e261e150a00000000000000000000000000000000000000000009121b22292e313239393939393939373430282c31373a3b3f4244454646464543413e3b3936302b272018130c04000000000000000000000000000000000a141d2a333e474f5961696e787e83888b8e909292939291908e8b88837e786f6a606a77848686868686867e7165584b3e3225180b000714212d3a4754606d7a8793939393938c807366594d4033261a0a141d28323d46515b606d798391989393939991847a6d665b5044382b1f12060000000000000000020d17202d37404952596063686b6c6b6864605b534f47423c3f4a545c6a6c6c6c65625b51463a2e2215090000000000000000000a131b1f272f34383d43474c52545c60646a6e747a7f84898f92999ea1a9a29f9a938f8a847f7a75706b65605d55534e4645403930271d1207000000000714202d3946525e6876828f9ca8b2ab9e9185796d60574d41382d2417110a02000000000000000000000002091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f13060000000815222e3b4754606a7884919ea9b1a79c8f82756c61574d453d36302d292427272723282c2e343a4145515b606d7a85929eaab0a69b8e8275675d5145392c1f1306000013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343434342f2e2b2620181006000000000000060e141a1e2122252526333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916232f3c4956626f7c8995a2a7a6a5a4a3a2a1aaa29f9e9da0a7b1aba39f9d9e9fa2aaa2a3a4a4a5a6a7a093877a6d6054473a2d2114070000000000000004101c2834404b54606b75818e98a2aca0958b7e72685d52463c31241a1c262f3d46525e68727f8c95a0aca2988e81756b61554b4035292015090000000000000a1623303d495663707c89939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393897d7063564a3d3023170a00101c2935414d5862696c6c6c6c6c6c6c6c6c5d564c4135291d110400000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12000d1925303b4650585d5f60606060606055534e463c31261b0f030000000000000000000000030c19242f3a444c52545e6060606060606060605f5a52493e33271b0f000915202b353f474e52535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c000006121d28323c444b4f5153535353535246443f3830261c11060000000000000000000000000000000000000006111b242d343a3d3e4646464646464544403b34383c4247484c4e505252535252504e4b4746413b373229241d160d05000000000000000000000000000006111b262f3c454f59616b707b838a9095989b9d9e9f9f9f9e9d9b9895908b837c706b67798592939393938a7d7164574a3e3124170b000714212d3a4754606d7a87939f9f9f998c807366594d4033261a111c262f3a444e58626d75818e95a0aaa59f92877c6f685e544a3f33281c0f03000000000000000000050e1b252e3740474f54565c5f5f5e5c57535049413d373138424a50535f6060585651493f34291e1206000000000000000000010a0d151d23292c32383a41464a5053585f62676d72777d82878d92979d9fa7a49f9c96918c86827c77726d67625f5853514b42392e23180c000000000814212e3b4754616e7a87939facafa3998c7f72675d51453b2f261b1206000000000000000000000000000000071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d2013080000000916222f3c4955626f7c8896a1acaca095897c6f625a50453b332a25201d191a1a1a181c1f23282f353f45515d67727f8b98a2aeac9f9286796d6053473a2d201406000013202c3946535f6c7986929facada093867a6d6053473a2d2727272727272727272727272727272727272727272727272727272727272722211f1b150e06000000000000000003090e121415191926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916232f3c4956626f7c89959b9a999998979695949892919095a0aba39992909192989495969798999a9b9c93877a6d6054473a2d211407000000000000040d1a242c3845515c66707d89939eaaa59d9083786c60564c41342a2012141d2a36414c56606d7883919da5aa9e938a7d70675d51453c31261a0d0400000000000a1623303d495663707c89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f96897d7063564a3d3023170a00121f2b3844515d6974797979797979797976685d5245392c20130700000000000000000000000006121f2c3844505c66767979797979797979766c5f5346392d201300101c2935414d5862696c6c6c6c6c6c6c625f584e43372b1f120600000000000000000000000b151e2935414c565d606b6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c1104000b17232e3a444e565c5e60606060605f53504a42382e23170c000000000000000000000000000000000000010c18222d363f454a4b53535353535352504c454044464e5355585b5d5e5f605f5e5d5b5854524d47433d352f281f170f05000000000000000000000000000b17222d38414d57616b707d8690959d9fa7a8aaaaa39f9e9e9e9fa3a09d9590867d706d798698a29f9f96897d7063564a3d3023170a000714212d3a4754606d7a8793a0aca6998c807366594d4033261a17222d38424c56606a727f8b939ea8a79e938b7f726a60564c42382d22170b000000000000000000000009131c252e353d4448494f5253514f4a46443f382f2b2630383f44465353534c4a463f372d23180d010000000000000000000000030b12181c1f272b3036383f44464e53555d60656b70757b80858b90959b9fa3a8a19e99928e89847f7a746f6a64605c544b4034281c10040000030f1b27333f495364717e8b9aa4afac9f92867a6e61554b4033291d140a000000000000000000000000000000000007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d0100000d1a2633404d596673808c99a8b2aa9d9083776a6054483e332a211a14110d080d070c1013181d242935414c55606d7985929fabaea2988a7d7164574a3e2e23170b000013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1515120f0a040000000000000000000000020507080c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916232f3c4956626f7c89908f8e8d8c8b8a898887868584839099a49f9287838485868788898a8b8c8d8e8f90877a6d6054473a2d2114070000000000010c161f2a36424d57606d7984919da5aa9e93897c6f665b50443a3022180e0b1925303b44515c66707d89939eaaa59e9184796d60574e42372b20160c01000000000a1623303d495663707c8996a3acacacb5afaca7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a396897d7063564a3d3023170a00131f2c3946525f6c7986868686868686867a6d6054473a2d2114070000000000000000000000000713202d3a4653606d788686868686868686796c605346392d201300121f2b3844515d697479797979797979766a5f53473a2e2115080000000000000000000007121d27303945525d686d78797979797979797979766c5f5346392d201300111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d211408000f1b27333f4b5660676b6c6c6c6c6c6c605c544a3f34281c1003000000000000000000000000000000000005111d29343f485056586060606060605f5d574f4a5153575f6265686a6b6c6c6c6b6a6864615e56544e45413a312921170f050000000000000000000000030f1b27333f49535f69707d8792989fa7aba7a09d9898929191919299989d9f9892877d707a8794aab4a396897c706356493d3023160a000714212d3a4754606d7a8793a0ada6998c807366594d403326172128333f4a545e686f7c87929fa5aaa0958e81756d62584e443a2f261c11060000000000000000000000010a131c232b33383c3d42454645423d3937332d261d1e262e34383a4646463f3e3a342d251b11060000000000000000000000000001070c10161b1e252a2e34383c43474b5154596063696e73797e83888e92989ea1a8a39f9b95918b85817c76716d665c5145382c1f1306000005121f2b3744505b6575818e9bacb6a99c8f8276685e5243392f21170b020000000000000000000000000000000000010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d11040005111e2a36424d576976838f9ca9b5ab998c7f7366584e43362c21180f0905010000000004070c1319242f3a45515d6774818e9aa7b4aa9b8e817468544a3f34281c10030013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0908060300000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916222f3c4955626f7c83838281807f7e7d7c7b7a7978777887939f9e9184787879797a7b7c7d7e7f80818283847a6d6054473a2d211407000000000007131d28313a46535f69737f8c96a0aca2988e81756b60544a3f32281e100608141e2834404a54606b75828f98a2aca0968c80736a5f53473e32281e1308000000000a1623303d495663707c8996a7b1bbb5aba39f9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a96897d7063564a3d3023170a00131f2c3946525f6c7985929393939393877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693939393939386796c605346392d201300131f2c3946525f6c79868686868686867c6f6255483c2f221509000000000000000000000c18232e39424f59606d7a85868686868686868686796c605346392d201300121f2c3845525e6a7579797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a00111d2a37434f5c6772777979797979786d665c5044382c1f120600000000000000000000000000000000000915212e3a45505a62656c6c6c6c6c6c6c696157545c60646a6e72757778797979787674716e68626058514b433b332921170d030000000000000000000005121f2b3744505b656e7b859299a2aaaaa39f95918b888584848586888b90959e9992857b7b8894a1aea295897c6f6256493c2f231609000714212d3a4754606d7a8793a0ada6998c807366594d4033261e29333b44505b666d7a849199a3aea2989083796d605b51463d32281d140a00000000000000000000000000010a111921272c2f303538393835312d2b27221b14151c23282c2d39393932312e29231b13090000000000000000000000000000000000040a0f13191c23282b31373a4145474f54575e61676d71767c81868c91969c9fa4a7a09d98928e88837e796d6053463a2d20130700000613202d394653606c7885929eabb3a9988b7f7265564c4131271d0f050000000000000000000000000000000000000006111c2935414c5665727f8b98aab4aa9d918477685d5245392c201306000714202d3a46525e697885929eabafa399897c6f6256493d32231a0f060000000000000000000108131e2935404b5564707d8a97a9b3aa9d908377665c5044382b1f12060013202c3946535f6c7986929facada093867a6d6053473a2d201407010101010101010101010101010101010101010101010101010101010000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000815212e3b47535f6a6f77767574737271706f6e6e6d66667885929e9d9083766b676d6e6f7071717273747576776d675d5145392c20130600000000020b18242f3a43505a616e7b86929fa8a89f92867b6e61594f42382d20160c00020c18232e39424f59616e7b86929fa8a89f92867b6e625a50443a2f24190c020000000a1623303d495663707c8995a0a9b3afa399928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d897d7063564a3d3023170a00131f2c3946525f6c7985929f9f9f9f93877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d7986939f9f9f9f9386796c605346392d201300131f2c3946525f6c79859293939393887b6f6255483c2f22150900000000000000000005101c2834404b54606b74818e979393939393939386796c605346392d20130013202c3946535f6c79878686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b00111e2b3844515e6b7784868686868686786d6053463a2d20130800000000000000000000000000000000000b1724313d4a56626c71797979797979787369585f666d71777b7f8183858586858583817e7b756f6a605d554d453b33291f150b010000000000000000030f1b27333f4953606c77829097a2abaaa398928b837f7b79787778797b7f83899196978f827c8895a2aea295897c6f6256493c2f231609000714212d3a4754606d7a8793a0ada6998c807366594d40332627303b454f59606c78828f96a1aba49f92857b6e675d51493f342b20160b02000000000000000000000000000000070f161c202223292c2c2b2924201f1b17110a0a11171c1f202c2d2d2524221e181109010000000000000000000000000000000000000002080d11171c1f262b2f35393d44484d53555c60646a6f747a7f848a8f939a9fa2aaa29f9a94908a8376695d5043362a1d1000000815222e3b4855616e7b8897a1adada197887b6e6255483b3022150b0000000000000000000000000000000000000000000d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d211407000814212e3b4754616e7b8797a2adac9f92867a6d6053473a2d2014070000000000000000000000010d18242f3b4754616e7a8797a1adac9f9286796d6053463a2d2013070013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000006131f2b37434e585f626a69686766666564636261605c6a7784919d9c8f8275695c60616263646566676869696a605d554c4135291d1104000000000a141d2935404b55616c75828f98a3aca0968c7f73695e52473d2f261c0e04000007121c27303d46535e69737f8c96a0aca3998f82766c61564c4135291e140a0000000714202d3a4753606d79839097a2acac9f928780808080808080808080808080808080808080808080808080808080808080808080808080807b6e6255483b2f22150800131f2c3946525f6c7985929facaca093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929f9f9f95887b6f6255483c2f2215090000000000000000050e1b242c3845515c666f7c88939fa99f9f9f9f9f9386796c605346392d20130013202c3946535f6c798692939393939393939393939393939393939393939393939393939393939393939393939393939393939393938a7e7164574a3e3124170b000e1b2734414e5a6774818d93939398897c6f6356493c2f24190d01000000000000000000000000000000000b1825323e4b5865717e868686868686857866616a6f787e83888b8e909192939291908e8b86827c746d675e574d453b31271d1207000000000000000005121f2b3744505b65717e8a949fa9aea39892867f78726e6c656b666d6e72767d849094948c7f8c99a5afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033232e39424d57616b73808c949fa8a69d928a7e71695f554b40372d22190e050000000000000000000000000000000000050b101316161c1f201e1c1713120f0b060000060c101213202020191815120d06000000000000000000000000000000000000000000000000060b10151a1d24292c33383b42464b5153586062686d72787d82878d92989da0a7a69f9c9084776a5d5144372a1e1100000a1724303d4a5763707d8a96a9b3ab9e928578695f53473a2e2114030000000000000000000000000000000000000000000813202d394653606c7985929facb1a795897c6f6256493c2f231609000916232f3c4956626f7c8995a9b3aa9e918477675d5145382c1f13060000000000000000000000000714202d3946525e687885919eabaea398887b6e6255483b2f2215080013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c070604010000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000030f1b26323c464e53555e5d5c5b5a595857565554535d697683909c9b8e8174685b535455565758595a5b5c5d5e54514c433a2f24190d0100000006111b262f3845515d67717e8a949eaaa69e9184796d60574d42352b1d140a000000000b151e2a36424d57606d7984919ea6ab9f948a7e71685d52453d30261c1106000006131f2c3945515d676e7b85929aa4afa3998e81747373737373737373737373737373737373737373737373737373737373737373737373736e695f53473a2e21140800131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22150900000000000000020c16202b37424d57606d7983919aa4afacacacac9f9386796c605346392d20130013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b000a1724313d4a5764707d8a99a3aa998c807366564c4135291d1104000000000000000000000000000000000b1724313e4a5764717d8a939393939786796d6c707c838b9095989b9d9e9f9f9f9e9d9b99928f8781796e695e574d43392f24180c03000000000000000613202d394653606c7883909da6b0a79f92867d726c6662605b545c6062656b707a8290959286929facafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d40332834404b545e69707d88939fa6a99f948d80736c61574d43392f251b100700000000000000000000000000000000000000000407090a0f1213120f0a0605030000000000000306071313130c0b090601000000000000000000000000000000000000000000000000000000030a0f13181d20272c3136394045464e54565e61666c70767b80858b90959ca4aa9d9084776a5d5144372a1e1100000c1926323f4c5965727f8c98a5b2a99c8f837669574d42372b1e120600000000000000000000000000000000000000000006121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b000a1723303d4a5663707d8996a3b0a99c90837669554b4035291d100400000000000000000000000005111e2a36414c566a7683909da9b4aa96897c6f6356493c302316090013202c3946535f6c7986929facada093867a6d6053473a2d2019191919191919191919191919191919191919191919191919191413110d0701000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000a15202a343c43474951504f4e4d4c4b4a4948474f5b6875828e9b9a8d8073675a4d4748494a4b4c4d4e4f50514745413a31281e1308000000000b17222d38414e58606d7984919ea6ab9f948a7d70675c51453b3023190b0200000000030c1a25313b45515c67707d8a949eaba69e91857a6d60584e42382e23170b000004101d2935404b555f69707d88939fa6ab9d938b7e716a67676767676767676767676767676767676767676767676767676767676767676767625f574d42372b1e120600131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000000000000008131e28323a47535f69737f8c95a0acb6b8b9beac9f9386796c605346392d20130013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a4978a7d7164574a3e3124170b000714212d3a4754606d7a86929fa99d908376685d5245392c201307000000000000000000000000000000000a1723303d4a5663707d89969f9fa994877a6d707e8690959da09e9c9b9a9b9c9ea1a9aba39f9a938e847b6e695e554b403529201509000000000000030f1c28333f4a5463707d8995a0acab9f958b7e716b605b5453504a5053555961686d798391999299a3aeafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033343c45515c666e7b85929aa4aba1979082786d605a50453c31271d1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d11161c1f252a2e34383c43474c52545b6064696e747a7e838c929caa9d9084776a5d5144372a1e1100000e1b2834414e5b6774818e9aa7b3a79a8d8074675a4d4131261a0e02000000000000000000000000000000000000000000030f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d000b1724313e4a5764717d8a97a4b0a89b8f8275685c4f422f24180c00000000000000000000000000010d192530424f5c6875828f9ba8b0a3968a7d7063574a3d3024170a0013202c3946535f6c7986929facada093867a6d6053473a2d26262626262626262626262626262626262626262626262626262621201d18130c040000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000000040e18222a32373b3c44434241403f3e3d3c3b414e5a6774818d9a988c7f7265594c3f3c3d3e3e3f40414243443a39352f281f160c01000000030f1b27333f49535f6a73808d96a19fa3998f82766c61554b4033291f100700000000000009141f2934404b55616c76828f99a39fa1978d80746a60544a3f34281c100300000c18242f39434d57616b73808c949ea8a59f92867c6f685d545a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534d453c31261a0e0200131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221509000000000000030d1925303a44505a616e7b86929fa7afacabadb3ac9f9386796c605346392d20130013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a978a7d7164574a3e3124170b000613202c3945515d677683909ca99f92867a6d6054473a2d211409000000000000000000000000000000000a1623303d495663707c8996a3aca195887b707e8792989e9896918f8e8d8e8f91979b9fa4aca49f9691847b6e675d51453c31261a0f02000000000006121f2b3844505b6674818e9ba7b1a99d9083766d6259504a46443f4446484f565d676f7c87929fa3abb4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d40313c46505a606d78839097a2aca39991857a6e665c50483e332a1f150b00000000000000000000000000000000000000000000000000000000000004080a0a1313131312110f0b070100000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1d24292c32383a41464a5053585f62676d7279808c99a69d9084776a5d5144372a1e110000101c2936434f5c6976828f9ca9b2a5998c7f7266594c3f3326190900000000000000000000000000000000000000000000000b17222d404d5a6773808d9aa6b3a89b8e8175685b4f4235281c0f000b1825313e4b5864717e8b97a4b1a89b8e8275685b4f4235281c070000000000000000000000000000081b2835414e5b6874818e9ba7b0a4978a7d7164574a3e3124170b0013202c3946535f6c7986929facada093867a6d6053473a333333333333333333333333333333333333333333333333333333332d2c29241d160d0400000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000007101820262b2e2f37363534333332313033404d596673808c99978b7e7164584b3e313031323334353636372d2c29241e160d040000000005121f2b3744505b656f7c87929393939392877c6e625a5043392e21170d00000000000000030c18232f3943505a616e7b86929393939393877c6f665c5044382b1f1206000007121d27313b454f59606c78828f96a0aaa39891847a6d665b504d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847423c332a2015090000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000000000010b151f2a36414c56626c76828f98a3aca49f9ea1a9b39f9386796c605346392d20130013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8a7e7164574a3e3124170b0004111d2935414c5566737f8c99a9a3998a7d7164574a3e31261a0e02000000000000000000000000000000091623303c4956636f7c8996a2afa295897c7c86929996918c8784828181818285888e939aa1a9a8a0969083796d60584e43372b1f140900000000000613202d394653606c7985929eabada1978a7d70645a50443f393734383a3d444c555f6a74818e9aa7b1bdafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d403a434e58616c74808d959fa9a59f92877d6f685e544a3f362c21180d0300000000000000000000000000000000000000000000000000000000050b10141617202020201f1e1b17120c0500000000000000000000000000000000000000000000000000000000000000000000000002080d11171c1f262a2f35383d43484c52545c60646a6e747a7e838c929caa9d9084776a5d5144372a1e110000101d2a3643505d697683909ca9b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2834414e5b6774818e9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c01000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000070e151b1f21222b2a29282726252425323f4c5865727f8b98968a7d7063574a3d30242425262728292a2b21201d19130c0400000000000613202d394653606c79838686868686868680736a5f53473e30271d0f05000000000000000007121d27313e47535f6973808686868686868683796d6053463a2d2013070000010b151f2a333e44505b666d7a849198a2aaa1968f82786c60594f45404040404040404040404040404040404040404040404040404040403b3a37312a21180e030000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221509000000000007121d27313946525e68717e8b949faaa49a939297a1ad9f9386796c605346392d20130013202c3946535f6c7986929facb3a79a8d80808080808080808080808080808080808080808080808080808080808080808080808080807c6f6255483c2f22150900010d19242f3c4956626f7c8997a2ab9a8e817467574d42372b1e12050000000000000000000000000000000916232f3c4956626f7c8995a2afa396897d839098938d847f7b777574747476787c81889197a1a9a8a0958d80736a5f53473b30251a0e02000000000916232f3c4956626f7c8997a2adab9e9285796d6053463f332d2b282c2d323a434e58626e7b88959fabb8afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d40414b555f6a717e8a929da7a89e938c7f726b60564c42382e241a0f06000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2b2a28231e170f06000000000000000000000000000000000000000000000000000000000000000000040a0f13191c22282b3136394045474e54565e61666d70767b80858b90959ca4aa9d9084776a5d5144372a1e110000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a99c908376695d5043362a1d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281d1307000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000000000000040a0f1315161e1d1c1b1a19181724313e4a5764717d8a9795897c6f6256493c2f231718191a1b1c1d1e1413110d080100000000000005121f2b3744505b656c7679797979797979736e64584e43352c1e150b000000000000000000010b151f2b37424d57636e7379797979797979776d665c5044382b1f1206000000030d182128333f4a545d686f7c86929fa4a89f948c80736b61574d43392f343434343434343434343434343434343434343434343434342f2e2b2620180f06000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22150900000000020b18232f39434f59616d7a85929ea6a99f938785929eab9f9386796c605346392d20130013202c3946535f6c7986929facada0938679737373737373737373737373737373737373737373737373737373737373737373737373736f6a5f53473a2e21150800000813202d394653606c7985929eab9e918478695f53463a2d2114060000000000000000000000000000000916222f3c4955626f7c8895a2afa89c8f828f9593888079726e6969686768696a6f747d859197a2ada79f92877c6e62574d42362a1e1205000000000c1926323f4c5965727f8c98a9b3a79b8e8174665c50443828221f1c1f2028313c47535f6a7683909da9b6afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d3f45515d676f7c86929fa4aaa0968f81756d62594f443b30261c12080000000000000000000000000000000000000000000000000000000008111a22282d3031393939393837342f2821180f05000000000000000000000000000000000000000000000000000000000000070c10151b1e24292d33383b42464b5153586062686d73787d82888d92989da0a7a69f9c9084776a5d5144372a1e110000111e2b3844515e6b7784919eaaafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d605959595959595959595959595959595959595959595959595959595959595954514b433a2f24180d010000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000000000000000306080911100f0e0d0c0b1623303d495663707c899694877b6e6154483b2e21150b0c0d0e0f1011070604010000000000000000030f1b27333f49535b60696c6c6c6c6c6c6c67645c52463c31231a0c0300000000000000000000030d1a26313c45525c63666c6c6c6c6c6c6c6a605c544a3f34281c100300000000060f17222d38424c565f6a717e8b929da7a69f93887d70695f554b40352927272727272727272727272727272727272727272727272722211e1a150e0600000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221509000000000a141d2934404b55606b74818e97a1ada1978e8183909da99f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d676767676767676767676767676767676767676767676767676767676767676767676767625f584e43372b1f1206000006121f2b3844505b6675828e9ba8a196887b6e6155483b2e23170c0000000000000000000000000000000916222f3c4955626f7c8895a2afaa9e948f9493887e736d67615e575b5a5b5860626b6f7c85929ea6afa3998e8175695e52463a2d201408000000020f1b2835424e5b6875818e9ba8b5ab988b7e7165544a3f342817121012161f2b37434e5866727f8c99abb5afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366595049515b606d79849198a2aea29891847a6d605b51473d32291e150a0000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464543403a332a21170c01000000000000000000000000000000000000000000000000000003090e12181c1f262b3035383f44464d53555d60656a6f757a7f848a8f949a9fa2aaa29f9a948f8a8276695d5043362a1d100000121f2b3845525e6b7885919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6666666666666666666666666666666666666666666666666666666666666666605d554b4135291d11040000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000403020100000915222f3c4855626f7b889598867a6d6053473a2d201407000102030304000000000000000000000000000b17222d38414950535d606060606060605a58524a40332a20110800000000000000000000000009151f2a33404a52585a606060606060605d53504a42382e23170b00000000000006111c262f3a444e58616c74808d959fa9a49a92857b6e675d51453f342b20171a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1514120e09030000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22150900000006111b262f3845515c67707d89939ea9a69e91857a84919daa9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c31261b0f030000030f1c28333f4a5465717e8b98a8a8988b7e7265544a3f34281c100300000000000000000000000000000916222f3c4955626f7c8895a2afb0a69e9c958c80736c605c55524d4e4e4e4e5459606a717e8a949fabab9f92877b6e6154483b3025190e02000005111d2a36414c566a7784909daaafa499887b6f6255483c2e23170603060d1a26313c4956626f7c8999a3afafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c80736b605b5358626d75818e96a0aaa49f92867c6f675d51493f352b20170c03000000000000000000000000000000000000000000000000000000000b17222c363e44494a5353535352504b453c33281e1207000000000000000000000000000000000000000000000001040b10141a1d23282c32373a41464a5053575f61676d71777c81868c91969c9fa6a7a09d98928d88837e786d6053463a2d2013070000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada09386797272727272727272727272727272727272727272727272727272727272727272726d675d5145392c2013060000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a879a928579675d5145392c2013060000000000000000000000000000000000000006111b262f383f444650535353535353534d4c4740382e21180e00000000000000000000000000030e18212e3840474b4d535353535353535046443f3830261c1106000000000000000a141d28323c46505a606d78839097a1aba2979083796d605b51463d32291e140a0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0808060200000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000000b17222d38414e58606d7984919ea5aa9e948a7e7885919eab9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847433c342a20150a000000000b17222d3b4854616e7b8795a0a89b8f8275665c5044382c1f120600000000000000000000000000000916222f3c4955626f7c8895a2afb8b0a89d9083786d605a514b464241414143474f58616c76828f9ca9afa3998c7f7266564c41362a1e110500000713202d3946525e687985929facac9f9386796d6053463a2d20130600000913202d3a4653606d7986929facafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adab9e91847d726c655d606a727f8b939ea8a79d928a7e716a5f554c41372d23190e050000000000000000000000000000000000000000000000000000000004101c28333e48505557606060605e5c564e453a2f23170b00000000000000000000000000000000000000000001080d11161c1f252a2e34383c43474c52545b6063696e73797e83898e92999ea1a8a39f9b95908b85807b76716d665c5144382c1f12060000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb2a6998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6054473a2d2114070000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939184786b554b4035291d100400000000000000000000000000000000000000000a141d262d3337394346464646464646403f3c362e261c0f060000000000000000000000000000060f1c262e363b3f4046464646464646443a38342e261e140a0000000000000000020b16202a343e44515c666e7b859199a3a9a0958e81756d62584e443a30261c11060001010101010101010101010101010101010000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2215090000040f1b27333f49535f6a73808c96a0aca2988f82757985929fac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053474040404040404040404040404040404040404040404040404040404040404040403c3a37312a22180e04000000000614202d3a46525e697784919daa9f9285796d6053463a2d20130800000000000000000000000000000916222f3c4955626f7c8895a2afb9ada1968a7d71665c5045403936303432373d46505a63707d8a97a1adab9d908377685e5246392d20140700000714212e3a4754616d7a8798a2aeab9e918478675c5145382c1f1306000006131f2c3845515c667784919daaafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adada19691877f776d68686f7c87929fa5a99f958d80746c61584e433a2f251b110700000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6b6860564b4034281b0f0200000000000000000000000000000000000000040c13191d20272c3036394045464e54565d61666c70757b80858b90959b9fa3a8a19e99928e89837e7a746e6a64605c544a4034281c10040000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a89c918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e2115080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869a9184786b554b4135291d11040000000000000000000000000000000000000000020b141b22272b2d36393939393939393433302b241c140b000000000000000000000000000000000a141c242a2f323339393939393939372d2b28231c140c02000000000000000000040e18222834404a545e69707d87929fa5a79e938b7f726a60564c42382e23170f0600000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22150900040d1a232b3744505b656f7c87929fa8a79f92867b6e7986939fac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343434342f2e2b2620181006000000000005121e2a36424d576774808d9aaaa298897c6f6356493c2f24190d01000000000000000000000000000916222f3c4955626f7c8895a2afb8ab9e9184786c60544a3f342f2a2527272b333e4653606c7885929eabaca095877a6e6154473b2e21140800000915222f3c4855626f7b8895aab4a99d9083766a554b4034281c1004000004101c2834404b546975828f9ca8afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adb2a9a199928c827a6f6d7a849199a3aba1979083786d605a50463c31281e130a000000000000000000000000000000000000000000000000000000000000061623303c4955616c70797979797872685c5043372a1e07000000000000000000000000000000000000010a0d161e24292c33383b42464b5153585f62686d72787d82878d92979da0a7a49f9c96918c86817c77726d67625f5853514a42392e23180c000000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3a89b8f8275685c4f4235291c0f000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9ada39c999999999999999999999999999999999999999999999999999999999999999994877b6e6154483b2e2115080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794928679675d5145392c201306000000000000000000000000000000000000000000020a11171b1f202a2d2d2d2d2d2d2d2726231f19120b0200000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2a201f1c17110a020000000000000000000000061018232e39424d57606b727f8c939ea7a59f92877c6f685e544a3f342821180d04000000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221509010c161f2a36414c56606c77839099a3aba0958c7f726d7a879aa4af9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d2727272727272727272727272727272727272727272727272727272727272722211f1b150e06000000000000020e1a25303d4a5763707d8a98a3aa998c807366564c4135291d1104000000000000000000000000000916222f3c4955626f7c8895a2afb6ac9a8d8074665b5042382e231d1a1b1b212b3844505b6674818e9ba7b1a7978a7e7164574b3e3124180700000a1623303d495663707c8996a3afa89c8f8275695c4f422e23180c000000000c18232e414e5a6774818d9aa7afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adbbb2aba39f948f847c78828f96a1aba49992857b6e665c51483e342a1f160c0100000000000000000000000000000000000000000000000000000002080e111724313d4a5764707d8686868684786b5e5245382b18120e09030000000000000000000000000000000a131c1f282f35393d44484d52545c60646a6f747a7f848a8f939a9fa2a9a19e9a938f8a847f7a756f6b65605d55534e4644403930271c12070000000f1c2835424f5b6875818e9ba8b3a6998c807366594d402f23180c00000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9b5ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e2115080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000000000000000000403020101000915222f3c4855626f7b889598877a6d6054473a2d2114070001020303040000000000000000000000000000000000060b0f12131d202020202020201a1917130e080100000000000000000000000000000000000000080e1317191a202020202020201d1312100b06000000000000000000000000000007121c27303b454f59626d75818e95a0aaa39991847a6d665c50443e332a1f160c010000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22150907121d28313946525e68727e8b949faba3999083786d6e7a8794a1b69f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1515120f0a0400000000000000000914202d3a4753606d7a86929fa99d908376685d5245392c201307000000000000000000000000000916222f3c4955626f7c8895a2afafa49a897d7063544a3f30261c120e0a0f1c28333f4a5465717e8b98abb5a69a8d8073675a4d402e23180c00000a1724313d4a5764707d8a97a3b0a89b8e8175685b4e4235281b0700000000071a2633404d596673808c99a6afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adb8b0aaa9a69e969186828f949fa8a69f93877d70695e544b40362c22180d04000000000000000000000000000000000000000000000000000001070c14191b2227313d4a5764707d8a93939185786b5e52453828231c1a140d070100000000000000000000000007121c252e313a4145474f54575e61666d71767c81868c91969c9fa4a79f9d97928d87827d78726d6863605953514b47433c38342e271e150b000000000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100400000000000000000000000000000000000000000005121e2a36424d576976838f9ca9b2a5988c7f7265594c3f3226190c000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e2115080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000000000000000206080811100f0e0d0c0b1623303d495663707c899694887b6e6155483b2e22150b0c0d0e0f10110707050100000000000000000000000000000003050610131313131313130d0d0b07030000000000000000000000000000000000000000000002070a0c0d131313131313131107060300000000000000000000000000000000000b151e29333d47515b606d79839098a2aba1968f82786d605a50453c31281d13070000000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070303030303030303030303030713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2215090b18242f39434f59616e7a85929fa6a89f92877c6f666e7b8894a1ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d090806030000000000000000000006131f2c3945515d6776838f9ca99f92867a6d6054473a2d211409000000000000000000000000000916222f3c4955626f7c8895a2afac9f93867a6d6054473a2d21150a01000b17222d3c4855626f7b8899a4afa99c8f837669554b4034281c1004000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000c1926323f4c5965727f8c98a5afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adb0a69e9c9fa2a199928f949ea6a89e948c7f736b60574d42392e241b10060000000000000000000000000000000000000000000000000000030b12181e252a2d33373d4a5764707d8a979e9185786b5e524538342e2a251f18120c0400000000000000000000020d19232e3740434c5154596063696e73797e83888e92989ea0a8a29f9a95908b85807b76706c66615e56544f4745403a37312c28231c150c03000000000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a79d95939393939393939393939393939393939393939393939393939393939393939393877b6e6154483b2e2115080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000000000000030a0f1214151e1d1c1b1a19181824313e4b5764717e8a9795897c6f6256493c2f231718191a1b1c1d1e1413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17202b353f45515d676e7b86929aa4a89f948d80736c61574e433a2f2418110700000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114101010101010101010101010101013202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22150a141d2935404b55616b75818e97a2aca1968d80746a626f7b8895a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d20140701010101010101010101010101010101010101010101010101010101000000000000000000000000000004101d2935404b5566727f8c99a9a3998a7d7164574a3e31261a0e020000000000000000000000000916222f3c4955626f7c8895a2afaa9e918477675d5145392c20130300000613202d3a4653606d7986939facab9e918478675c5145382c1f1306000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e010000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0adaa9e948f9298a2a39f9c9ea6aaa1968f82776c60594f453b30271d12090000000000000000000000000000000000000000000000000000060d151d23293036383f44464a5764707d8a979e9185786b5e5246444039363029241d160d0600000000000000000006121e2a35404951555d60656b70757b80858a90959a9fa2a8a09d98928e88837e79736e6963605b54524c48433d39352f2b261f1c18120b030000000000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8897a2adaea298887b6e6155483b2e221508000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a2958b868686868686868686868686868686868686868686868686868686868686868686867b6e6154483b2e2115080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000000060e151a1f21222b2a29282726252425323f4c5865727f8b98968a7d7063574a3d30242425262728292a2b21201d19130c0500000000000000000000000305060e101010101010090806030000000000000000010304060606060504030100000000000000000000000000000000000000000000000000000000000000000000000000000000050e19232935404b555f69707e88939fa6a69d928a7e716a5f554b40352923190e05000000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d211c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2215111c262f3845515d67707d8a939ea9a59e9184796d60626f7c8895a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3c4955626f7c8897a1ab9a8d817467574d42372b1e12050000000000000000000000000916222f3c4955626f7c8895a2afa89c8f827569554b4135291d1104000006131f2c3845515c677884919eabac9f9386796d6053463a2d201307000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000b1825323e4b5865717e8b98a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada99c8f82869298a3aba9aaaea39891847a6d655b50473d33291e150b0000000000000000000000000000000000000000000000000000070f181f272f343b4146495053565964707d8a979e9185786b5e5753514a46423b352f281f180f0700000000000000000a16232f3b46515b63676d72777d82878d92979d9fa7a39f9b96918b86817c76716d67615f5753504a46413a38322c29241d1a15100c07000000000000000714202d3a4753606d7a86939facaea399897d706353493f33271b0f030000000000000000000000000000000000000004111d2935414c5565717e8b98a9b3ac9f9285786d6053463a2d201307000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867979797979797979797979797979797979797979797979797979797979797979797976695e52463a2d2014070000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000000060f1820262b2e2f37363534343332313033404d596673808c99978b7e7164584b3e313031323334353636372e2d2a251e170e050000000000000000060b0f12131b1d1d1d1d1d1d1615130f0a0400020507080b0e1011121313131211100e0b08070502000000000000000000000000000000000000000000000000000000000000000000000000071118242f39434d57616c73808d949fa8a49f92867c6e675d51453f352b20170c030000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2929292929292929292929292929292929292d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221517222d38424e58606d7984919ea5a99e938a7d70675d626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c070604010000000000000000000000000000000713202d394653606c7885919eaa9e918477695f53463a2d2114060000000000000000000000000916222f3c4955626f7c8895a2afa79a8d8174675a4e412f24180d01000004101c2834404b556a7683909da9afa49a887b6e6155483b2e221508000b1824313e4b5764717e8a97a4b1a79a8d8074675a4d4134271a0e010000000b1825323e4b5865717e8b98a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807d869299a3abb5ac9f92867c6f685d53493f352b21170c0300000000000000000000000000000000000000000000000000071019212a313940454c52535b60636669707d8a979e9185786b6763605c54524d454039312921191007000000000000000c1925323e4b57636d737a7f84898f92999ea1a9a19e99928f89847f7a746f6a64605c55534d46443f3836302c27201d18130f0a040000000000000000000613202c3945515d677784909daab4ab9a8d8073655b5044372b1f140a000000000000000000000000000000000000010c13202c3945515d6775828e9ba8b5a89c8f8275665c5044382b1f1206000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000000030e18222a31373a3b44434241403f3e3d3c3b414e5a6774818d9a998c7f7266594c3f3c3d3d3e3f40414243443a3936302920170c020000000000020a11171b1f202729292929292922221f1b150e090e111414181a1c1e1f20201f1f1e1c1a181514120e0904010000000000000000000000000000000000000000000000000000000000000000000007121d28313c45505a606c78828f96a1aaa2989183796d605b51473d33291e150b0000000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d6054473a36363636363636363636363636363636363636363a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f22151c28333f4a545f6a73808d96a1aca2978e81756b6155626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d2019191919191919191919191919191919191919191919191919191413110d07010000000000000000000000000005121f2b3744505b6575818e9baca096887b6e6155483b2e23170c0000000000000000000000000916222f3c4955626f7c8895a2afa6998c807366594d4033261a07000000000c18232e424f5c6975828f9ca8b6ac95897c6f6256493c2f231609000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c80737d879299a4aca6998c80736a60584e453c332a21170f05000000000000000000000000000000000000000000000000060f19222b333c434b51565e61656c6f7375777e8a979e9184787674706d66615e57514b433b332b22190f060000000000000d192633404c5966737f868b91959b9fa3a69f9c97918c86827d78726d68625f5853514b46423b38332d2a251e1b16110d0701000000000000000000000004101d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b1106000000000000000000000000000000000007131d28333f4a54606d7a86929facb1a7988b7f7265544a3f34281c1003000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60606060606060606060606060606060606060606060606060606060606060605f524d453b30251a0e020000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000000a15202a343c43474851504f4e4d4c4b4a4948474f5b6875828e9b9a8d8073675a4d4748494a4b4c4d4e4f50514746413a32291e130800000000020b141b22272b2d343636363636362f2e2b262019141a1e20212527292b2c2c2d2c2c2b29272421211e1a14110d08020000000000000000000000000000000000000000000000000000000000000000010c161f2a333e44505b666d7a849198a3aaa0958e81756d62594f453b30271c120700000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d605447434343434343434343434343434343434343434343434653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221a242b3844505b666f7c87929fa8a69f92857a6e615956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d26262626262626262626262626262626262626262626262626262621201d18130c04000000000000000000000000030f1b27333f495364717e8b9aa4a8988b7e7265544a3f34281c100300000000000000000000000916222f3c4955626f7c8895a2afa5988b7f7265584c3f3225190c00000000071b2835424e5b6875818e9ba8b0a396897d7063564a3d3023170a000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b07000000000c1926323f4c5965727f8c98a5afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c8073717e87939aa4ab9e92857c6f6a5f574d453b332921170e0500000000000000000000000000000000000000000000040d18212b343c454d555c60686e73787c7f828486929fa196898482807d79746e69605d554d453d342b21180d030000000000101d2a3743505d6a768390989da0a8a29f9a948f8a84807b75706c65605d56544e4745403936312b28221c19130f0a040100000000000000000000000000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000000000000000000000000000000071118242f3844505b66717e8b98a2aeaca095887b6e6155483b2e23170b00000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60535353535353535353535353535353535353535353535353535353535353534846423b33291f1409000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c10030000000000000000000000000000000000020f1a26313c464e53555e5d5c5b5a595857565554535d697683909c9b8e8174685b535455565758595a5b5c5d5e54524c443a3025190d010000000a141d262d333739414343434343433c3b37322a2220252a2d2e313436373939393938373634312e2d2a25201d19130d070100000000000000000000000000000000000000000000000000000000000000040d182128333f4a545e686f7c86929fa5a79e938c7f726b60574d42392e23181006000000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d60544f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f53606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f221f2a36424d57606c78839099a3ab9f948b7e71685e5256626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a333333333333333333333333333333333333333333333333333333332d2c29241d160d040000000000000000000000000b17222d3b4754616e7a87939fa89b8f8275665c5044382c1f120600000000000000000000000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a000916232f3c4956626f7c8995acb6a89b8f8275685c4f422e23180c000000000d1a2633404d596673808c99a6afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c80736c717e88939fa3a19792857c6e695f574d453b332920170e050000000000000000000000000000000000000000010c161f2a333c464e575f676d737a8084898c8f919298a3a8a197918f8d8a85817b736d675f574e463d332a1f150b0100000000101d2a3743505d6a7683909da7a09d98928d88837d79736e6963605b53524c47433c38342f2a261f1c17110d080200000000000000000000000000000000000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f0802000000000000000000000003091119232935404b55606c7884919daab3a99d908477695f53463a2d1c110600000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60534746464646464646464646464646464646464646464646464646464646463b3a36302921170d02000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1003000000000000000000000000000000000006121f2b37434e585f626a69686767666564636261605c6a7784919d9c8f8275695c60616263646566676869696a615e564c41362a1d1105000006111b262f383f44464e5050505050504947433c34292c30363a3b3e41434445464646454443413e3b3a36312c29241e18130c0400000000000000000000000000000000000000000000000000000000000000060f17222d38424c56606a717e8b939da7a59f92877d70695e544a40342822180d040000000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d605c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2228313a46525e69727f8b959faba3999082776c60564c56626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c0100000000000000000000000614202d3946525e687783909daa9f9285796d6053463a2d20130800000000000000000000000916222f3c4955626f7c8895a2afa4988b7e7165584b3e3225180b000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b000815222e3b4855616e7b889aa4afa99d9083766a544b4034281c10040000010e1b2734414e5a6774818d9aa7afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c8073666c727f8b919ca4a19791857b6e695f574d453b322920170e050000000000000000000000000000000000000008131e28313c464e5860696e7980868d9196999c9d9fa3aaaba9a19e9c9a97928d8680796e6960584e453b31271d120700000000101d2a3743505d6a7683909d9b95908b85807b76716d66615e5753504945413a37322c29231d1a140f0b06000000000000000000000000000000000000000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e09060400000100000406090e141a232b353d45515d67717e8a95a0acada2978b7e7265574d42362a1e0a0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a393939393939393939393939393939393939393939393939393939392e2d2a251f170f0500000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000814212e3a47535f6a6e77767574737271706f6e6d6d66667885929e9d9083766b666d6e6f7070717273747576776d685e5246392d20130700000b17222d38414950535a5c5c5c5c5c5c55544e463c35393b4246474b4d4f515253535252514f4d4b4846423b39353029241d160d070000000000000000000000000000000000000000000000000000000000000006111c262f3a444e58626c74818e959fa9a39991857b6e665c51443e342a20160b0200000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a6d696969696969696969696969696969696969696969696969696969696d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f242f3a43505a616e7b86929fa7a89f92867c6e655b504956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281d1307000000000000000000000005111e2a36414c566773808d9aaaa298897c6f6356493c2f24190d01000000000000000000000916222f3c4955626f7c8895a2afa4988b7e7165584b3e3225180b000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b000714202d3a4753606d7a86939facab9e918478665c5145382c1f1306000004111d2935404b556976828f9ca9afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366626d727f8c929ca4a19791847b6e695e574d443b322920160e040000000000000000000000000000000000010d19242f3a434e58606a6f7b838c92989ea1a9a8aaa39f9e9e9fa3aaa8a9a29f98928d837b6f6a60574d43392f24180c03000000101d2a3743505d6a768390928e89837e79746e6a64605c54524d46443f38352f2b261f1c18120e09030000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312100c070e070c1013131a1f262a353d47505a606d7984919ea7b1a99f9285796d6053473b31261a0e0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21201e1a140d050000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000815222f3b4855626e7c83838281807f7e7d7c7b7a7978777887939f9e9184787778797a7b7c7d7e7f80818283847a6d6154473a2e21140700030f1b27333f49535b6067696969696969625f584e454045474d5254585a5c5e5f5f605f5f5e5c5a5754534d4745413a352f281f191109010000000000000000000000000000000000000000000000000000000000000a141d28323c46505a606d79839097a1aba1979083786d605a50463c32281d140a00000000000000000000000000000000000000131f2c3946525f6c7985929facada093877a767676767676767676767676767676767676767676767676767676767676788693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f2935414c55616c75828f98a2aca0968c80736a5f53494956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d605959595959595959595959595959595959595959595959595959595959595954514b433a2f24180d0100000000000000000000010d1925303d495663707d8998a2aa998c807366564c4135291d1104000000000000000000000916222f3c4955626f7c8895a2afa4988b7e7165584b3e3225180b000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b0006131f2c3845515c677885919eabac9f9286796d6053463a2d20130600000613202c3945515d677784919eaaafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c8073665b636d73808d929da5a19691847b6e695e564d443a322820160d040000000000000000000000000000000004111d2935414c555f6a6f7c8590959fa2aaa69f9c98989291919298979c9fa4aaa39f9590857c6f695f554b4035291f1509000000101d2a3743505d6a76838c86817c77716d67625f5853504a46423b37332d29241e1b15100c0701000000000000000000000000000000000000000000000000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c181b1a1b181c1f20262b31363f474f59616c74808d96a1adada2978d8073675d5145392a1f14090000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d2020202020202020202020202020202020202020202020202020201514120e0902000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100300000000000000000000000000000000000916222f3c4955626f7c88908f8e8d8c8b8a898887868584839099a49f9287838485868788898a8b8c8d8e8f90877a6e6154473b2e2114080005121f2b3744505b656c747676767676766f6a5f574d4b5153575e616467696a6c6c6c6c6b6a696764615e5754524c45403a312b231b130a010000000000000000000000000000000000000000000000000000000000020b16202b343f45515c676e7b859299a3a99f958d80746c61584e443a2f261b1106000000000000000000000000000000000000131f2c3946525f6c7985929facb6a99c8f82828282828282828282828282828282828282828282828282828282828282828f9ca9b5ac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2f303845515d67707d8a939eaaa49a9184796d60584e414956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6666666666666666666666666666666666666666666666666666666666666666605d554b4135291d110400000000000000000000000813202d3a4653606d7985929fa99d908376685d5245392c201307000000000000000000000916222f3c4955626f7c8895a2afa5988b7f7265584c3f3225190c000000010e1b2834414e5b6774818e9aa7b0a4978a7d7164574a3e3124170b0004101c2934404b55697683909ca9afa399887b6f6255483c2d22170b00010714202d3a4753606d7a86939facafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366595b636e74808d939da5a19691847b6e685e564c443a32281f160d040000000000000000000000000000030e18222c3945515d676e7c859297a0a7a8a09e94908b8886858586878a8f93999fa7a7a09792857b6e675d51453c31261a0e0000000f1b2835424e5b6875817f7a756f6b65605d55534e46443f3836302b27221b19130f0a040000000000000000000000000000000000000000000000000000000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c282327272723282c2d31373b42465159606b717e8a929da8b1a79f92857a6d61554b4035291d10040000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d201413131313131313131313131313131313131313131313131313080705020000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c100704000000000000000000000000000000000916222f3c4955626f7c88959b9a9a99989796959a93929190959faba39992909192989495969798999a9b9c94877a6e6154473b2e211408000613202d394653606c79808283838383837c6f695e56555d6065696e717476777879797978777674716e6966605d56514b433d352d251c130a000000000000000000000000000000000000000000000000000000000000040e19222834404b555e69707d87929fa5a79d928a7e716a5f564c41382d22170f050000000000000000000000000000000000131f2c3946525f6c7985929facb8ab9f948f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f949fabb7ac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c2e38424e58606d7a84919ea6a99f93887d70675c51463c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada09386797272727272727272727272727272727272727272727272727272727272727272726d675d5145392c201306000000000000000000000006131f2c3845515c6775828f9ca89f92867a6d6054473a2d211409000000000000000000000916222f3c4955626f7c8895a2afa6998c7f7366594c4033261906000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a00000c18232f414d5a6774808d9aa7b5ab978b7e716453493f33271b0f0b0e121c28333f4a5463707d899aa4afafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c80736659525c606c77818e939ea6a09691847a6e685e564c443a31281f160d04000000000000000000000000000a15202b37434e58606d7a849197a2a9a79f969189837e7b797878797b7e828790959ea5a9a1979184796d60574d42372b1d120700000e1b2734404d59656f75726d6863605953514b47433c38342e2a251f1b17110d0801000000000000000000000000000000000000000000000000000000000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa4aeaaa0958b7f72685e5243392f24180d010000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0b0a0805000000000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336291c1614100b0500000000000000000000000000000916222f3c4955626f7c8895a2a7a6a5a4a3a2aca49f9f9e9d9fa7b1aba39f9d9e9fa2aaa2a3a3a4a5a6a7a194877a6e6154473b2e2114080005121f2b3744505b656e7b858f8f8f8f8f857b6e685d60676d72777b7e80828485868685858482807e7b77726d68605d554f473f372e251c1209000000000000000000000000000000000000000000000000000000000000071018232e39434d57606b727f8c939ea8a49f92867c6f685d53493f332721170c0300000000000000000000000000000000131f2c3946525f6c7985929facb8b0a69f9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9fa6b0bbac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c343f4a54606a74808d96a1ada1978e81746b60554b403c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb2a6998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6054473a2d211407000000000000000000000004101c2834404b5565727f8b98a8a3998a7d7064574a3d31261a0e020000000000000000000916222f3c4955626f7c8895a2afa79a8d8074675a4d412e23170c000000030f1c2936424f5c6975828f9ca8afa296897c6f6356493c302316090000071824313e4b5764717e8a97a7b1a79a8e8174655b5044372b211b171a1d242b3844505b6673808d9aacb6afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d505b656c78818e949ea6a09691837a6d685e564c433a31281f160d030000000000000000000000020f1a26313b4754606a74818e96a0a9a89f9590847d76716e6c656b696e71757c838e939ea6a9a0968d8073695f5347392e23180c00000c1825313d48535d656866615e56544f4745403937312c28231c1a140f0b060000000000000000000000000000000000000000000000000000000000000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d494644404141414141404546494d53575f616d727d869298a2aeaca2989083786c60564c4131281d1207000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171714110c0500000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f4336292423201c171008000000000000000000000000000916222f3c4955626f7c88959d9c9b9a98979695949992919095a0aca399929091929994969798999a9b9c9d94877a6e6154473b2e21140800030f1b27333f49535e696f7c8692999c9790837a6d666d72797f83878b8d8f919292939292918f8d8a87837f7a736d676059514940372e241b0f0600000000000000000000000000000000000000000000000000000000000007121d27303b454f59636d75818f95a0aaa29891847a6d655b50443d33291e150b00000000000000000000000000000000131f2c3946525f6c7985929facb8b8b0aba9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9abb0b8b9ac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c3844505c666f7c87939fa9a69e92857a6d60594f43393c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9a89c918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e2115080000000000000000000000000c18232e3b4855626e7b8896a1ab9a8d817467574d42372b1e12050000000000000000000916222f3c4955626f7c8895a2afa89b8f827568544a3f34281c1003000004101d2935404b556a7683909da9b4aa95887b6e6255483b2f22150800000814212e3b4754616e7b8795a0acab9e9184786c6053463e332b2722252a2f35404a54606c7884919eabb8afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d49535b666d78828f949fa6a09590837a6d685d564c433a31281f150c030000000000000000000006121f2b37434e58626f7c89939da8aca09690837a706b6561605b575e61646a6f78818e949faaa89f92867b6e62554b4034281c1004000814202c37414b53595b5954524c48433d39352f2b261f1c17110e0903000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa49a92867c6f665b50443a301f160c01000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d27272727272727272727272727272727272727272727272727272727272423211c171008000000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f433633302f2c28211a11080000000000000000000000000916222f3c4955626f7c8891908f8e8d8c8b8a898887868583909daa9f92878385868788898a8b8c8d8e8f9091877a6e6154473b2e21140800000b17222d38414d57606a707e87939fa0958f82786e787f858b9095979a9c9d9f9f9f9f9e9d9c9a9795908c868079706b625b514940362c21180e030000000000000000000000000000000000000000000000000000000000000b151e29333d47515b606d79839198a2aaa0968f82776c60594f453b30271d1207000000000000000000000000000000131f2c3946525f6c7985929facb8b0a8a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a6aeb8ac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c424d57606d78839099a4aa9e948a7e71685d52473d303c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9ada39c999999999999999999999999999999999999999999999999999999999999999994877b6e6154483b2e2115080000000000000000000000000714212e3a47535f6a7884919eaa9e918477695f53463a2d2114060000000000000000000916222f3c4955626f7c8895a2afaa9d908377665c5044382c1f1206000006131f2c3845515d677885919eabaea298877a6d6154473a2e21140700000714202d3a46525e697784909dabada197897d70635a50453d37332d3136394045515c66717d8a96a1adb9afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d414a545c666d79828f949fa7a09590837a6d685d554b433931271e150c030000000000000000000814212e3a47535f6a76828f9ca5afa49a91847a6d6860595553504d5254585f666d78828f98a3aea3998d8074675c5145382c1f130600040f1a252f3941484d4e4c4746413a38322c29241d1a15100c060000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5a5b545c606266696e747b828b9299a2aaaea39f93887e706a5f544a3f32291e0d0400000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343431302d28221a12080000000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f433e3f3d3c38332c231a110800000000000000000000000915222f3c4855626f7c8584838281807f7e7d7c7b7a79787a8794a19f92867978797a7b7c7d7e7f8081828384867a6e6154473b2e211408000006111b262f3b454e58616c727f8b929d9f948e817b838c92979d9fa7a8a09e9c9b9a9b9c9d9fa4a7a09d98928d847d726d635b51483e332a201509000000000000000000000000000000000000000000000000000000000000030c17212b353f45515d676e7c86929fa4a89e948c7f736b60574d43392e231810070000000000000000000000000000131f2c3946525f6c7985929facb8a89e969393939393939393939393939393939393939393939393939393939393939393959ca6b1ac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255483c46535f69727f8c95a0aba2988f82766c61564c41352f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9b5ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e21150800000000000000000000000006121f2b37434e586774818e9aaba096887b6e6155483b2e23170c0000000000000000000916222f3c4955626f7c8895a2afac9f9286796d6053463a2d20130900000714202d3a4753606d7a86939facab9f928578685e5246392d201307000005111e2a36424d5666737f8c99a3afa99c8f82766c61574f46443f414142464b515a606d7883919da8b0b8afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d40424a545c676d79829095a0a7a09590837a6d675d554b433930271e150c0300000000000000000815222f3b4855626e7b88949fabac9f93877d6f685d564f4846444246484e545c666e7b86929facab9f9285796d6053463a2d201307000009131d272f373d40423f3a3936302c27201d18120f0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39f918c7f726c61584e42382d20170d0000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d605347404040404040404040404040404040404040404040404040404040404040403e3c39332c241a100500000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f464a4c4a48443e352c231a1108000000000000000000000815212e3b47535f6a6f7877767574737271706f6e6d676e7b8894a1a39886796c6c6d6e6f7071727374757677796e685e5246392d2014070000000a141d29333c464f59626d74808d939e9d938e8690959ea2a8a19e9896918f8e8d8e8f91939a9d9fa7a29f9691877f736d635a50453c31261a0e05000000000000000000000000000000000000000000000000000000000000050f19232935414b555f6a717e8a929da6a69f93877d70695e554b40342822190e0400000000000000000000000000131f2c3946525f6c7985929facb8a2968c87868686868686868686868686868686868686868686868686868686868686868a95a1adac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f62554844505a616e7b86929fa7a79f92867b6e615a50443a302f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e211508000000000000000000000000020f1a26313e4a5764717d8a99a4a8988b7e7265544a3f34281c100300000000000000000916222f3c4955626f7c8895a2afaea398887c6f6255493c31251a0d06030615222f3c4855626f7c889aa4afaa9d9083776a564c4135291d11050000020e1925303b4854616e7b87929fabab9f948a7d706a60595350494e4e4d53555d606c73808c959c9ea6b0afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4038424b555d676d7a839095a0a79f959082796d675d554b433930271e150c0200000000000006121f2b37434e586774808d9aa6b0a89b8e82756b60564c443d3937363a3c424a545f6975818e9baba7a2978a7d7064574a3d3124170a0000020b151d252c313435332e2d2a251e1b16100d070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6aea8a199928b7f736d635a50463c2f261c0e050000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49453e362c22170c00000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c4f51575957554f473e352c231a110800000000000000000006121f2b37434e585f626c6b6a696867656463626160626f7b8895a2aa93867a6d606061636465666768696a6b6c615e564c41362a1e1105000000020b17212b343e47515b606c78818f959f9d999299a0a7a49f96918b8884828181818284878b90959ea2a8a199928c7f736c61574e42372b22170b00000000000000000000000000000000000000000000000000000000000000071118242f3a434e58616c73808d949fa8a49992857b6e675c51453f342b20160b02000000000000000000000000131f2c3946525f6c7985929facada093877a797979797979797979797979797979797979797979797979797979797979788693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6255484c56616c76828f98a2aba0958c7f72695e53483e32282f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9a79d95939393939393939393939393939393939393939393939393939393939393939393877b6e6154483b2e211508000000000000000000000000000a14212e3a4754616d7a86939fa89b8f8275665c5044382c1f120600000000000000000916222f3c4955626f7c8895a2afb4aa988b7f7265574d42362a1f161210121c2834404a5465717e8b98acb6a79b8e8174685b4e413025190d010000000914202d3a46525e6975818e99a3afa69e92857c6f6b62605b535a5b575e61676d737e8893948f949eaaafa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d403039434b555d686d7a839096a0a79f959082796d675d554b423930261e140b0200000000000815212e3b47535f6a7884919eabaca096897c6f62594f443a322d2b2a2d3038424d5763707d89999b9a99988d8073665a4d4033271a0d000000030b131a202527282621201d19130f0a04010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808181828486898c90959a9fa3ababa49f9691877e736d635b51473e342a1d140a000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c1105000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c515b63666361594f473e352c231a11080000000000000000030f1b26323c464e53555f5e5d5c5b5a595857565556626f7c8995a2a194877a6e615455565758595a5b5c5d5e5f54524c443b3025190d0100000000050f19222c353f44505b666d79839096a1a39fa3aba49a938c847f7b777675747475777a7e838a9297a1a8a39f918a7e716a5f53473e33281c10040000000000000000000000000000000000000000000000000000000000000007131d28313c46505a606d78828f96a1aba1979083796d605a50463c32281d140a000000000000000000000000131f2c3946525f6c7985929facada093877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f625548525d68717e8a949faaa4999083786d60574d42362c232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9a2958b868686868686868686868686868686868686868686868686868686868686868686867b6e6154483b2e211508000000000000000000000000000713202d3946525d687683909da99f9285796d6053463a2d20130800000000000000000916222f3c4955626f7c8895a2afb6a99c8f8376695e53463c3128201f1c1f232c3844515c6675818e9ba8b3a9988b7f7265584c3f322519080000000005121e2a36424d57626e7c87929fa7ada19791857d746f6c6568676869696e7279808893958f828f9ca8afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d40333039434c565e686e7a849196a1a79f948f82796d675c544b423830261d140a00000000000915222f3c4855626f7c8896a1adaa9e9184776a6054473d3228201f1e2026303c4753606d79868f8e8d8c8b8b8276695c504336291d100000000002090f14181b1b191413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8d8e8f919298999d9fa7acaca69f99938d847d716c635b51493f352c22180b02000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6767676767676767676767676767676767676767676767676767676767676767676764615a5045392d211408000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695c5b636d72706b61594f473e352c231a110800000000000000000a15202a343c4347485251504f4e4d4c4b4a49495663707c8996a3a194887b6e615548494a4b4c4d4e4f5051524746413b32291e140800000000000007101a2328333f4a545d676e7a84919eabacafa49a93888079726e696968676869686d71767e859196a1aaa39f92867c6e625a5044392d20150a00000000000000000000000000000000000000000000000000000000000000010c161f2a333e44505c666d7a849199a3a99f958e81746c62584e443a2f261c11060000000000000000000000131f2c3946525f6c7985929facada093877a6d606060606060606060606060606060606060606060606060606060606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f62554f59606d7a85929ea6a89f93877c6f665c50453b3124232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867979797979797979797979797979797979797979797979797979797979797979797976695e52463a2d2014070000000000000000000000000005111d2935414c566673808c99aaa298897c6f6356493c2f24190d01000000000000000916222f3c4955626f7c8895a2afb9ac9f93877b6e61584e433a312d2c282b2e343f4953606d7985929eabada197887c6f6255493c2f22160900000000020e1a25303b47535f6a73808d95a0a8a9a1979188817c797674747476787b7f848d939890837e8a97a3afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d403328313a434c565e686e7b849197a1a69f948f82796d665c544a42382f261c1106000000000c1925323f4c5865727f8b98a8b2a79a8d807467584e43352b20161212151f2c3845515c677481828180807f7e7d7063564a3d3023170a00000000000004080c0e0f0c07070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3aaaaababa39f9b948f878079706b625a514940372e231a100600000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada09386797373737373737373737373737373737373737373737373737373737373737373737373716c6155493c3023170a000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f82766958636d727f7d706b61594f473e352c231a110800000000000000040e18222a32373b3c4544434241403f3e3d3d4a5763707d8a96a3a295887b6f6255483c3d3e3f4041424344463b3936302920170d0200000000000000081117222d38424b555e6873808c99a6b3ac9f93887e736d67615f575b5a5b565e61656c717b849198a2aea2988f82766c6155493c32271b0f0300000000000000000000000000000000000000000000000000000000000000040d182128343f4a545e686f7c87929fa5a79d938b7e716a60564c42382d22170f0600000000000000000000131f2c3946525f6c7985929facada093877a6d605453535353535353535353535353535353535353535353535353606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f625554606b74818e97a1ada1968d80746a60544a3f33291f232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e120500000000000000000000000000010d1924303c4956636f7c8998a2aa998c807366564c4135291d1104000000000000000916222f3c4955626f7c8895a2afbbafa4998d80746a5f554c433d3a383438393f44505b65717d8a97a2adab9e9285786c605346392d201306000000000009141f2b37434e58606d79839096a0a8a9a19a938e8985828181818284878c91969992867c7d8a97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d40332628313a444c565e696e7b859197a1a69f948f82786d665c544a42382d22170b000000030f1b27333f49536875818e9ba8b4aa978a7d7064574a3d3224190d0505101c2934404b55646f74757474737271706b6054483c2f221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a29e9b99928e88827c746d676059504840372e251c11080000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb3a79a8d8080808080808080808080808080808080808080808080808080808080808080808080807e7164574a3e3124170b000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695f6a727f8c867d706b61594f473e352c231a11080000000000000006101820262b2e2f3938373635343231313e4a5764717d8a97a4a295897c6f6256493c3132333435363738392e2d2a251e170e0500000000000000000006111c28343f4a54606d7a85929eabb7aa9d91847a6d665d55534d4e4e4e4c52545a61696f7c86929fa8aa9f948a7d7064584e43372b1f13060000000000000000000000000000000000000000000000000000000000000000060f17232e38424c56606a727f8b939da7a59f92867c6f685e544a3f332821180d03000000000000000000131f2c3946525f6c7985929facada093877a6d605447464646464646464646464646464646464646464646464653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f62555c666f7d88939fa9a59e9184796d60584e42382e2117232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d60606060606060606060606060606060606060606060606060606060606060605f524d453b30251a0e0200000000000000000000000000000813202d3a4653606d7985929fa99d908376685d5245392c201307000000000000000916222f3c4955626f7c8895a2afb4aba39f92877c6e675d554f4846443f44464a5059606c7883909da9b1a79a8e8174655b5044372b1f12050000000000030f1a26313c45515c676e7b8491969fa4aca49f9b97928f8e8d8e8f9196999e9892877e717e8a97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261f28323b444d575f696f7c859298a2a69e948f81786d665c544a3f33281c0f03000005121f2b3744505b657784909daaaea298877b6e6154483b2e21150800000c18232f3943535d64686968676665646360594f44382c2014070000000000000000000000000000000000000000000406071013131313131310100d0a050000000003060809121313131313130d0c0a0702000000000000000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817c766f6a605d554f473e362e251c130a000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8174675b4e4134281b0e010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f827669626e7b869292877d706b61594f473e352c231a110800000000000000060e151b1f21222c2b2a2928272625323e4b5865717e8b98a4a396897c706356493d3025262728292a2b2c21201e19140d050000000000000000000006121f2b3844505c66727f8c97a1adb8aca0968f81786c605b514842414141464750575f6a727f8c96a1ada69d9083766a6054473b2e22150900000000000000000000000000000000000000000101010101010101010101010006111c26303a444e58626d74818e95a0a9a39891847a6d665b50443e332a1f150b010000000000000000131f2c3946525f6c7985929facada093877a6d6054473a39393939393939393939393939393939393939393a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca295887b6f6257606d7984919aa4a99e938a7d70675d51463c30261c16232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d60535353535353535353535353535353535353535353535353535353535353534846423b33291f140900000000000000000000000000000006121f2c3844505c6675828f9ba89f92867a6d6054473a2d211409000000000000000916222f3c4955626f7c8895a2afaea39992999083796d6760595553504a5053545c606b727f8b959fabaca095897c6f6353493f33271b0f030000000000000a15202934404b555e696e7b848e939a9fa3aba9a19e9c9b9a9b9c9e9f9d9590867e70717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d403326162029323b454d575f6a6f7c869298939393938e81786d665b5044382b1f120600000613202d394653606c7985929facab9f928578695e52463a2d201407000007121d2731414b53595b5c5b5a59585856544f473d33271c100400000000000000000000000000000000000001070c1013141d2020202020201d1c1a16110a03040a0f1215151f2020202020201a1916130d07000000000000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817e7a746f6a626058514b433d352d241c130a01000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000060606060e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8e8174675b4e4134281b0e010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276695f6a707e869292877d706b61594f473e352c231a0e0400000000000000040a0f1215151f1e1d1c1b1a1925323f4c5865727f8b98a5a3968a7d7063574a3d3024191a1b1c1d1e1f1414110d080200000000000000000000000713202d3a4653606d7985919ea9b3b2aca89e938d80746d625a50463d3336393e454e58606d7984919eabab9f95887c6f6255493c31251a0e02000000000000000000000000000000010507070d0d0d0d0d0d0d0d0d0d0d0d0d0d0a141e29323d46515b606d79839097a1aaa1968f82786c60594f453c31271d12070000000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca195887b6e625f69737f8c95a0aca2978e81756b61554b40342b1e1516232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d60534746464646464646464646464646464646464646464646464646464646463b3a36302921170d0200000000000000000000000000000003101c28343f4a5465727e8b98a8a3998a7d7064574a3d31261a0e020000000000000916222f3c4955626f7c8895a2afac9f928692958f827a706b6562605c545b6062666d727d86929fa7b0a69d9083776b605441382d22170b00000000000000030c18232f39434d575e696e7981878f92999b9d9e9f9f9f9e9d9b9895908a837c706c717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a172029333c454e58606a6f7d868686868686868681796c605346392d20130600000714212e3a4754616d7a8798a2aeaa9d9084776a574d42362a1e12050000010b151f2f3941484c4e4f4e4d4d4c4b4a48443d352b21160b000000000000000000000000000000000000030b12181d1f202a2d2d2d2d2d2d2a2926221c150d0e151b1f21222c2d2d2d2d2d2d2625231e19120a010000000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868585848382807d7b7975716d68625f58544e45403a312b231b120a0100000000000000000000000b1825313e4b5864717e8b97a4aca89b8e8175685b4e4235281b0f0200000000000306060c13131313131b2734414e5a6774818d9aa7aca4978b7e7164584b3e3125180b0013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8e8174675b4e4134281b0e010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f82766958616c707d869292877d706b61594f473e352c20160c020000000000000000030608091211100f0e0d1926333f4c5966727f8c99a5a4978a7d7164574a3e3124170d0e0f1011130807050100000000000000000000000000091623303c4956636f7c8997a1adb2a8a19ea19d928b7f726c61584e453c322d333c44515c66727f8c99a7b1a79a8d807367574d42362a1e12050000000000000000000000000002080d1113141a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a17202b343f45515c676e7b859299a4a89f948d80736c61574d43392f2418100700000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2120202020202020202020202020202020202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca194887b6e61626e7b86929fa8a69f92857b6e61594f433a2f22190c16232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a393939393939393939393939393939393939393939393939393939392e2d2a251f170f0500000000000000000000000000000000000c17232e3b4855616e7b8896a0ab9a8d817467574d42362a1e12050000000000000916222f3c4955626f7c8895a2afa6998c7f8c94948f847d76726f6d666b666c6e72787f879298a3aea99f948a7e7164594f442f261b1106000000000000000007121d27313b454d575e676d747c82868b8e909192929291908e8b88837e786f6a64717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0e17212a333c464e58606b6f7979797979797979756c665b5044382b1f120600000815222f3b4855626e7b8895aab4a99c8f8276695c4f4330251a0e02000000030d1d262f363c4041424141403f3e3d3c38332b231a0f050000000000000000000000000000000000030d151d24292c2d363939393939393736322d271f161820262b2e2f3939393939393933322f2a241c130a0000000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433d352f281f191109000000000000000000000000000b1825313e4b5864717e8b979f9f9f9b8e8175685b4e4235281b0f02000000060b0f12131920202020201b2734414e5a6774818d9a9f9f9f978b7e7164584b3e3125180b0013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276696464646b707d859292867d706b61594f473d32281e130800000000000000000000000006050403020d1a2633404d596673808c99a6a4978b7e7164584b3e3125180b02030405060000000000000000000000000000000005111d2935414c566773808d9aa9b2a8a0969196a19f93877e706a60574d443a312834404a54616e7b8795a0acaa9e918477695e53463a2d211407000000000000000000000000050c13191d2021272727272727272727272727272727272727272934404b555e69707d87939fa6a69f93887d70695f554b40352922190e05000000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114131313131313131313131313131313202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca194877a6e616c76828f98a3ab9f948b7e72685e52473e31281d100916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21201e1a140d050000000000000000000000000000000000000614212d3a46535f697784919eaa9e918477695f53463a2d2114060000000000000916222f3c4955626f7c8895a2afa396897d828f97969189837f7b79787778797b7f848b9299a3aaaaa2978f82766c6155473d321d140a000000000000000000010b151f29333b454d555d606a6f757a7e8183858586858583817f7b77716d665f64717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0f18212a343c464f5960636c6c6c6c6c6c6c6c68605b544a3f33281c0f030000091623303c4956636f7c8996a2afa89b8e8275685b4f4235281c0900000000000b141d252b303335363534333231302f2c27211a11080000000000000000000000000000000000020c151f272f35383a4346464646464643423e3831281f222a31373a3c45464646464646403f3b352e251c120700000000000000000000000000000000080e171f252a33383d44484d5254545c60626567686a6b6b6c6c6c6b6a6a68666462605c5454524c47433c383229241d160d0700000000000000000000000000000b1825313e4b5864717e8b93939393938e8175685b4e4235281b0f0200020a11171c1f20262c2d2d2d2c202734414e5a6774818d93939393938b7e7164584b3e3125180b0013202c3946535f6c79869293939393939393939393939393939393939393939393939393939393939393939393939393939393938e8174675b4e4134281b0e010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f8f8276717171717171717c859292867d706b61594f443a3024190d01000000000000000000000000000000010d1a2734404d5a6773808d9aa6a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000713202d3946525d687784919daaaca09691849197a19992867c6f695f564c43392f2e3946535e697784919daaaca096877b6e6154483b2e2115080000000000000000000000050e171e252a2d2e34343434343434343434343434343434343434342f39434d57606b737f8c939ea8a49a92857b6e675d51453f342b20170c030000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070606060606060606060606060713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca094877a6d68717e8b949faaa3999083776c60564d41352c1f160c0916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d2020202020202020202020202020202020202020202020202020201514120e09020000000000000000000000000000000000000005121e2a36424d576774818d9aaba096887b6e6155483b2e23170b0000000000000916222f3c4955626f7c8895a2afa3968a7d7b8592999e95908b888685848486888c91959fa3abaaa29892857b6e615a5045352b210b0200000000000000000000030d172129333b434b51586062686e71747678797978787674726e6964605c5464717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d060f18222b343d474f54565f606060606060605b53504a42382d22170b0000000a1723303d4a5663707d8996a3b0a79a8e8174675b4e4134281b0e0100000000020b131a202427282928272625252322201c160f080000000000000000000000000000000000000a141e27313940454750535353535353504e4a433a31212a343c434748525353535353534d4b4740372e24190d0200000000000000000000000000000000050d141a21272c33383b4246474a505355585a5c5d5e5f5f5b60666c6c6c6c6c6a5c544a4745413a37312b272018130c040000000000000000000000000000000b1825313e4b5864717e868686868686868175685b4e4235281b0f00060b141c22282b2d333939393939382b34414e5a677480868686868686867e7164584b3e3125180b0013202c3946535f6c7987868686868686868686868686868686868686868686868686868686868686868686868686868686868686868174675b4e4134281b0e010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f90837e7d7d7d7d7d7d7d7e7f869392867d706b61564c4135291d1105000000000000000000000000000000010e1b2734414e5a6774818d9aa7a5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000714212e3a4754616d7a8796a0acaa9e91847b859298a29892857b6e685e554b42382d36424d576774818d9aa7b2a8978a7e7164574b3e3124180b00000000000000000000020c1720293036393a4040404040404040404040404040404040404040404040454f59606c77828f96a0aaa2979083796d605b51463d32291e150a0000000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca093867a6d6d7a85929ea6a89f92867c6e655b50443b30231a0d040916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d20141313131313131313131313131313131313131313131313131308070502000000000000000000000000000000000000000000020e1a26313d4a5764707d8a99a3a8988b7e7265544a3f34281c100300000000000916222f3c4955626f7c8895a2afa4978a7d717d8792989f9d9899929191919298989da0a8aba79f9892867d70695f53483e3323190f000000000000000000000000050f172129313a40454e54565e6164686a6b6c6c6c6b6a6865615f5753505864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d00061019222b353d43484952535353535353534e46443f382f261c11060000000a1724303d4a5763707d8a96a3b0a79a8d8174675a4e4134271b0e01000000000001090f14181a1b1c1b1a1a1918171614100b0500000000000000000000000000000000000006111c263039434b51535d6060606060605d5b554d433829333c464e53555f6060606060605957524940352a1e1307000000000000000000000000000000000002090e161c21272c30363a3b3f4446494b4d4f5051575f666c72797979797975665c504439352f2b26201b160d0701000000000000000000000000000000000a1724303d4956626c7179797979797979756f65594d4034271b0e090f181d262d3338393f4646464646453834404c58646e7479797979797979716c6256493d3024170a00121f2c3845525e6a757979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746f64594c4033271a0d010000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f95908a8a8a8a8a8a8a8a8a8c93999892867d70685d5246392d201307000000000000000000000000000000020e1b2835414e5b6874818e9b9f9f998c807366594d4033261a0d000000000000000000000000000000000000000000091623303c4956636f7c8996a8b2a89b8e81757c869299a19791847a6d675c544a3f33313e4b5865717e8b98a4b1a6998d8073665a4d4033271a060000000000000000000008131e29323a4146474d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d505b656d7a849198a2a9a0958e81756d62594f443b30261c110600000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca39986796d75818e97a2aca0968c80736a5f53493f32291f1108000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0b0a080500000000000000000000000000000000000000000914212d3a4754606d7a86929fa89b8f8275665c5044382b1f120600000000000916222f3c4955626f7c8895a2afa4978a7e71707d8690959d9fa39f9e9e9e9fa3aaa9a8a79f9d9590867d706b60574d42362c22110700000000000000000000000000050f171f282f353d43474c5254585b5d5e5f5f5f5e5d5b5855534d464b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000071019232b32383b3c4646464646464646423938332d261d140a000000000a1724303d4a5763707d8a96a3b0a79a8d8174675a4e4134271b0e010000000000000003070909131211100f0e0d0a09070400000000000000000000000000000000000000091317232e38424b555d60696c6c6c6c6c6c6a665f554a3e323b454e585f626c6c6c6c6c6c6c66635b52473b2f23160a00000000000000000000000000000000000000050b10161c1f252a2d2e34383a3c3e444d525b62696e787f8686868687796d6053463a2d241e1b150f0a040000000000000000000000000000000000000815212d3945505a62646c6c6c6c6c6c6c68655d53483d3124180d1419212a2f383f44464c535353535352443f3848535c64676c6c6c6c6c6c6c64625a5045392d21150800111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828f9393939393939393939393979fa4a39892857a6d6154473a2e211407000000000000000000000000000000020f1c2835424f5b6875828e939393938d8073675a4d4034271a0d0100000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a6998c7f73707e87939fa0969083796d665b50443f363c4956636f7c8996abb5a89c8f8275695c4f422e23170b000000000000000000010d1925303a444c52545a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a535d686f7c86929fa4a79e938b7f726b60564c42382e23170c00000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929fac9f928679707d89939ea9a59d9184796d60584e41382d20170d00000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171714110c050000000000000000000000000000000000000613202c3945515d677683909ca99f9285796d6053463a2d20130800000000000916222f3c4955626f7c8895a2afa4978a7e716b707c838a9095989b9d9e9f9f9f9e9d9b9895908a837b706b60594f453b31241a10000000000000000000000000000000050d161d242932373b4146474b4e505252535252504e4c4846423e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d00000007101921272c2f303939393939393939352d2b28221c140b02000000000a1723303d4a5663707d8996a3b0a79a8e8174675b4e4134281b0e010000000000040a0f131516201f1e1d1c1b1a171614100b050000000000000000000000000000000009121b2528343f4a545d676d767979797979797671665b4e423b444d575f6a6f78797979797979736d63574b3f3225190c000000000000000000000000000000000000000000050b1014191e202429323a414650565e616d727b828c929992877e71665c5044382b1f130f0a04000000000000000000000000000000000000000005111d29343e48505658606060606060605b59534b41372c200e171f252a333b424a5053595f6060605f5e504a42414a53585a60606060606060585650483e34291d1105000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b59534a41362b201408000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100101c2936434f5c6976828686868686868686868686868b93999992877e70685d5246392d20130700000000000000000000000000000003101c2936434f5c6976828686868686868074675a4e4134271b0e0100000000000000000000000000000000000000010e1a2734414d5a6774808d9aa7b1a4978a7e716c727f8b929d9f958f81786c605b51483e3b4754616e7a8799a4afaa9d9084776a544a3f34281c1003000000000000000005111d2a36414c565e6167676767676767676767676767676767676767676767676767676767676a717e8a929daba59f92877d6f685e544a3f34281c1003000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929fac9f9285797984919ea5a99d93897d70675c51463c2f261b0e0500000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a2d27272727272727272727272727272727272727272727272727272727272423211c171008000000000000000000000000000000000004111d2935414c5566737f8c99a9a297897c6f6356493c2f24190d01000000000916222f3c4955626f7c8895a2afa4978b7e71646a6f787e83888b8e909192929291908e8b88837e766e6960594f473d33291f120800000000000000000000000000000000040c131820272b3036393b3e4143454646454543413f3b3a363e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d00000000070f161b1f22232c2d2d2d2d2d2d2d28201f1c17110a020000000000091623303c4956636f7c8996a2afa79b8e8174685b4e4135281b060000000000070f161b1f22232c2b2a292827262322201c160f08000000000000000000000000000008111b242d373f44505c666d798286868686868683766a5d5043434c565f696f7c85868686868686807366594d4033261a0d00000000000000000000000000000000000000000000000710191f282f353e444c525a61696e767f8690949a93877e716c61544a3f34281c100100000000000000000000000000000000000000000000000c17222d363e45494b535353535353534e4d4841392f251a19202930363f454d545b60666c6c6c6c6c6a5c544a3f41484c4e535353535353534b49453e362d22170c00000915202b353f474e5253535353535359636b6c6c6c6c6b64615a534d53535353535353534d535b60656c6c6c6c6b686157535353534e4c4841382f251a0f03000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e11000f1c2835414e5a6670767979797979797979797979797e869392877e706c61564c4135291d1105000000000000000000000000000000020f1b2835414e5a657076797979797979746e64584c4033261a0d0000000000000000000000000000000000000000020f1c2835424f5b6875828e9ba8afa396897c70636d74808d939e9e938d80746d625a50463d4653606c7986939facab9e928578665c5044382b1f120600000000000000000713202d3946525e686d7373737373737373737373737373737373737373737373737373737373737374808d99a3aea39991847a6e665c5044382c1f1206000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929fab9e918578808d96a0aca1978e81746b60554b40342a1d140a0000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343431302d28221a120800000000000000000000000000000000010d19242f3c4956626f7c8997a2a9998c807366564c4135291d1104000000000916222f3c4955626f7c8895a2afa4978b7e71645f666d71777b7e8183858586858583817e7b76716c615f574f473d352b21180d00000000000000000000000000000000000001070d151b1e252a2d2e31353738393939383735322e2d313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000000000040a0f1315161f202020202020201b13120f0b06000000000000000915222f3c4855626f7b8895aab4a89b8f8275685c4f422d22170b0000000007101921272c2f3039383736353433302f2c27211a110800000000000000000000000007101a232d363f49525c606d78828f94939393938c807366594d434c565e686e7b85919793939992877d706356493d3023160a00000000000000000000000000000000000000000000040f19222b313a41454f565e616c717b828b92989a93887e716c615a5042382e23170b00000000000000000000000000000000000000000000000006111b242d34393d3e4646464646464642403d372f271d1e2529323b424651575f666c72797979797975665c5044383c4041464646464646463e3d39342d241b11060000040f19242d353d42454646464646525e6b757979797978706c615f57514b434646424b51575f656c71787979797873685c5046464641403c362f261d130800000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e11000d1925323d49545e66696c6c6c6c6c6c6c6c6c6c717e879392877e716c615a50443a3024190d01000000000000000000000000000000000d1925313d49545e65696c6c6c6c6c6c67645c52473c3024170b000000000000000000000000000000000000000003101c2936434f5c6976828f9ca9aea295887b6f62606c78818f959f9d928b7f726c61584e4544505b667885929fabac9f9386796d6053463a2d20130700000000000000000714212e3a4754616d7a80808080808080808080808080808080808080808080808080808080808080808086929facaba1969082786d6053463a2d201307000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faa9d91847b87929fa8a69e92857a6d61594f43392e22180b020000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d605347404040404040404040404040404040404040404040404040404040404040403e3c39332c241a1005000000000000000000000000000000000813202d394653606c7985929ea99d908376685d5245392c201306000000000916222f3c4955626f7c8895a2afa4978b7e7164545c6064696e72747678787979787675726e6964615a534d453d352b23190f060000000000000000000000000000000000000000040a0f14191e202125282a2b2c2c2c2b2a28252225313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d000000000000000307090913131313131313130f0606030000000000000000000714212e3a4754616d7a8798a2aea99c8f837669544a3f33281c0f030000040f19222b32383b3c464544434241403d3c38332b231a0f0500000000000000000000060f19222c353e48515b636e74818e949ea69e948e81746e63574b4b555d686e7a849197a1a49f93877e716b6054483b2f221609000000000000000000000000000000000000000000000a16212b343d434b515961686d757e858f949f9f93887f716c625a50483e30261c11060000000000000000000000000000000000000000000000000009121b22292d3031393939393939393534312c2518202830353e444d525b62696e787f8686868687796d6053463a2d33343939393939393931302d29221b12090000000008121b242b313638393939394653606c7987868686847d756e69605c554f46454f545c60696e777e8586868685786b5f524539393433302b251d140b0100000000000000000000000000000c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e11000915212c38424c545a5c6060606060605a626c717e879392877e716c615a50483e32281e130800000000000000000000000000000000000915212c38424c545a5c6060606060605a58524a41362b1f1408000000000000000000000000000000000000000003101d2a3643505d697683909ca9aea194877b6e615b666d79839096a09f93877e706a60574d444a546b7884919eabafa49a867a6d6053473a2d20140700000000000000000815222f3b4855626e7b888d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d9299a3aeb2a99f94897d7063564a3d3023170a000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faa9d9083839099a3aa9f948a7e71685d52473d30271d0f06000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49453e362c22170c0000000000000000000000000000000006121f2b3844505b6675828e9ba89f92867a6d6054473a2d211409000000000916222f3c4955626f7c8895a2afa4978b7e7164585053575f6165686a6b6c6c6c6b6a6865615f57555046423b332b231a1108000000000000000000000000000000000000000000000002080e111414181b1d1f1f201f1f1d1b191825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d00000000000000000000000606060606060606020000000000000000000000000613202d394653606c7985929facaa9e918477665b5044382b1f120600000a16212b343d434849535251504f4e4d4a48443d352b21160b000000000000000000050f18222b343e47505a626d73808d939da69f948f82786d605c524a545c676d7a839096a0a49c918b7f726c61594f44382c201307000000000000000000000000000000000000000000030f1b27323d464e555d606b707a818a92979f9b918b7f726d625a50483e362c1e140a0000000000000000000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d282724201d2429323a414650565e616d727b828c929992877e71665c5044382b27272d2d2d2d2d2d2d2524211d17110900000000000009121920262a2c2c2d2d313e4b5864717e889396918a827b736d67615953525960666d737b828b929792877e7064574a3d312d282724201a130b020000000000000000000000020507080c1926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e110005101b26303a42494e4f535353534e58626c717e879393877e716c615a50483e362c20160c02000000000000000000000000000000000004101b26303a42494e4f5353535353534e4c4741382f241a0e03000000000000000000000000000000000000000004111d2a3744505d6a7783909daaada194877a6e61545d676d7a849197a19992867c6f695f564c515e6b7784919eaab6a094877a6d6154473a2e21140700000000000000000815222f3b4855626e7b88959a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9fa3abb5bbb0a6968a7d7063574a3d3024170a000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929fac9f928790959faba2988f82766c61564c41352b1e150b00000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c1105000000000000000000000000000000030f1c28333f4a5465717e8b98a7a3998a7d7064574a3d31261a0e020000000916222f3c4955626f7c8895a2afa4978b7e7164584b464d5355585b5d5e5f5f5f5e5d5b5855534d49453e36312a211a11080000000000000000000000000000000000000000000000000000020507080b0e101213131212100e0c1825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657784909daaac9f9285796c605346392d20130600030f1b27323d464f54565f5e5d5c5b5a5956544f473d33271c100400000000000000040e17212a343d464f59616c727f8c929ca5a0959082796d665c5044505c666d79829095a0a59d928c7f736d625a50473d32271b100400000000000000000000000000000000000000000007131f2c38434e5860676d747d858e939fa29b918b7f726d625a50483f362d241a0c0200000000000000000000000000000000000000000000000000000000060c11151718202020202020201b1b191f282f353e444c525a61696e767f8690949a93877e716c61544a3f34281c1b20202020202020181715110c060000000000000000080f151a1d1f202024303d4956626c717f8b919e948f868079706b615f5d606b6f797f868f949f93887e716c6155493c30231b1a18140f08010000000000000000000003090e121415191926333f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100000a141e2830383d414346464647535f6a717e879393877e716c615a50483e362c231a0e04000000000000000000000000000000000000000a141e2830383d414346464646464641403c362f261d130800000000000000000000000000000000000000000004111e2b3744515e6a7784919daaada094877a6d6154555e686e7b859298a29892857b6e685e554b5e6a7784919daaada194877a6e6154473b2e21140800000000000000000815222f3b4855626e7b8895a1a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a7acaeb5acacaca3968a7d7063574a3d3024170a000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929faca39992999fa7a79f92867b6e615a50443a3023190c0300000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada093867a6d6767676767676767676767676767676767676767676767676767676767676767676764615a5045392d211408000000000000000000000000000000000b17222d3b4854616e7b8795a0ab9a8d817467574d42362a1e12050000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e4246484b4e505252535252504e4b4847423c39332a261f180f0800000000000000000000000000000000000000000000000000000000000000000204050606060504020b1825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536875818e9ba8aea398887b6e6255483b2d22170b0407131f2c38434f5960636c6b6a696867666360594f44382c201407000000000000040d162029333c464e58616b717e88939fa4a19690837a6d675d544a525c606d78818f949fa69e938d80746d635b51483e352b21160b000000000000000000000000000000000000000000000915222e3b4854606a6f79818a91979ea39c918c7f726d625b51483f362d241b12080000000000000000000000000000000000000000000000000000000000000005080a0b131313131313130f19222b313a41454f565e616c717b828b92989a93887e716c615a5042382e23170b131313131313130b0a0805000000000000000000000004090e11121315212d3945505a626d727f8b919c98928c847d756e69686d747c838c92989c918b7f726c625a5044392d20140d0b08030000000000000000000000060e141a1e2122252526333f4c5966727f8c99a5aa9d9184776a5e5144372b1e110000020c161e262c32353639393c4855626f7b869393887e716c615a50483e362c241a11080000000000000000000000000000000000000000020c161e262c3135363939393939393433302b241d140b0100000000000000000000000000000000000000000004111e2b3744515e6a7784919daaada194877a6e61544c565f696f7c869299a19791847a6d675c545e6b7784919eaaada094877a6d6154473a2e21140700000000000000000815222f3b4855626e7b88959f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f968a7d7063574a3d3024170a000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929facaba39fa3ababa0958c7f72695f53483e32281e11070000000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facada09386797373737373737373737373737373737373737373737373737373737373737373737373716c6155493c3023170a000000000000000000000000000000000614202d3a46525e697784919daa9e918477695f53463a2d2114060000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e363a3b3f4143454546464543423f3b3a37312d28221a140e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0ada6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000b17222d3f4c5865727f8b98a8b2aa978a7e7164544a3f33281b13101014222f3b4854606b6f79787776757473706b6054483c2f2216090000000000030c161f28323b454e58606a707d87929aa4a19791847b6e685d554b515b636e74818e939ea69e948e81776c605b51493f362c23190f04000000000000000000000000000000000000000000000916232f3c4956626f7c848e9393939393918c7f726d625b51493f362d241b12090000000000000000000000000000000000000000000000000000000000000000000000000606060606000a16212b343d434b515961686d757e858f949f9f93887f716c625a50483e30261c110600060606060606000000000000000000000000000000000001040605111d29343e48505a626d727f8c929c9f96918a827b73717a818891959f9d928c7f736d625a50483e33281c100400000000000000000000000000060f181f262a2d2e323232333f4c5966727f8c99a5aa9d9184776a5e5144372b1e11000000040c141b212528292d2e3a47535f6a73808c887e716c625a50483e362c241a120800000000000000000000000000000000000000000000040c141b212528292d2d2d2d2d2d2726241f1a130b020000000000000000000000000000000000000000000004111d2a3744505d6a7783909daaaea194877b6e6154484d57606a707e87939fa0969082796d665b5e6b7884919eabb4aa93877a6d6054473a2d21140700000000000000000815222f3b4855626e7b88939393939393939393939393939393939393939393939393939393939393939393939393939393938a7d7063574a3d3024170a000000131f2c3946525f6c7985929facada093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929facb5afacafafa4999083786d60574d42362c20160c000000000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb3a79a8d8080808080808080808080808080808080808080808080808080808080808080808080807e7164574a3e3124170b0000000000000000000000000000000005121e2a36424d576774808d9aaaa096887b6e6155483b2e23170b0000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312d2e32353738393939383735322e2d2b261f1c170e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000714212d3a4754606d7a8793a0aca6998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000616222f3c4955626f7c8896a1ada79a8e8174665b5044382d241f1c1d1f27303c4956636f7d868584838281807d7063564a3d3023170a00000000020b151e28313a444d575f6a6f7c869299a3a29892857b6e695e564c505a626d73808d939da59f948f82786d655b504940372d241a110700000000000000000000000000000000000000000000010e1b2734414e5a67748186868686868686867f736d635b51493f372d241b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d464e555d606b707a818a92979f9b918b7f726d625a50483e362c1e140a00000000000000000000000000000000000000000000000000000000000c17222d363f48515b636d737f8c929ca09e948f867f7d848d939aa09d938d80736d635b51483e362c22170b00000000000000000000000000030e18212a31363a3b3f3f3f3f3f4c5966727f8c99a5aa9d9184776a5e5144372b1e1100000000020a1015191c1c1f2b37434e58636d73807e716c625a50483e362c241a1208000000000000000000000000000000000000000000000000020a1015191b1c2020202020201b1a17140e0801000000000000000000000000000000000000000000000003101d2a3643505d697683909ca9aea295887b6f625548454e58616c727f8c929d9f948e81786c605b657885929eabaea29886796d6053463a2d20130700000000000000000815222f3b4855626e7b8686868686868686868686868686868686868686868686868686868686868686868686868686868686867d7063574a3d3024170a000000131f2c3946525f6c7985929facaca093877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693a0acac9f9386796c605346392d201300131f2c3946525f6c7985929facb8bbb9b2a89f93877c6f665c50453b31241a0e04000000000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8174675b4e4134281b0e01000000000000000000000000000000020e1a25303d4a5763707d8a98a3a8988b7e7265544a3f34281c100300000916222f3c4955626f7c8895a2afa4978b7e7164584b3e31252225282a2b2c2c2c2b2a282522211e1a15110c050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4aca295887c6f6255493c2f221609000714212d3a4754606d7a87939f9f9f998c807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000815212e3b47535f6a7884919eabab9e9185786c6053493f352f2c28292c2f39424f5966727f8c91908f8e8d8b7e7265584b3f3225180c000000000a141d273039434c565e696e7c859298a2a39992867c6f695f564d4f59626c727f8c929ca5a0959082796d665c53493f372e251b12080000000000000000000000000000000000000000000000010d1a2733404c58646e747979797979797979736d635b51493f372d251b12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434e5860676d747d858e939fa29b918b7f726d625a50483f362d241a0c02000000000000000000000000000000000000000000000000000000000006101b242d363f49515b636d73808d929da49e98928c8a91969fa49e938e81746e645b51493f362d241a10050000000000000000000000000009141f2a333b4246484c4c4c4c4c4c5966727f8c99a5aa9d9184776a5e5144372b1e1100000000000005090d0f0f1a26313c46525b646e73716d625a50483e362d241a120800000000000000000000000000000000000000000000000000000004090d0f101313131313130e0d0b080300000000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9ba8afa296897c6f6356493d46505a626d74808d939e9e938d80736d606c7986929facab9f928578665c5044382c1f120600000000000000000814212e3a47535f6a76797979797979797979797979797979797979797979797979797979797979797979797979797979797979706b6155483c2f231609000000131f2c3946525f6c7985929f9f9f9f93877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d7986939f9f9f9f9386796c605346392d201300131f2c3946525f6c7985929facacacacada1968d80746a60544a3f33291f120900000000000000000916232f3c4956626f7c8995a2ac9f9386796c605346392d20130013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8e8174675b4e4134281b0e01000000000000000000000000000000000914202d3a4753606d7a86929fa89b8f8275665c5044382b1f120600000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312518181b1d1f1f201f1f1d1b181514120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b979f9f9f95887c6f6255493c2f221609000714212d3a4754606d7a8793939393938c807366594d4033261a0d00000000000000000000000000000000000000000000000000000000000000000006131f2b37434e586774808d9aa6ada1978a7d70655b5045413a383435393b424b54606b7783909d9d9c9b95887b6e6155483b2e22150800000006111b262f39424b555e686e7b849197a2a49a92877d706a60574d4f59616c717e88939fa4a19690837a6d675d544a41382d251c1309000000000000000000000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c6c66635b51493f372d251b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4854606a6f79818a91979ea39c918c7f726d625b51483f362d241b12080000000000000000000000000000000000000000000000000000000000000009121b242d373f49525b636e74808d929da5a39f99979ea1a69e948e81786c605c524940372d241b110800000000000000000000000000020e1a26313b454d53555858585858585966727f8c99a5aa9d9184776a5e5144372b1e11000000000000000000000a15202a344049525c646765625a50483f362d241b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3e48515b606c78818f959f9d928b7f726c6d7a8799a3afaa9e9184776b544a3f34281c1003000000000000000006121e2b37424e575f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6361594f44382c201407000000131f2c3946525f6c7986929393939393877a6d6054473a2d2114070000000000000000000000000713202d3a4653606d798693939393939386796c605346392d201300131f2c3946525f6c7985929f9f9f9f9fa59e9184796d60584e42382e21170d0000000000000000000916232f3c4956626f7c89959f9f9f9386796c605346392d20130013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8e8174675b4e4134281b0e010000000000000000000000000000000006131f2c3945515d6776828f9ca99f9285796d6053463a2d20130800000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180c0e101212131312100f0c08080602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b9393939393887c6f6255493c2f221609000714212d3a4754606d7a86868686868686807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000030f1b26323c4855626e7b88949eaca99d9083786c605a524c4645404045474c545c66707d8995a0aaa99d918477695f53463a2d2114070000000b17222d38414a545d676d7a839196a1a49f93887e716b60584e4e58606b707e87929aa4a19791847b6e685d554b42392f261b130a00000000000000000000000000000000000000000000000000000814202b36414a53585a60606060606060605957514940372e251b13090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c848e9393939393918c7f726d625b51493f362d241b120900000000000000000000000000000000000000000000000000000000000000000009121b252d374049525c646e74808d939da59f9f9f9fa79f948f82786d665b504a40372e251b1209000000000000000000000000000005121e2a36424d575f616565656565656566727f8c99a5aa9d9184776a5e5144372b1e1100000000000000000000030e18222e37404a52585a585650483f362d241b120900000000000000000000000000000000000000000000000000000000000000000000000000010507071313131313131313080705020000000000000000000000000000000000000c1926333f4c5966727f8c99a5b2a5998c7f7266594c3f363f44505b666d79839096a09f93877e706f7c8995abb5a99c8f8376695c50432e23170c000000000000000000020e1a26313c454e535560606060606060606060606060606060606060606060606060606060606060606060606060606060606057554f473e33281c1004000000131f2c3946525f6c7986868686868686867a6d6054473a2d2114070000000000000000000000000713202d3a4653606d788686868686868686796c605346392d201300131f2c3946525f6c798692939393939393938a7d70675d51463d30261c0f060000000000000000000916232f3c4956626f7c89939393939386796c605346392d20130013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e010000000000000000000000000000000004101d2935404b5566727f8c99a9a297897c6f6356493c2f24190d01000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0204050606060504020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e868686868686867c6f6255493c2f221609000713202c3945525d687679797979797979736d63574b3f3225190c000000000000000000000000000000000000000000000000000000000000000000000a15212e3a47535f6a76828f9aa4ab9f958c7f726c605d5653514b4b5153565e666d7983909da7ada2978b7f7265574d42372b1e12050000030f1b27333f49535c666d79839095a0a59c928b7f726c61594f4d575f6a6f7d869299a3a29892857b6e695e564c433930271d140a010000000000000000000000000000000000000000000000000000030f1a252f3841484c4e53535353535353534c4b4640372e251c1309010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a67748186868686868686867f736d635b51493f372d241b1209000000000000000000000000000000000000000000000000000000000000000000000009131c252e37404a525c606c77818e93939393939393959082796d665c544a3f382e251c13090000000000000000000000000000000714212d3a46535f696e7272727272727272727f8c99a5aa9d9184776a5e5144372b1e11000000000000000000000006101c252e3840474c4d4b4a453f362d241b120900000000000000000000000000000000000000000000000000000000000000000000000002080d11131420202020202020201514120e0902000000000000000000000000000000000a1724313d4a5764707d8a97a9b2a89b8e817568564c4136333f4a545d676d7a849197a19992867c717e8a97a4b1a79a8e8174675b4e4134281b06000000000000000000000915202a333c4247485353535353535353535353535353535353535353535353535353535353535353535353535353535353534a48443e352c21160b00000000121f2b3844515d6974797979797979797976685d5245392c20130700000000000000000000000006121f2c3844505c66767979797979797979766c5f5346392d201300131f2c3946525f6c7986868686868686868681756c61554b40342b1e150a000000000000000000000916232f3c4956626f7c86868686868686796c605346392d20130013202c3946535f6c79869293939393939393939393939393939393939393939393939393939393939393939393939393939393938e8174675b4e4134281b0e0100000000000000000000000000000000000c18242f3c4955626f7c8897a1a9998c807366564c4135291d1104000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4956626c7179797979797979766a5f53473b2e2115080004111d2935414c565d6c6c6c6c6c6c6c6c66635b52473b2f23160a0000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e58626f7c87939fa8a79f93887e746d6863605c54555d6063686e78818e95a0aca69f9285796d6053473c31261a0e02000005121f2b3744505b656d78828f959fa59d938c80736d625a504c565f696f7c859298a3a39892867c6f695f564d443a31271e150b020000000000000000000000000000000000000000000000000000000008131d262f363c40414646464646464646403e3b352e251c130a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2733404c58646e747979797979797979736d635b51493f372d251b1209000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e384044505b656c7881868686868686868683796d675d544a42382d261c130a010000000000000000000000000000000815222e3b4855616e7b7f7f7f7f7f7f7f7f7f818f9ba8aa9d9184776a5e5144372b1e110000000000000000000000000a131c262e363c3f403e3d3a342d241b1209000000000000000000000000000000000000000000000000000000000000000000000000050c13191d20212d2d2d2d2d2d2d2d21201e1a140d050000000000000000000000000000000815222e3b4855616e7b8896a1adaa9d908477685e5246392d38424b555e686e7b859298a29892857b808d9aa6b4aa988b7f7265584c3f3225190c00000000000000000000030e18212a31373a3b4646464646464646464646464646464646464646464646464646464646464646464646464646464646463d3c38332c231a100500000000101c2935414d5862696c6c6c6c6c6c6c6c6c5d564c4135291d110400000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1200121f2b3844515d6974797979797979797979756f65594f433a2f22190c03000000000000000000000815222e3b4754606a6f79797979797979766c5f5346392d20130013202c3946535f6c7987868686868686868686868686868686868686868686868686868686868686868686868686868686868686868174675b4e4134281b0e0100000000000000000000000000000000000713202d394653606c7885919ea99c908376685d5245392c201306000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212d3945505a62646c6c6c6c6c6c6c625f584e43372b1f130600010d19242f3a444c525f606060606060605957524940352a1e130700000000000000000000000000000000000000000000000000000000000000000000020f1a26313c4754606a74818e96a0a9a49a9387807a74706d666a6a676d70747a828e939ea7a89f948b7e72675d5145392a1f140900000815212d3945505a606c77818e949fa69e938e81746e635b5146525e686e7b859197a2a39992867d706a5f574d443b32281f150c030000000000000000000000000000000000000000000000000000000000010b141d252b303334393939393939393933322f2a231c130a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c6c66635b51493f372d251b13090000000000000000000000000000000000000000000000000000000000000000000000000000010a131c2627333f49535b666c757979797979797979776d675d554b42392f261c140a01000000000000000000000000000000000b1724313e4a5764717d8a8b8b8b8b8b8b8b8b8f939eaaaa9d9184776a5e5144372b1e11000000000000000000000000010b141c242b30333432312e29221b1209000000000000000000000000000000000000000000000000000000000000000000000000050e161e252a2d2e39393939393939392e2d2a251f170f0500000000000000000000000000000714212d3a46535f697884919eabac9f93877a6d6154473c322f39434c565f696f7d86929aa197918483909daaaea298897c6f6356493c302316090000000000000000000000060f1820262b2e2f393939393939393939393939393939393939393939393939393939393939393939393939393939393939302f2c28211a110800000000000d1925303b4650585d5f606060606060605f524c443a2f24190d01000000000000000000000000000c17232e38424a505f60606060606060605f5a52493e33271b0f00101c2935414d5862696c6c6c6c6c6c6c6c6c68655d53473e31281d1007000000000000000000000006131f2b38434e5860626c6c6c6c6c6c6c6c645a4f43372b1e1200121f2c3845525e6a757979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746f64594c4033271a0d01000000000000000000000000000000000005121f2b3744505b6575818e9bac9f92867a6d6054473a2d211407000916222f3c4955626f7c8895a2aca4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343e485056586060606060606055534e463c32261b0f03000008131e28323a414553535353535353534d4b4740372e24190d0200000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58606d7a849197a2a9a499938d85807d79787777787a7c81868f949ea5a9a1969082776c60554b403529180e0300000a1724303d4956626c74808d939ea69f948f81786d605c52494754616e7a849197a1a49a92877e706b60584e453c322920160d0300000000000000000000000000000000000000000000000000000000000000020b131a202427272d2d2d2d2d2d2d2d2625231e19120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202b36414a53585a60606060606060605957514940372e251b130900000000000000000000000000000000000000000000000000000000000000000000000000000000010a1417222d38414a545b60686c6c6c6c6c6c6c6c6a605d554c433930271d140a0200000000000000000000000000000000000b1724313e4a5764717d8a97989898989898989b9ea6b0aa9d9184776a5e5144372b1e1100000000000000000000000000020b12191f2326272524211d181109000000000000000000000000000000000000000000000000000000000000000000000000020c1620283036394646464646464646463b3a36302921170d020000000000000000000000000005121e2a36424d576875818e9baaafa49a8b7e7164584e43372b313a444d57606b717e88939fa096919095a0abac9f9285796d6053463a2d201307000000000000000000000000060e151a1e21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423201c16100800000000000008141f2a343e464d5152535353535353535345413a32281e1308000000000000000000000000000006111c2630383f44535353535353535353534f4940372c21160a000d1925303b4650585d5f60606060606060605b59534b42352c1f160c000000000000000000000000030f1b27323d464e5456606060606060605f5a52493e33271b0f00111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b000000000000000000000000000000000000030f1b27333f495364717e8a9aa4a3998a7d7064574a3d3124170a000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222d363e45494b535353535353534947433c342a20150a000000010c1620282f35394646464646464646403f3b352e251c1207000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c45515d676e7c859297a0a7a49f97928d89868584848586898d92989fa6a79f9791847b6e655b50433a2f2418060000000b1825313e4b5864717e8b929da5a0958f82796d665c504a43505d6a76839096a0a99f93887e716c61594f463c332a20170e0400000000000000000000000000000000000000000000000000000000000000000001080f14181a1b2020202020202020191916120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e53535353535353534c4b4640372e251c13090100000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f38424a50535b60606060606060605d54514c433a31271e150b020000000000000000000000000000000000000b1724313e4a5764717d8a979f9f9f9f9f9f9f9f9f9f9f9f9d9184776a5e5144372b1e11000000000000000000000000000001080e1317191a181715110c060000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a41465353535353535353534846423b33291f140900000000000000000000000000020e1a26313e4a5764717e8a98a2aeac9c8f82766a5f53473f352f323c454f59616c727f8c929da09d9da0a7b1aa9c8f8275665c5145382c1f13060000000000000000000000000003090e121415202020202020202020202020202020202020202020202020202020202020202020202020202020202020171614100b0500000000000000020d18222c343b414446464646464646464639352f2820160c010000000000000000000000000000000a151e262e343846464646464646464646433e372e251b10050008141f2a343e464d515253535353535353534f4d48423930231a0d04000000000000000000000000000a16202b343d43474953535353535353534f4940372c21160a000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b59534a41362b201408000000000000000000000000000000000000000b17222d3a4754616d7a87939393938d8174675a4e4134271b0e000916222f3c4955626f7c8893939393938b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d34393d3e464646464646463c3b37322a22180e0400000000040d161e24292c393939393939393933322f2a241c130a00000000000000000000000000000000000000000000000000000000000000000000000000000a15202935414c555f6a6f7c8590959fa3a9a19e9a96979291909192999a9fa2aaa29f9590857b6e695e53493f31281d13070000000d1a2633404d596673808c99a4aa9d91847a6d675c544a3f45525e6b7885919ea8a5998c7f726c625a50473d342a21180e0500000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e13131313131313130d0c0a06020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131d262f363c40414646464646464646403e3b352e251c130a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f44464e5353535353535353504745413a31281f150c03000000000000000000000000000000000000000b1724313e4a5764717e8a93939393939393939393939393939184776a5e5144372b1e110000000000000000000000000000000003070b0d0d0b0b09050100000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525f60606060606060605f524d453b30251a0e02000000000000000000000000000914202d3a4753606d7985929fabab9f94887c6f625b5145403937333d46505a626d74808d939ea7aaabb1aea2988b7e7164544b4034281c1004000000000000000000000000000000020608081313131313131313131313131313131313131313131313131313131313131313131313131313131313130a0907040000000000000000000006101a222a3035383939393939393939392c29241e160d0400000000000000000000000000000000030c151c23282c3939393939393939393937332c251c13090000020d18222c343b414446464646464646464642413d3730271e11080000000000000000000000000000040f19222b32383b3c4646464646464646433e372e251b1005000915202b353f474e5253535353535353535353535353535353535353535353535353535353535353535353535353535353535353534e4c4841382f251a0f03000000000000000000000000000000000000000613202d3946525e687783868686868684776b5e5144382b1e11000916222f3c4955626f7c868686868686867e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b22292d3031393939393939392f2e2b2620181006000000000000040c13191d202d2d2d2d2d2d2d2d2625231e19120a010000000000000000000000000000000000000000000000000000000000000000000000000000040d19242f3a434e58606a6f7b838c92989ea1a9a7a9a29f9d9d9e9fa3aba9a19e98928d837b6e695f574d41382d1f160c010000000d1a2633404d596673808c99a3ac9f92867c6f695f564c4345525e6b7885919ea6a89c8f82786d605c52493f362c2319100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b141d252b303334393939393939393933322f2a231c130a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333839424646464646464646443a39352f281f160d0300000000000000000000000000000000000000000b1724313e4a5764717e8686868686868686868686868686868684776a5e5144372b1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c565e6c6c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000000000000000006131f2c3945515d6774818d99a3afa69c8f82766d625a514b474242414148515b606c78818f959fabb8b4aa9f92857a6d6054473a2e23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810181f25292b2c2d2d2d2d2d2d2d2d201d19130c04000000000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000006101a222a3035383939393939393939393534312c251e150c0000000000000000000000000000000007101920272b2e2f393939393939393937332c251c13090000040f19242d353d4245464646464646464646464646464646464646464646464646464646464646464646464646464646464646464641403c362f261d1308000000000000000000000000000000000000000005111e2a36414c5667717779797979797772675c4f43372a1d11000815212e3b47535f6a7679797979797979716c6256493d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d22211f1b150e06000000000000000001080d111314202020202020201a1916130d07000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860696e7980868d9197999c9d9fa3aaaaa9a19e9c9a97928d8680796e695f574d453b2f261b0d04000000000a1623303d495663707d87929aa4a29891857b6e685e554b424e5b6874818e949fa79e948e81746e635b51483e352b22180f060000000000000000000000000000000000000000000000000000000000000000000000000000030607090b0d0f1111121313121211100f0d0a08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a202427272d2d2d2d2d2d2d2d2625231e19120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d353939393939393939372d2c29241e160d040000000000000000000000000000000000000000000a1723303c4955616c71797979797979797979797979797979797771675b4f43362a1d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f1013130f0e0c09040000000000000713202d3946525e6876797979797979797976695e52463a2d2014070000000000000000000000000004101d2935404b55616e7b87929fa9ab9f948b7f726c605d55534d4e4e4e4b51535b666d7983909da9b6aea2988d8073675d5145392c1d1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d14191c1f1f202020202020201413110d0801000000000000000000000000000000000000000000060c1012202020202020202020201e1b1610090100000000000810181f25292b2c2d2d2d2d2d2d2d2d282825201b140c030000000000000000000000000000000000070f161b1f22232d2d2d2d2d2d2d2d2b27211b130a0100000008121b242b31363839393939393939393939393939393939393939393939393939393939393939393939393939393939393939393433302b251d140b010000000000000000000000000000000000000000010d1925303a44555f676a6c6c6c6c6c6b6760564b3f33271b0e0006131f2b37434e585f626c6c6c6c6c6c6c64625a5045392d21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c11151718202020202020201615130f0a04000000000000000000000001040707131313131313130d0c0a0702000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a333d464e575f676d737b8085898c8f919298a3a8a196918f8d8985807b736d675e574d453c33291d140a00000000000916222f3b4854606b717e88939fa4a19791847a6d675d544a4653606d78828f959fa69d938d80736d625a50473d342a21180e050000000000000000000000000000000000000000000000000000000000000000000104060b10121315171a1c1d1e1f1f201f1f1e1d1b19171514120e0906030000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b2020202020202020191916120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282d2d2d2d2d2d2d2d2a21201d19130c04000000000000000000000000000000000000000000000814212d3945505a61646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f564b3f33271b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201c1b1915100902000000000714212e3a4754616d7a86868686868686867b6e6154483b2e21150800000000000000000000000000000c18242f3946535f6974808d96a1aba69f92877e736d67615f575b5a5b555d60636a6f7a83909daab6ab9f92857a6d61554b42382d2217110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d101213131313131313130707040100000000000000000000000000000000000000000000000000030613131313131313131313120f0a050000000000000000060d14191c1f1f20202020202020201c1b19150f090200000000000000000000000000000000000000040a0f13151620202020202020201e1b16100901000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b020000000000000000000000000000000000000000000008131e2932434d555b5d60606060605e5c564e44392e23170b00030f1b26323c464e535560606060606060585650483e34291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b1313131313131309080603000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b343d454d555d60696e73787c7f828486929fa196898482807d79746e69605c554d453c332a21170b0200000000000713202c38444f59616c727f8c929da5a0969083796d665c5044515c666d79839096a0a59c928b7f726c61594f463c332920170d0400000000000000000000000000000000000000000000000000000000000001070d1113171c1f20222426292a2b2b2c2c2c2b2b2a28262422211e1a1312100c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e13131313131313130d0c0a06020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b20202020202020201d1413110d0801000000000000000000000000000000000000000000000004111c28333e48505557606060606060606060606060606060605e5b564d44392e23170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d292825211b140c030000000714212e3a4754616d7a87939393939393877b6e6154483b2e211508000000000000000000000000000007121d2a36424d57606d7a849199a3aba39992878079736e696968676869676d70757c8490959fabb3ab9e91847a6e675d544a3f3328231a100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d10121313131313131313130f0e0c09040000000000000000000000000000000000000000000000030608091313131313131313120f0a050000000000000000080f151a1d1f20202020202020202020202020202020202020202020202020202020202020202020202020202020202020201b1a18140f08010000000000000000000000000000000000000000000000020d1720313b434a4f515353535353514f4b443c32281d120600000a15202a343c434749535353535353534b49453e362d22170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070b0d0f111213131212100e0c080705020000000000000000000000000000000000000000000000000000000000060f19222b333c434b51565e61666c6f7375777e8a979e9184787673706d66615e56514b433b332a21180f0500000000000003101b27323d47505a626d73808d939ea69f958f82786d605b524a545d676d7a849197a1a49f93887e716b60584e453b32291f160c0300000000000000000000000000000000000000000000000000000003090e13181d2023282b2d2f3133353737383939393837373533312e2d2a26201f1c17110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f1313131313131313110706040100000000000000000000000000000000000000000000000000000c17222c363e45494a53535353535353535353535353535353514f4b443b32281d12060000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f272d32353639393534312c261e150c0200000714212e3a4754616d7a87949f9f9f9f94877b6e6154483b2e2115080000000000000000000000000000010e1a26313b45525d686f7d879299a3aaa399938d847f7b787675747475777a7d828991969fa7aca6a8a1969083796d665b50443f362c22190f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b0906010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e111213131313131313131313131313131313131313131313131313131313131313131313131313131313131313130e0d0b08030000000000000000000000000000000000000000000000000000050e1f2931393f4244464646464644433f39322a20160c010000040e18222a32373b3c464646464646463e3d39342d241b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d10111213131211100d0a07060400000000030505060606060606000000000000000000000000000000000000000000000000000002080d111314171a1c1e1f1f201f1f1d1b181514120e090400000000000000000000000000000000000000000000000000000000071019212a313940454d52545b60636669707d8a979e9185786b6763605c54524d454039302921180f0600000000000000000b16212b353e48515b606c77818e949fa79e948e81746d635a504b555e686e7b859198a2a49a92877d706a5f574d443a31281e150b02000000000000000000000000000000000000000000000000040a0f151a1d24292c2e34383a3c3e404244444546464545444342403d3b3a36312d2c28231c19130d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100f0d0b080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a242c33393c3e4646464646464646464646464646464644433f39322920160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e4243464642413d3730271e140900000714212e3a4754616d7a8794a0acaca194877b6e6154483b2e21150800000000000000000000000000000009141f2935414c56606b717e879298a0a8a49f97918c8885838181818283868a8f939da0a8a39f999b9e9f958f81786c605b51483e342b21170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d0600000000000000000004090e111213131313131313131313131313131313131313131313131313131211100e0c0a07060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d171f272e33363739393939393837332e2820180e040000000006101820262b2e2f3939393939393931302d29221b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d111314171a1d1e1f1f201f1e1c1a171413100c07010c0f1112131313131313090907030000000000000000000000000000000000000000050b1013191d20212427292b2b2c2c2c2b2a282522211e1a14100c07010000000000000000000000000000000000000000000000000000070f181f272f353b42464a5053565964707d8a979e9185786b5e5653504a46423b342e271e170f06000000000000000000040f19232c363f44505b656d78828f95a0a69d938c80736c62594f4c565f696f7c869299a3a39992867c6f695f564c433a30271d140a0000000000000000000000000000000000000000000000070c151b20262b2f35393a3f4446484a4d4f5051525253525251504e4c4a4846423d3a38342e29251e19140d050000000000000000000000000000000000000000000000000000000000000000000000000004070c10121316191b1d1e1f1f201f1f1e1d1b19171414110e0806030000000000000000000000000000000000000000000000000004090e1112131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130b0a080400000000000000000008121a22282d3031393939393939393939393939393939393736332e2820170e04000000000000000000000000000000000000000000000000000000000000000000000000000000000005111c27313a434a4e5053534f4d49423930261b1004000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e211508000000000000000000000000000000030d19242f3a444f59616c717e8691969fa2a9a19e9997918f8e8d8e8f9092999b9ea5a69f99928d8e939e9e938d80746d625a50463d33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d18110901000000000000080f151a1d1f202020202020202020202020202020202020202020202020201f1f1e1d1b19161413100c07040100000000000000000000000000000000000000000000000407090a13131313131313131313131313131313131313131313131313131313131313131313131313131313130b0a080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151c2227292a2d2d2d2d2d2b2a27231d160e06000000000000060e151b1f21222d2d2d2d2d2d2d2524211d171109000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292724201f1c18120e181c1e1f2020202020201615130f0a0400000000000000000000000000000000040a0f171c1e24292c2d3133363738393939383735322e2d2a261f1d18120b060000000000000000000000000000000000000000000000000000060d151d24293036383f44464a5764707d8a979e9185786b5e5246443f38363028231d150c05000000000000000000000007111a2427333f49535c666d79839096a1a59c928b7e716b61584e4d575f6a707d879299a4a29891857b6e685e554b42392f261b11060000000000000000000000000000000000000000030b121820262b31373a4145474a50535557595c5d5e5e5f5f5f5e5e5d5b595755534d4946443f3835302a251e170e0802000000000000000000000000000000000000000000000000000000000000000001070c1013181c1f20232527292b2b2c2d2c2c2b2a28262421201e1915120f0a0300000000000000000000000000000000000000000000080f151a1d1f20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020171714110c0500000000000000000810171c2123242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2a27231d160e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60605c59544b42372c211509000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e2115080000000000000000000000000000000008131e28323d47505a616c717c848c92989d9fa4a9a19e9c9b9a9b9c9d9fa3a9a29f9a94908780818e949f9d928b7f726c61584e453b31251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b1309000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2c2b29282623201f1d1813110d080100000000000000000000000000000000000000050b101416172020202020202020202020202020202020202020202020202020202020202020202020202020202020171714110c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b11161a1d1e20202020201e1d1b17120c040000000000000000040a0f13151620202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e24292c2d3033363738393939383634302d2c29231d1a24282b2c2d2d2d2d2d2d23221f1b160f070000000000000000000000000000070f151b22282d3035393a3e404244454646454543413f3b3a36312c29241d17110a0200000000000000000000000000000000000000000000000000030b12181f252a2d33383d4a5764707d8a979e9185786b5e524538342e2a251f18120b0300000000000000000000000000091217222d38414b545d676e7a849197a1a49f92877d706a60574d4e58606b717e87939fa4a19791847a6d675d544a41382d22171209000000000000000000000000000000000000070c151d232831373c42474b5154545c60626466686a6a6b6c6c6c6b6a6a686664615f575653504a46413a3630292019130d05000000000000000000000000000000000000000000000000000000000003090e12181d1f23282c2d3032343638383939393838373533312e2d2a25211f1b150f0b060000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c1710080000000000000000050c11141717202020202020202020202020202020201e1d1b17120b04000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a26323e4a545e66696c6c68655d54493d3125190c000714212e3a4754616d7a8794a0a2a2a194877b6e6154483b2e21150800000000000000000000000000000000010c16202b343e48505a616a6f797f858b90939a9a9c9d9e9f9f9f9e9d9c9a9897928d88837c7378828f95a09f93877e706a60574d42362a1e1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b110600000008121b242b31363839393939393939393939393939393939393939393939393939393837363432302d2c2924201d19130e0902000000000000000000000000000000000810161c2023232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060a0e1011131313131311110e0b0601000000000000000000000003060809131313131313130b0a0805000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f181f262a2f35393a3d404344454646454443403d3a38342f2a252f3437383939393939392f2e2c272119100700000000000000000000000009101920272b33393a4145474a4d4f515252535252504e4b4846423b39352f27221b140b050000000000000000000000000000000000000000000000000001070c14191c2228313d4a5764707d8a93939185786b5e52453828231c19140c070000000000000000000000000000000006111b262f39424c555e686e7b859298a2a39992867c6f695f564c4f59616c727f8b929ca5a0969083796d665c53493f3327241a1007000000000000000000000000000000000810191e272e343c43474d53555d6064666d6f7173757777787979787877767573706e696763605c54524c46413b322a251e170e06000000000000000000000000000000000000000000000000000001070c141a1d24292c2e34383a3c3f4143444546464645444342403e3b3936302e2b261f1c17110a020000000000000000000000000000000008121b242b3136383939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393931302d28221a120800000000000000000004080a0b1313131313131313131313131313131311100e0b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c2935424e5a6670767979756f65594d4134281b0e000714212e3a4754616d7a87949595959594877b6e6154483b2e2115080000000000000000000000000000000000040d19222d363e48505860676d737a7f83878a8d8f90929292929190908e8b8885807c766f6a6d7a8390969a9992867c6f695e53463a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d0100040f19242d353d42454646464646464646464646464646464646464646464646464646454443413f3d3a38352f2c29241e1a140c06000000000000000000000000000008111a21272c2f30393939393939393939393939393939393939393939393939393939393939393939393939393939393931302d28221a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b1218212a31363a4145474a4d505152525352514f4d4a4745403936313a4044454646464646463c3b38322b22190f04000000000000000000020a131b222b32373e44494c5254575a5c5e5e5f5f5f5e5d5b5855534d47454039332d261d170e06000000000000000000000000000000000000000000000000000002090e111724313d4a5764707d8686868684786b5e5245382b17110e09020000000000000000000000000000000000000a141d27303a434c565f696f7c869299a3a29892857b6e685e554b505a626d73808d939da69f958f82786d655b50443f362c22190f04000000000000000000000000000009111a222a303940454e53575f62676d7175797b7d8082838485858685858483817f7d7b7874706d66615e56524c443e36302920180f07000000000000000000000000000000000000000000000000030b12181f252a2f35393a404446494c4e5051525253525251504e4c4a4746413c3a37312b28221c140b070000000000000000000000000000040f19242d353d4245464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768286868175685c4f4235291c0f000714212e3a4754616d7a87888888888888877b6e6154483b2e21150800000000000000000000000000000000000007101b242d363e464e555c60676d72767b7e80828485858685848483817e7c79746f6a625f686e7b848d8d8d8d8d857b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d1206000915202b353f474e5253535353535353535353535353535353535353535353535353525251504e4c494745403a39352f2a251f17110a03000000000000000000000005101a232c33383c3d46464646464646464646464646464646464646464646464646464646464646464646464646464646463e3c39332c241a100500000000000004090e111213131313131313131306040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e111213131313131313131306040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c2328333b42464c5254575a5c5e5e5f5f5f5e5c5a5753514b46423b454c50525353535353534948433d342b21160a0000000000000000000a141c252d343d43475055565d606466696a6b6c6c6c6b6a6865615f5753514b443f382f292018100600000000000000000000000000000000000000000000000000000000061623303c4955616c70797979797872685c5043372a1e06000000000000000000000000000000000000000000020b151e28313b444d57606a707d87929fa3a19791847a6e675d544a515b636e74818e949ea79f948e81776c605b51483e342b21160a0000000000000000000000000009121b232c343c424b51585f62696e747a7d8185888a8c8f9091919292929191908e8c8a8884807d79736d68615e565046413a322a2119100700000000000000000000000000000000000000000000060d151d24293136394045474a515356585a5c5e5e5f605f5f5e5d5b595754524c4847433c38332d261d18120b030000000000000000000000000915202b353f474e52535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c00000000000000000000000000000000000000010406070a0c0e101112131313121211100e0c0a070604010000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000713202d3a4653606d787c7c7c7c7c7c7c7c786d6053463a2d2013070000000000000000000000000000000000000009121b242d343d434b51555d6065696e717375777879797978777674716f6d66625f58565e696f7c8181818181807f7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e221509000e1a26313d4751595e5f60606060606060606060606060606060606060606060605f5f5f5e5c5b595653514b4745413a363028231c150c05000000000000000000000b16212c353d44484a53535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c0000000000080f151a1d1f20202020202020202013100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f151a1d1f20202020202020202013100c070100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e272e343f454d53565d606366696a6b6c6c6c6b696763605c55534d444f575c5f60606060606056544e463d32271b0f030000000000000009121c262e373f464e545a6164686d7173757778797978787674726e6965605d555049413a322a221810060000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6b6860564b4034281b0f00000000000000000000000000000000000000000000030c161f29323c454e58616b717e8b919ca4a0969083796d665c5349525c606d78828f959fa69e938d80736d625a50473d32271b0f03000000000000000000000009121b242d353e464e545c606a6f757b81868a8e929797999b9d9d9e9f9f9f9e9d9d9b999796918d8985807a746e68615a524c443c332b2219100700000000000000000000000000000000000000000910181f272f353b42464b5153545c60636567696b6b6c6c6c6b6b6a686664615e5655534e46443f382f28231d150c0500000000000000000000000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c11040000000000000000000000000000000104080d11131417191b1d1e1f1f20201f1e1e1d1b19161413100d0704000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0006121f2c3844505c666d6f6f6f6f6f6f6f6f6d665c5144382c1f1206000000000000000000000000000000000000000009121b222b313940454b5154575e616467696a6b6c6c6c6b6a69676562605c54534e4d575f6a6f747474747474726d62564a3d3124180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b00111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676563605d5554524c46423b342e261e170f06000000000000000004101c27333d474f55566060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c110400000009121920262a2c2c2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d1f1c18120b0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121c273039404451575f61686d7073767778797978777673706d67615e57505761686b6c6c6c6c6c6c6260584e43382c1f130700000000000006101b242e384049515860626c70757a7d808284858586858583817e7b77726d67605b534c443c342a22180e05000000000000000000000000000000000000000000000000000004101c28333e48505557606060605e5c564e453a2f23170b0000000000000000000000000000000000000000000000040d17202a333d464f59626c737f8c929da5a0958f82786d655b5044505c666d79839095a0a59d928c7f726c61594f43382c1f13070000000000000000000007101b242d363e474f585f666d737c82878e92989b9ea2a9a6a8aaa8a7a6a6a6a7a8a9a8a6a8a19e9a97928c86807a716c615e564d453c342b22190e0500000000000000000000000000000000000009121b222a313940454d53555d6065666d6f72747677787979797877767573716e6867625f5853504a423d342e271e170e0500000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d2114080000000000000000000000000002080d1113191d2021232628292b2c2c2c2c2c2b2b2a28252320201d1813100c0700000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0003101c28343f4a545c606262626262626262605c544a4034281c10040000000000000000000000000000000000000000000910191f272f343a4145474d5254575a5c5d5f5f5f5f5e5d5d5b585553514a4743454e585f6267676767676765625b51463a2e2215090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c00121f2c3845525e6a7579797979797979797979797979797979797979797979797979797877767472706d6765605d56524d443f38302921180f06000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d211408000008121b242b3136383939393939393939392c29231d150d03000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242b3136383939393939393939392c29231d150d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424a515b63696e747a7d808384858586858482807d79746e69605b536873787979797979796f6a6054483b2e2215090000000000030e18222d36404a525b626a6f767d82868a8d8f919192929291908e8b88847e79716c655e564e463c342a20170c0300000000000000000000000000000000000000000000000000000b17222c363e44494a5353535352504b453c33281e1207000000000000000000000000000000000000000000000000050e18212b343e47505a636d74808d939ea69f948e81776c6053464a545d676d7a839196a1a49f93887e716b6054483b2f221509000000000000000000050e19222d363e485059616a6f7980878f93999fa3aaabaaaaa29f9d9b9a9a999a9a9b9d9fa2aaa9aba9a19e98928d857e756d685f574e463c342a20170c030000000000000000000000000000000009121b242c343c434b51575e61676d7175797c7f81838485858685858483817f7d7a77736f6a64605b544f454039302920170f05000000000000000000121f2c3845525e6a7579797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a000000000000000000000001080d13191d2024292c2d303335363738393939393837363432302d2c29241f1c18120b060000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f00000c17232e38424a5053555555555555555553514a42392e23180c0000000000000000000000000000000000000000000000070d151d23292f35393b4246474a4d4f51525253525151504e4b4946444039373c464e53555a5a5a5a5a5a585651493f34291d120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d20130013202c3946535f6c798786868686868686868686868686868686868686868686868685858483817f7c7976726d68615e57504a423b332a22180f050000000000000916232f3c4855616b707979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a00040f19242d353d424546464646464646464638342f271f150b01000000000000000000000000000000000000000000000000000000000000000000000000000000040f19242d353d424546464646464646464638342f271f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a545c606d727b81868a8d8f9191929292918f8d8a85807b726c655c6b78858686868686867c6f6256493c2f23160900000000000a15202a343e48525c636d727c838a8f9299999c9d9e9f9f9f9e9d9b9895908b857e776d685f584e463c32291e150a000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464543403a332a21170c0100000000000000000000000000000000000000000000000000060f19222c353f48515b606c78818f94939393938c7f7366594c424b555d686e7b84919793939a92867c6f6356493c302316090000000000000000020d17202b343e48505a616b707c838c92999fa4abaca7a09d999892908f8d8d8d8d8d8f909298989c9fa4abaaa29f97928a827a6e6960584e463c32291e150b00000000000000000000000000000008121b242d363e464e555d60696e74797e8285898b8d8f91919293929291908e8c8a8784807c76716c666059514b433b332921170e05000000000000000013202c3946535f6c79878686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b00000000000000000000040c13191e24292c2f35393a3d3f4143444546464645454443413f3d3a39352f2c28231d17110a02000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000006111c2630383f444649494949494949494644403930271c1207000000000000000000000000000000000000000000000000030b12181d24292c30363a3b3e40424445464646454443413e3c3a38342e2b343c4347484e4e4e4e4e4e4b4a463f372d23180c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d20130013202c3946535f6c79869293939393939393939393939393939393939393939399929292918f8e8c8986827e7a746e69605c544d453c342a21170c0200000000000a1723303d4a5663707d86868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b000915202b353f474e5253535353535353535345403931271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000915202b353f474e5253535353535353535345403931271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000030e18212c3844515c666d757f878d9298999c9d9e9f9f9f9e9c9a98928d867f776d666679869293939393887b6e6255483b2f22150800000000030f1b26313c46505a636e737f8790949c9fa3aba8a5a3a1a1a1a3a5a7a7a09d97928b827a6f6a5f584e443b30261c1106000000000000000000000000000000000000000000000000000008111a22282d3031393939393837342f2821180f0500000000000000000000000000000000000000000000000000000007101a232d364044505b666d79828686868686868275695c4f42434c565e696f7c858686868686867f7265584c3f3225190c000000000000000009141f29323d46505a626c717d8690959fa3ababa49f9b95908c898584828180808081828385888b8f93999fa2aaa9a19e938f847b6f6a60584e443b30271d12070000000000000000000000000006101a242d363f4850585f676d737b80858b8f9298989a9c9e9e9f9f9f9e9e9d9b999795908d88837e786f6b605c554d453b332920170c030000000000000013202c3946535f6c798692939393939393939393939393939393939393939393939393939393939393939393939393939393939393938a7e7164574a3e3124170b000000000000000000070d161e24293035393a4145474a4c4e505152525353525151504e4c494745403a38342e27221b140b060000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f00000c17232e38424a5053555555555555555553514a42392e23180c0000000000000000000000000000000000000000000000000001070c13181d20252a2d2e313436373839393938373634322f2d2c2823222a31373a3c4141414141413f3d3a342d251b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d20130013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9a9899928f8b86817b736d665e574e463c33291e140a00000000000a1723303d4a5663707d899393939393939393939393939393939393939393939393939393939393939393939393939393938a7d7164574a3e3124170b000e1a26313d4751595e5f606060606060605f514b43392f23180c0000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313d4751595e5f606060606060605f514b43392f23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000915202c38434f59606d78818c92999fa2aaa9a8aaa29f9e9e9e9fa29f98928c81786d6d798699a39f9f94877a6e6154473b2e2114080000000006121f2b37434e58626c73808b92999fa6aca49f9c989695949596989c9fa4a9a19e948f847c6f6a5f564d42382e23170c0300000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2b2a28231e170f06000000000000000000000000000000000000000000000000000000000008111b2428333f4a545c676d767979797979797570655a4d413a444d575f6a6f78797979797979726d62564a3e3124180b00000000000000030d1925303b444e58626c717e879298a0a7afa79f99938e88837f7c79777574737373747577797c7f83878d92989ea5ada59e9691857c6f6a5f564c42392e23180c030000000000000000000000030c18222c363f48505a616a6f7980868d92979c9fa2aaa7a9a8a7a6a6a6a7a8a9a8a6a7a09d9a94908a837c746d675e574d453b32291e150a0000000000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b00000000000000000810181f282f353a4145474c525456595b5c5e5f5f5f5f5f5e5e5d5b585653514b46454039332d261d180f0700000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0003101c28343f4a545c606262626262626262605c544a4034281c1004000000000000000000000000000000000000000000000000000001070d11141a1e20212427292a2c2c2c2c2b2a2a282522201f1c181820262b2e2f34343434343432312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d20130013202c3946535f6c7986929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a7a8a9a7aba39f9c98928d867f786e695f584e453b30261c1106000000000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b00111d2a36424e59636a6c6c6c6c6c6c6c6c6c5c554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c5c554b4034291c1004000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313b4854606b74808d939fa3ababa49f9b979892919192939a989d9f938f82786d7a8794abb4a094877a6d6154473a2e211407000000000815212e3a47535f6a717e8b929fa3aba69f9a938f8c89888788898c90939a9ea6a69f9691857c6f685e544a3f34281f1409000000000000000000000000000000000000000000000000000000050b10141617202020201f1e1b17120c0500000000000000000000000000000000000000000000000000000000000000091217222d38424b555c60696c6c6c6c6c6c69655e54493d323b454e585f626c6c6c6c6c6c6c65625b51463a2e221509000000000000010b151f2a36424d56606a717e889299a2aaafa49c959087817c77726f6d6668676766676768666c6f72767b80868e939fa3aaa8a09792867c6f685e544b40342820150900000000000000000000000b151e2a343e48505a626c717c848c92989fa2a9aca8a8a09e9c9a9a999a9a9b9d9fa3ababaaa69f9c95908781796e695e574d443b30261c110600000000000013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a4978a7d7164574a3e3124170b0000000000000008111a222a313a41454c5254565d60636668696a6b6c6c6c6c6b6a69676563605d5553514b443f382f2a21191107000000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0006121f2c3844505c666d6f6f6f6f6f6f6f6f6d665c5144382c1f1206000000000000000000000000000000000000000000000000000000000104090e111414171a1c1e1f1f201f1e1e1d1b18161312100c0e151b1f21222727272727272524221d18110900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a0013202c3946535f6c7986929facb9ada39b9898989898989898989898989898989899999a9c9ea1a8a9acaaa29f98928c837b6e6a5f574d42382e23170b010000000a1723303d4a5663707d8996a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1978a7d7164574a3e3124170b00121f2c3845525e6a75797979797979797976675c5145382c1f13060000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3845525e6a75797979797979797976675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000006121e2b37424e57636f7c87939fa5afa9a199938f8a878584848586888c90959e948d80747b8794a1ada093877a6d6054473a2d2114070000000713202c38444f59626f7c86929fa4afa49c948f87827f7c7b7a7b7c7f83878f949fa3a8a19791857a6e665c50443b31261a0e030000000000000000000000000000000000000000000000000000000004080a0a1313131312110f0b070100000000000000000000000000000000000000000000000000000000000000000006111c262f39434b51535d6060606060605c5a544c423729333c464e53555f606060606060585651493f34291e120600000000000007121d27313946525e696f7c86929aa3ababa39f928d837c756f6a6662605c545a5a5a5a5a545b606265696e747b818a9298a2a9a9a19891847a6e665c51453c31261a0e0500000000000000000007121d27303c46505a626c717e8691969fa2aaaba39f9b9796918f8e8d8d8d8d8f9092999a9ea1a9aba79f9a938d837b6e695e564c42382e23170c04000000000013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a978a7d7164574a3e3124170b00000000000007101a242c343c434c51565d6065686d707274767778797979787877767472706d6764605c555049413c332b231910070000000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000713202d3a4653606d787c7c7c7c7c7c7c7c786d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000020507080b0d0f11121313131211100e0b0907060400040a0f1215151b1b1b1b1b1b181815120c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f2316090013202c3946535f6c7986929facb9a79b918b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8c8d8d8f9196979c9fa3abaaa29f9590847c6e695e544a3f34281d13070000000a1723303d4a5663707d899494949494949494949494949494949494949494949494949494949494949494949494949494948a7d7164574a3e3124170b0013202c3946535f6c798786868686868686796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c798786868686868686796d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a76828f9aa4afaba1979287827d7a79787778797b7f838a9196928a7e7b8895a1ada093867a6d6053473a2d2014070000000916222f3b4854606b76828f98a2aea49c928c827b7672706e6e6e7072767c828b9299a3a9a1979082786d60574d42362a20150a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d273139404547505353535353534f4d49423930212a343c434748525353535353534c4a463f372d23180d010000000000000c18232f3943505a616e7b859198a3acaca399928b80786f6a625f585653504a4e4d4d4d4e4a505355575e61696e757e869297a2aaaaa1969082786d60574e42372b21170b0000000000000000000c18232e39424e58616c717f8a9298a0a8aba49f99928e8a8784828180808081828486898d92979ea1a8aca49f9590847b6e685e544a3f342820150a000000000013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8a7e7164574a3e3124170b0000000000040e19222c363e464e555d60686d72767a7d7f8183848585868685848483817f7c7a75706d67605b534e463d352b22190d0400000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87888888888888877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000001030405060606050403010000000000000000030608090e0e0e0e0e0e0c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c2014070013202c3946535f6c7986929facb2a5988b7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80808284878b8f92999fa7aea79f9691847b6e665c50443a2f24180d0100000a1723303d4a5663707d87878787878787878787878787878787878787878787878787878787878787878787878787878787877e7164574a3e3124170b0013202c3946535f6c7986929393939393867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929393939393867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b88949facaea39992857d75716e686b6b666d6e72767d84909492857d8996a3aca09386796d6053463a2d201307000005111e2a36424d5663707d89949faaa79d928c80766e69656362616263656a6f767f879299a4a99f948c7f73695f53463c31261a0f010000000000000000000005080a0b1313131313131313131313131313131313131313131313131313131313131313131313130f0f0d09040000000000000000000000000000000000000000020b151f272f34383a4346464646464642413d3730271e222a31373a3c454646464646463f3e3a342d251b110600000000000004101c2934404b55616c76828f97a1aaafa49a92877e736d665f58534e4946443f41404040413f4446484d53565e616c717c859298a2aca89f948d80736a5f53473e33281c10040000000000000004101c2834404b545f6a717e87939fa2aaa9a199938e86827e7a777574737373747577797c80858b91969da5afa79f9691847a6e665c50443c32261b0f040000000013202c3946535f6c7986929facb3a79a8d80808080808080808080808080808080808080808080808080808080808080808080808080807c6f6255483c2f22150900000000020c16202b343e4850585f676d737a7f8386898c8e8f9192929292929191908e8b8986827d79716c655f584f473d342b20160c01000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87949595959594877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c10040013202c3946535f6c7986929facada093867972727272727272727272727272727272737475787a7e828790959da4aea9a1969083786d60554b4135291d110400000713202d3a4653606d787a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d2013070013202c3946535f6c7986929f9f9f9f93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929f9f9f9f93867a6d6053473a2d2014070606060606060606060504020000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6b0ac9f92877c6f6b64615e56545c6062656c707a8290949083909daaaca09386796d6053463a2d20130700000714202d3a46525e6976828f9ca6aca0958d80736d625f575655545556585f626d727e87939fa6a69f92867b6e61584e43372b1e13080000000000000000060c111517182020202020202020202020202020202020202020202020202020202020202020202020201c1b191510090200000000000000000000000000000000000000030d151d23292c2d363939393939393635312c261e151820262b2e2f3939393939393932312e29231b13090000000000000006131f2c3845515c67707d8a949fa9b0a69f93887e716c605c544e47433c3a38342e3433342d3338393c42464d525a616a6f7c86929aa4afa69f92877b6e62594f44392d20150a0000000000000006131f2c3845515c666f7c869299a4aea8a0979187817b75716d6869676766676768676d7073797e848e939fa4aca8a0969083786d60584e43372b20150a0000000013202c3946535f6c7986929facada0938679737373737373737373737373737373737373737373737373737373737373737373737373736f6a5f53473a2e2115080000000008131e28323d46505a616a6f7a80868b909399999b9c9d9e9f9f9f9f9e9d9c9a9898928e8a847e786e6a60594f463d32281e1308000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0a2a2a194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000020608080b0e10121213131211100e0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000020507080a0d0f1111121313131211100e0c0906050300000000000000000000000000000000000000000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b000013202c3946535f6c7986929facada093867a6d656565656565656565656565656566666769686d71767c838d929da5afa89f958c7f72675d5145392c201307000006131f2c3845515c666d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6d675c5145382c1f13060013202c3946535f6c7986929facaca093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facaca093867a6d6053473a2d20141313131313131313131212110f0d0a07060401000000000000000000000000000000000000000005111e2a36424d576976838f9ca9b1a79a8d80736a605954524c4a5053555a61676d798290959095a0abaca09386796d6053463a2d20130700000814212e3b4754616e7b87939e9fa39d9083786d605b534d49484748494e535b626c727f8c949faba3988f82756a5f53473a2f24190d010000000000000911171d2124252d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000030b12181c1f202a2d2d2d2d2d2d292825211b140c0e151b1f21222c2d2d2d2d2d2d2524221e1811090100000000000003101c28343f4a54606d7984919ea6b0aa9e948c7f736c625a504a423c37322d2c282327272722282b2d31363b42465058606a707e88939fa8aea3998f82766c6155493c31261b0f00000000000004111d2935414b55606d79839098a3aba9a09691857d746e6964615d565b5a5a5a5a555c6063666d7179818b939aa4afa89f958c80736a5f54473d32271b0f0100000013202c3946535f6c7986929facada093867a6d676767676767676767676767676767676767676767676767676767676767676767676767625f584e43372b1f1206000000010d1924303a444e58616c707c848d92989c9fa4a49f9e9c9a9a99999a9a9b9d9fa3a29f9b96918b837c706b60584e443a2f24190d020000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000104090e121415181b1d1e1f20201f1e1d1a181514120e090401000000000000000000000000000000000000000000000000000000000000000105080e11141417191c1d1e1f20201f1f1e1c1b181513120f0b060000000000000000000000000000000000000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a1005000013202c3946535f6c7986929facada093867a6d6058585858585858585858585858595a5a565d60646a6f78808d939eaab1a79e92857a6d6054473a2f24180d010004101c2834404b545c606161616161616161616161616161616161616161616161616161616161616161616161616161616161605c554b4034281c10040013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20202020202020202020201f1f1e1c1a171413110d08040000000000000000000000000000000000000714202d3a46525e697885929fabaca095877b6e61584f4746413f44464850555d676e7b85929da0a7b1aca09386796d6053463a2d20130700000c1926323f4c5965727f8c8f91929996897d70665c5047423d3b3b3b3d4347515a606c77828f99a3aa9f93877c6f62564c4135291d1104000000000009121b22292d30313939393939393939393939393939393939393939393939393939393939393939393939393635312c261e150c020000000000000000000000000000000000000001070c1013141d2020202020201c1b1915100902030a0f1215151f202020202020191815120d06000000000000000006121f2b3844505c66727f8c96a0acaea2988f82776c605a50443f38302b26201f1c171a1a1a171c1f20252a30363e464e58616c73808d96a1acab9f948a7d7064584e43372b1d120700000000000613202c3945515d67737f8c95a0aaada19791847b706b615e5754524c4e4d4d4d4e4b5153545c60676d747f88939fa5afa79f92877c6f62584e43372b1d120700000013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c31261b0f0300000005111d2935414c56606a707e8691969fa2a49f9b9993918f8e8d8d8c8d8d8f9092989a9fa2a19e9590867d706a60564c4135291e13080000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000001080d11151a1e212225282a2b2c2c2c2b2b2a272421211e1a14100d070100000000000000000000000000000000000000000000000000000002080d1114191e20212426292a2b2c2c2d2c2c2b29272522201f1b17110f0a040000000000000000000000000000000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a110800000013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4d4d4c5254585f666c78818e98a2aeada2978b7e7265554b4035291d100400000c18232e39424b51535454545454545454545454545454545454585c5c5c5c5c58545454545454545454545454545454545453514b43392e23180c000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2d2c2b2a28262421201d1913100c07000000000000000000000000000000000814212e3b4754616e7b8798a2aeaa9d908377695e53463d393634383a3e434c555e69717e8b97a1adb9aca09386796d6053463a2d20130700000a1723303d4a5663707d80828486888a84776b60544a3f37312f2e2f31373f44505b656e7b87929faca49a8e8174685d5245392c2013080000000006111b242d34393d3e46464646464646464646464646464646464646464646464646464646464646464646464642413d3730271e140900000000000000000000000000000000000000000000040607101313131313130f0f0d09040000000003060809121313131313130c0b0906010000000000000000000713202d3a4653606d7884919ea8b2a99f92867b6e655b50483e342e261e1b1312100c060d060b0f12131a1f252a343d46505a606d7984919ea8b0a69c8f83766a5f5347392e23180c00000000000714212d3a4754606d7a85929fa7b0a69e92857b6e696059524d47464141404040414045464b51555d606d727f8b939ea9afa3998f82766a605447392f24180c00000013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847433c342a20150a000000000713202d3946525d686f7c869298a0a7a099938f8a868482818080808081828486898d92989da59f9892867c6f685d52453a3024190d0100000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0acaca194877b6e6154483b2e2115080000000000000000000000000000000000000000000000070c13191d20262b2e2f3234363839393938373634312e2d2a25201d18120c0400000000000000000000000000000000000000000000000002090e13191e20252a2d2e30333537383839393938373634322f2d2b27221b1b16100b04000000000000000000000000000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c1610080000000013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f40414145474e545b666d7a85929fabb3a99c908376675d5145392c201306000007121d2730394045464747474747474747474747474747505a6264686868686865625b5147474747474747474747474747474645403930271d1207000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a3939393939393939393939393938373533312d2c29241f1c18120c060000000000000000000000000000091623303c4956636f7c8996aab4a79a8e817467574d42342d2a282b2d313a434d57606d7985929eabb8aca09386796d6053463a2d20130700000916222f3c4854606b70737577797b7d7d7063594f42382e26222122262b333f49535f6974818e9aa6ac9f92867a6d6054473a2f24190d010000000c17222d363e45494b5353535353535353535353535353535353535353535353535353535353535353535353534f4d49423930261b10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c5664707d8a96a1adada1978c7f72695e53493f3628231c140c0a060300000000000306090e1419222b343e45515d67717e8a96a0acab9f94887c6f62544b4034281c100400000006131f2b37434e5866727f8c97a2adaa9e948a7d70695f574f46423b3935303433342e34383a40454b515b626d74818e97a1adab9e94897c6f62554b4035291d1004000013202c3946535f6c7986929facada093867a6d6053474040404040404040404040404040404040404040404040404040404040404040403c3a37312a22180e0400000005121e2a36424d57616d7a859298a3a69f959087827d7a77767474737373747577797d80868e929ba3a29891847a6d60564c4135291d110400000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87949f9f9f9f94877b6e6154483b2e211508000000000000000000000000000000000000000000030b12181e24292c31373a3b3e414345454646454443413e3b3a36312c29241d160d0802000000000000000000000000000000000000000000070c141a1e252a2d3036393b3d4042444445464646454443413f3c3937332d2b27201b160d070100000000000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b05000000000013202c3946535f6c7986929facada093867a6d6053473a3232323232323232323233332f35393c424a545e68737f8c99a9b2ac9f9286796d6053473a2d2014070000000b151e272e34383a3b3b3b3b3b3b3b3b3b3b3b3b3b4956626c717575757575726d62564a3b3b3b3b3b3b3b3b3b3b3b3b3b3a38342e271e150b00000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053474646464646464646464646464645454442403d3a39352f2c28231d17110a030000000000000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f31261e1c1f2028313b45515c6673808d99aab4aca09386796d6053463a2d20130700000714202c38444f5960636669666d6f71706b6054473d30262c2c2c2b2a222d38414d57626e7b88949faba3988b7e7265554c4135291d1104000005111d29343e485056586060606060606060606060606060606060606060606060606060606060606060606060605c5a544c42372c21150900000000000002070a0c0d131313131313120908060300000000060b0e10111313131313130f07060300000000000000000000000000000000000000000000000714202d3946525e6876828f9ca8b2ab9e9185796d60574d41382d2417110a02000000000000000000000002091019222935404b55606c7884919dabb0a69a8e8174665c5145382c1f13060000000815222e3b4754606a7884919ea9b1a79c8f82756c61574d453d36302d292427272723282c2e343a4145515b606d7a85929eaab0a69b8e8275675d5145392c1f1306000013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343434342f2e2b2620181006000000000714212d3a46535f6974808d97a1a99f948f837c75706d686967676666676768666d70747a818b919ba5a1968d8074685d5245392c20130700000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87939393939393877b6e6154483b2e2115080000000000000000000000000000000000000000060c151d23282f35393c4247484b4e50515253535251504d4b4846423b39352f281f19130c04000000000000000000000000000000000000030b12181f252a3036393b4146474a4c4f50515253535252514f4e4b4846443f3837322c272118130c04000000000000000000000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d252525252525252525262724292c2f38424c56626f7b8896a1adaea399897c6f6256493c2f231609000000030c151d23282c2d2e2e2e2e2e2e2e2e2e2e2e313e4b5864717e82828282827f7265584c3f322e2e2e2e2e2e2e2e2e2e2e2d2c28231d150c0300000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d605353535353535353535353535353535252514f4d4a4745413a38342e28231c150c0700000000000000000000000b1824313e4b5764717e8a97a4b0a4978a7d7164574a3e3124171012161f2834404b54626f7c8998a3aeaca09386796d6053463a2d201307000004101c27333d474f54565a545c6062646360594f44353638393939383734312f3c47535f6a76838f9ca9aa9c908376675d5145392c20130600000815212d3945505a62646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655e54493d3125190d0000000000070d1316191a2020202020201f1515120f0a04040b11171a1d1e2020202020201c1312100b060000000000000000000000000000000000000000000814212e3b4754616e7a87939facafa3998c7f72675d51453b2f261b1206000000000000000000000000000000071018242f3944505b66727e8b99a3aeac9f9285796d6053463a2d2013080000000916222f3c4955626f7c8896a1acaca095897c6f625a50453b332a25201d191a1a1a181c1f23282f353f45515d67727f8b98a2aeac9f9286796d6053473a2d201406000013202c3946535f6c7986929facada093867a6d6053473a2d2727272727272727272727272727272727272727272727272727272727272722211f1b150e0600000000000815222e3b4855616e7b86929fa9a1978f82796e6a64615d565b5a5a595a5a545c6063686d747f8b939ea89f92867a6d6054473a2d21140700000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a86868686868686867b6e6154483b2e211508000000000000000000000000000000000000000810181e272e343a4145474d5355585b5d5e5f5f5f5e5e5d5a5754534d474540393129251e160e0500000000000000000000000000000000050c151c232830363a4146474d525457595c5d5e5f5f605f5f5e5c5a585553504947433d383229241d160d060000000000000000000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201919191919191919191a191d20262f3a47535f6a7885919eabb5ab978b7e7164584b3e3125180b00000000030b12181c1f20212121212121212121212734404d5a6773808d8f8f8f8e8174685b4e41352821212121212121212121201f1c18120b030000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d606060606060606060606060606060605f5e5d5b595754514c46454039342e261e191009000000000000000000000b1825313e4b5864717e8b97a4b0a396897d7063564a3d3023170a060d18232e3a4653606d7986929facaca09386796d6053463a2d2013070000000b16212b353d44484a4d4b5153555756544f473e4143454646464543413e3a39424e5765727e8b98a7ac9f92867a6d6054473a2d21140600000a1724303d4956626c717979797979797979797979797979797979797979797979797979797979797979797979797570655a4d4135281b0f000000010a12191e2325262d2d2d2d2d2d2c22211f1b150e0e161d22272a2a2d2d2d2d2d2d29201f1c17110a02000000000000000000000000000000000000030f1b27333f495364717e8b9aa4afac9f92867a6e61554b4033291d140a000000000000000000000000000000000007121d28333f4a54616d7a86929facaea298897d706356493d2f24190d0100000d1a2633404d596673808c99a8b2aa9d9083776a6054483e332a211a14110d080d070c1013181d242935414c55606d7985929fabaea2988a7d7164574a3e2e23170b000013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1515120f0a04000000000004101c2934404b556673808c99a2a99e91857a6d675f5854524c4e4d4d4d4d4e4b5153565d606d75818e9ba9a2988b7e7164584b3e3125180b00000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000713202d3946525e6876797979797979797976695e52463a2d20140700000000000000000000000000000000000009121a222a303940454c5254575f626567696b6c6c6c6b6a696764615e5753514b433e35302820170e050000000000000000000000000000050e171e272e343b42464c5254565e616366686a6b6b6c6c6c6b6a69676562605b53544e48443d352f281f180f0600000000000000000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c080d11141d2b37434e58697683909ca9b2a5988c7f7265594c3f3226190c000000000000070c1013131414141414141414141a2734404d5a6773808d9a9b9b8e8174685b4e4135281b1414141414141414141313100c0700000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a686664605d5553514b443f38302b221b120a0100000000000000000b1825323e4b5865717e8b98a4afa296897c6f6356493c302316090007131f2c3845515c667683909da9aca09386796d6053463a2d201307000000050f1a232b33383c3d40404546484a494845474a4d505152535252504e4b4746414754616e7a8795a0aca3998a7d7064574a3d2e23170b00000b1825313e4b5864717e8686868686868686868686868686868686868686868686868686868686868686868686868275695c4f4236291c0f0000000a131c242a2f3233393939393939392f2e2b2620181720272e333637393939393939352d2b28231c140c02000000000000000000000000000000000005121f2b3744505b6575818e9bacb6a99c8f8276685e5243392f21170b020000000000000000000000000000000000010b17222d3846525d6875828f9ca8b4aa9a8d807367564c4135291d11040005111e2a36424d576976838f9ca9b5ab998c7f7366584e43362c21180f0905010000000004070c1319242f3a45515d6774818e9aa7b4aa9b8e817468544a3f34281c10030013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d090806030000000000000006131f2c3845515c6777848f929797988b7f72685d554e4746414141404040414045464c525b626f7c8897a2aa9b8e8174685b4e4135281b0e02000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0005111d2a36414c565e6c6c6c6c6c6c6c6c6c6c5e574d42362a1e1205000000000000000000000000000000000009121a242c343c434b51565d6066696e7174767878797978777674716e6965605d555046413a322920170e05000000000000000000000000050e172029303940444d52565e6165686e70737577777879797978777674726f6c65626058544f45413a312a21180f060000000000000006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000001040b1b2631424f5c6875828f9ba8b2a6998c7f7366594c403326190d000000000000000004060708080808080808080d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0808080808080808070604000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867979797979797979797979797979797979797878777573706d6764605c54504a423d342d241c130a01000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090004101c2834404b546875828f9ba8aca09386796d6053463a2d2013070000000008111a21272c2f302e34383a3c43474b5154575a5c5e5f5f5f5e5d5a5854524c48525e687784919daaab9a8d807467544a3f34281c1003000b1825313e4b5864717e8b939393939393939393939393939393939393939393939393939393939393939393938f8275695c4f4236291c0f000007121c252e353b3f40464646464646453c3a37312a22202932393f4344464646464646423a38342e261e140a00000000000000000000000000000000000613202d394653606c7885929eabb3a9988b7f7265564c4131271d0f050000000000000000000000000000000000000006111c2935414c5665727f8b98aab4aa9d918477685d5245392c201306000714202d3a46525e697885929eabafa399897c6f6256493d32231a0f060000000000000000000108131e2935404b5564707d8a97a9b3aa9d908377665c5044382b1f12060013202c3946535f6c7986929facada093867a6d6053473a2d2014070101010101010101010101010101010101010101010101010101010100000000000000000000000714202d3a4753606d79808285878a8c86796d60564c433c393530343333342e34383a4147535f6a7885929fa99d9083766a5d5043372a1d1004000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f00010d1925303a444c525f60606060606060605f524d453b30251a0e020000000000000000000000000000000007111a242c363e464e555c60686d72777b7e818384858686858483807e7b76716d67615a524c443b332920170b0200000000000000000000040d172029323b424a51575e61686d72777a7d7f82838485868685858482817e7b78746f6a636059514b433b332a21180d0400000000000004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000001040a1b2835424e5b6875818e9ba8b2a5988b7f7265584c3f3225190c000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9a2958b86868686868686868686868686868686868685858482807d7a76716d66605c544e463f372e251c1309000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000c18232e414e5b6874818e9ba7aca09386796d6053463a2d2013070000000000080f161c2022232a313a41454e53555d606467696b6c6c6c6b6a6764615d56544f566774818d9aa7a99c908376665c5044382b1f1206000b1825313e4b5864717e8b979f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9c8f8275695c4f4236291c0f00020d19242e3740474b4d535353535353524847433c342a21323b444a4f515353535353534f46443f3830261c1106000000000000000000000000000000000815222e3b4855616e7b8897a1adada197887b6e6255483b3022150b0000000000000000000000000000000000000000000d1924303c4855626f7b8898a2aeaca095877a6d6054473a2d211407000814212e3b4754616e7b8797a2adac9f92867a6d6053473a2d2014070000000000000000000000010d18242f3b4754616e7a8797a1adac9f9286796d6053463a2d2013070013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c676d7376787b7d807f73675d51443a312d29242727262723282c3037434e586a7784919daa9e9184776b5e5144382b1e1105000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000008131e28323a41465353535353535353534846423b33291f140900000000000000000000000000000000050e19232c363e4850585f676d737a7f84888b8e90919292929191908d8a87837e79716c615e564d453b32291d140a000000000000000000010c161f29323b444c545c60696e757a7f83878a8c8f90919292939292918f8d8b8885817c76706b605d554d453c332a20160c010000000000000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140a0a0a0a0a0a0a0b070d10141b2a36414c566976828f9ca9b4aa978a7e7164574b3e3124180b000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140b0b0b0b0b0b0b0b0b0a0a0907060401000000000000000000000000000000000000000000000013202c3946535f6c7986929facb9a79d959393939393939393939393939393939399939291908e8c8a86837e79726d666058514940372e251b10070000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090000071a2734404d5a6773808d9aa6aca09386796d6053463a2d201307000000000000050b1019232b343c434c52585f62676d71747678797979787674716d686360595865717e8b98a4ac9f9285796d6053463a2d201307000b1825313e4b5864717e8b97a4a5a5a5a5a5a5a5a5a5a5a5a7a9aeacacacafa9a7a5a5a5a5a5a5a5a5a5a5a59c8f8275695c4f4236291c0f0007131e2a3540495257596060606060605f55534e463c332939444d555b5d6060606060605c53504a42382e2317130a0000000000000000000000000000000a1724303d4a5763707d8a96a9b3ab9e928578695f53473a2e2114030000000000000000000000000000000000000000000813202d394653606c7985929facb1a795897c6f6256493c2f231609000916232f3c4956626f7c8995a9b3aa9e918477675d5145382c1f13060000000000000000000000000714202d3946525e687885919eabaea398887b6e6255483b2f2215080013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07060401000000000000000000000004101c2934404b555c606769696e7073736d63554b403228201d191a1a1e21262b30363e46525e697885919eab9e9184786b5e5145382b1e1205000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f00000c17232e38424a5053555555555555555553514a42392e23180c000000000000000000000000000000020d17202b353e48505a616a6f797f868c9195989a9c9e9f9f9f9e9d9c9a9795908b857e766d685e574d443b2f261b1106000000000000000007121d28313b444d565e666d727b81868c909596999b9d9e9e9f9f9f9e9d9c9a9897918d89837d746d675f574d453c32281e13080000000000000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2016161616161616171718181d20262d3946525e687784909daaaea298897c6f6356493c30231609000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20181818181818181818171716151413110d080705020000000000000000000000000000000000000013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa49f9f9e9d9b9999928f8b857f786f6a625b514940372d22190c0300000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000050e19222b353d464e565d606a6f747a7d8083848586858583817e7a76706b625f626f7c8995aaaea298887b6e6255483b2f221508000b1825313e4b5864717e8b979898989898989898989898989a9da4aebaafa59d9a9898989898989898989898988f8275695c4f4236291c0f000a16232f3b47525b63666c6c6c6c6c6c6c625f584e453b323f4a555f676a6c6c6c6c6c6c68605c544a3f3428251c120900000000000000000000000000000c1926323f4c5965727f8c98a5b2a99c8f837669574d42372b1e120600000000000000000000000000000000000000000006121f2b3844505b667783909daab1a4978b7e7164584b3e3125180b000a1723303d4a5663707d8996a3b0a99c90837669554b4035291d100400000000000000000000000005111e2a36414c566a7683909da9b4aa96897c6f6356493c302316090013202c3946535f6c7986929facada093867a6d6053473a2d2019191919191919191919191919191919191919191919191919191413110d0701000000000000000000000c18232f39434b51535a575e61646666635b5143392f20191d2021262b2e31373a41464f59616e7b8796a1aa9d9083776a5d5044372a1d1104000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0003101c28343f4a545c606262626262626262605c544a4034281c1004000000000000000000000000000008141e29323d47505a616c717c848c92989da0a7a7a7a4a3a2a1a2a4a6a7a79f9d97918a827a6e695e564c41382d22170b01000000000000010d18242f39434d565e686e787f868e92999da0a7a6a8a7a5a4a3a3a4a5a7a9a7a9a19e9a94908981796e695f574d443a2f24190d04000000000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a2d232323232323232324242524292c2f38404b55616e7a86939facac9f9285796d6053463a2d201307000000000000000004060708080808080808080d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0808080808080808070604000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d242424242424242424242424232221201d191514120e0903000000000000000000000000000000000013202c3946535f6c7986929facb9b3a9a19e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9e9fa2aaa2a5a8aba39f9c97928c837c726d635b51493f342b1e150b00000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000020c17202b343d474f585f686d747c81868a8d8f9192929291908d8b86827d766f6a616d7a8798a2aeaa968a7d7063574a3d3024170a000b1825313e4b5864717e8b8b8b8b8b8b8b8b8b8b8b8b8b8b8d929da9b5a99d938e8b8b8b8b8b8b8b8b8b8b8b8b8b8275695c4f4236291c0f000c1925323f4b57636d73797979797979786f6a5f574d443a434f5b677177797979797979756d665c504440372d241b1108000000000000000000000000000e1b2834414e5b6774818e9aa7b3a79a8d8074675a4d4131261a0e02000000000000000000000000000000000000000000030f1c28333f4a546875818e9ba8b3a6998d8073665a4d4033271a0d000b1724313e4a5764717d8a97a4b0a89b8f8275685c4f422f24180c00000000000000000000000000010d192530424f5c6875828f9ba8b0a3968a7d7063574a3d3024170a0013202c3946535f6c7986929facada093867a6d6053473a2d26262626262626262626262626262626262626262626262626262621201d18130c0400000000000000000007121d2731394045474d4d535457595957514940312720252a2d2e31373a3c42464c5259616b73808d99a9aa9b8e8175685b4f4235281c0f02000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0006121f2c3844505c666d6f6f6f6f6f6f6f6f6d665c5144382c1f120600000000000000000000000000020b1925303b444f59616c717e8691969fa2aaa9a19e9b9796959595979a9ea1a8a9a19e948f837b6e685e53493f33271e130800000000000004101d2935404b555e696e7a838c92989fa3ababa39f9d9a9897969697989a9d9fa3ababa69f9c938e847b6e695f564c41352921160a0000000000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473a3030303030303030303031312f35393c4149515d67727e8b99a4afa79c8f8275665c5145382c1f1306000000000000070c1013131414141414141414141a2734404d5a6773808d9aa69b8e8174685b4e4135281b1414141414141414141313100c0700000000000013202c3946535f6c7986929facada093867a6d6053473a31313131313131313131313131302f2d2c292422211e1a14100b0600000000000000000000000000000013202c3946535f6c7986929facb9ada1979292929292929292929292929292929292989495989b9fa3aaa9a19e9591877f736d635b51463c30271d1207000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000008131e29323d464f59606a6f7a81878e92989a9c9e9f9f9f9e9d9a99928f89837c726d687885929faba5988b7f7265584c3f3225190c000815222f3b4855626e7c7f7f7f7f7f7f7f7f7f7f7f7f7f7f808d9aa7b4a79a8e807f7f7f7f7f7f7f7f7f7f7f7f7f7d7063574a3d3024170a000d1a2633404d59667380868686868686857c6f695e564c4344515d6a778386868686868682786d605c52493f362d231a1107000000000000000000000000101c2936434f5c6976828f9ca9b2a5998c7f7266594c3f3326190900000000000000000000000000000000000000000000000b17222d404d5a6773808d9aa6b3a89b8e8175685b4f4235281c0f000b1825313e4b5864717e8b97a4b1a89b8e8275685b4f4235281c070000000000000000000000000000081b2835414e5b6874818e9ba7b0a4978a7d7164574a3e3124170b0013202c3946535f6c7986929facada093867a6d6053473a333333333333333333333333333333333333333333333333333333332d2c29241d160d040000000000000000010b151f272f34383a404246484a4d4c4b464037292c2d3036393a3e4247484d53565e616b707d87929faca2988b7e7265584b3f3225180c00000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000713202d3a4653606d787c7c7c7c7c7c7c7c786d6053463a2d201307000000000000000000000000000a141d2a36414c56606b717e879298a0a8a8a19e97928e8b898888898a8d91969ea1a8a69f9591847a6e655b50443a2f24190d0000000000050f1a232c3945515d676e7b8490959fa2aaa9a19e9992908d8b8a89898a8b8d9092999ea1a9aba59e9691847b6e685d52453d32271b0f03000000000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6053473d3d3d3d3d3d3d3d3d3d3d3e3e3f4045474e535b606d7984919eababa0958a7d7164544b4034281c100400000000030b12181c1f20212121212121212121212734404d5a6773808d9aa69b8e8174685b4e41352821212121212121212121201f1c18120b030000000013202c3946535f6c7986929facada093867a6d6053473e3e3e3e3e3e3e3e3e3e3e3e3e3d3d3c3a39352f2e2d2a261f1c17110a020000000000000000000000000013202c3946535f6c7986929facb8ab9e9285858585858585858585858585858585858687898b8e92989fa2aaa7a099928b7f736d62584e43392e23180c000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000010d1925303a444e58606b707c848e939a9fa2aaa9a8a4aba39fa3aba39f9c9490877f746d7784919daaa69a8d8073675a4d4034271a0d000814212e3a47535f6a6e72727272727272727272727272727d8a96a3b0a3978a7d72727272727272727272727272706b6155483c2f231609000a1623303d495663707d87929a93939791847b6e685e554b424d5a6774808d93939393938e81746e635b51483f352c231910060000000000000000000000101d2a3643505d697683909ca9b1a4978a7e7164574b3e3124180b0000000000000000000000000000000000000000000000061926323f4c5965727f8c98a5b2a89c8f8275695c4f4236291c0f000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2834414e5b6774818e9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c010000000000000000030d151d23292c2d31363a3b3d40403e3b352f35393a3d4146474a4d5355575f61686d747d869299a3a79f92867a6d6154473a2e21140700000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87888888888888877b6e6154483b2e21150800000000000000000000000006111b262f3846525e68707d879299a3aaa49d96918a85817e7d7b7b7c7d80848a91969fa7a7a0968f82776c60564c4135291c1106000000000b16212c38444f59606d798390969fa7aea59d97918c8683817e7d7d7d7d7e8083868c91979ea5ada8a09691847a6d60594f43382c1f14090000000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d605349494949494949494949494a4a4b4c4b5153585f656c74808d96a1aca4999083786c605346392e23180c00000000030c151d23282c2d2e2e2e2e2e2e2e2e2e2e2e34404d5a6773808d9aa69b8e8174685b4e41352e2e2e2e2e2e2e2e2e2e2e2d2c28231d150c0300000013202c3946535f6c7986929facada093867a6d60534b4b4b4b4b4b4b4b4b4b4b4b4b4a4a49484745413f3b3a36312b28231c140c0701000000000000000000000013202c3946535f6c7986929facada093867978787878787878787878787878787878797a7c7f82868c92989fa7aba39f918b7f726a60554b4034281d12070000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000005111d2a36414c56606a707d8691969fa4acaaa29f9b979599929994979a9e9f99928c81787683909ca9a79b8e8174685b4e4135281b0e0006121e2b37424e575f6265656565656565656565656565707d8a96a3b0a3978a7d706565656565656565656565656361594f44382c201407000916222f3b4854606b717e88939fa4a19691847a6d675d544a4653606c78818e949fa69d938d80736d635a50473e352b22180f0600000000000000000000111e2a3744515d6a7783909daab0a3968a7d7063574a3d3024170a00000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a99c908376695d5043362a1d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281d1307000000000000000000030b12181c1f20252a2d2e3133332f34383a4045474a4c525457575f6265696e737a81889298a2a8a0958d8073685d5246392d20130700000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87949595959594877b6e6154483b2e2115080000000000000000000000000b17222d38414f59616e7a859299a3aba49c928d847e787471706f6e6f7173787d8490959fa8a89f948c7f72685d5245382d22170b00000004101c27333c4854606b74818e95a0a8ada39c938e857f7b777472717070717274777a7f858e939ca4ada9a0968e81746b6054483b31251a0e02000000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d6056565656565656565656565657575859555d60646a6f77808d929da8a59f93877d70655b5044372b1d1207000000000b151e272e34383a3b3b3b3b3b3b3b3b3b3b3b3b404d5a6773808d9aa69b8e8174685b4e413b3b3b3b3b3b3b3b3b3b3b3b3a38342e271e150b00000013202c3946535f6c7986929facada093867a6d6057575757575757575757575757575757565554514c4c4846423b38342e261e18120b030000000000000000000013202c3946535f6c7986929facada093867a6d6b6b6b6b6b6b6b6b6b6b6b6b6b6b666d6d6f72757a808590959fa6aea49f92877c6f675c5145392e23180c0000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000040f19232d3946525e686f7c869298a1a8aba39f98928e8a88878686888a8e92979f9f938d8075828f9ba8a89c8f8275695c4f4236291c0f00020e1a26313c454e535558585858585858585858585863707d8a96a3b0a3978a7d7064585858585858585858585857554f473e33281c1004000713202c38444f59616c727f8b929ca5a0969083796d665c5349505b666d78828f959fa59c928c7f726c625a50473d342a21180e05000000000000000000111e2b3844515e6b7784919eaaafa396897c706356493d3023160a00000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1aa9d9083776a5d5044372a1d11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d605959595959595959595959595959595959595959595959595959595959595954514b433a2f24180d0100000000000000000001070c1013141a1e2124293036394045474b515357565e616467696e72767b80858d939aa2a79f969183796d60564c4135291d110500000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0a2a2a194877b6e6154483b2e2115080000000000000000000000030f1b27333f4953616b75828f97a1aba49c918c8079716c66646362626264666c707a839096a0aca69f92857a6d60544a3f33281c0f0300000714202c38444f5963707d89939ea7aea49c918c817a726e686765646363646567686e737a818c919ca5afa89e93897c6f63574d42362a1e12050000000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867a6d636363636363636363636363636364646668676d71757c828d929da4a49f938c7f726b6053493f33271b0b0000000007121d273039404546474747474747474747474747474d5a6773808d9aa69b8e8174685b4e474747474747474747474747474645403930271d1207000013202c3946535f6c7986929facada093867a6d64646464646464646464646464646464646362605d555855534d46443f383029231d150d0500000000000000000013202c3946535f6c7986929facada093867a6d605f5f5f5f5f5f5f5f5f5f5f5f5f5c60616265686d737b838f949fa7afa3999183796d60544b4034281c100400000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000a16212c38444f59616d7a849198a2aaaaa299928d85817d7b7a79797b7d81858b92979d928a7e818e9ba7a99d9083766a5d5043372a1d1000000915202a333c4247484c4c4c4c4c4c4c4c4c4c4c5763707d8a96a3b0a3978a7d7064574c4c4c4c4c4c4c4c4c4c4a48443e352c21160b000004101c27323d47505a626d73808c929da59f958f82786d655b504a545c666d79839096a0a49c918b7e716c61594f463c332a20170d040000000000000000121f2b3845525e6b7885919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0aa9e9184776b5e5144382b1e11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6666666666666666666666666666666666666666666666666666666666666666605d554b4135291d1104000000000000000000000000040610181f272f353b41464b5153555d606467686d7174777b7f83888d92989fa4a39f9590847b6e675d51443a3024190d0100000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e211508000000000000000000000005121f2b3744505b65707d8a939ea9a79d928c7f746d67605b5456555556545b60686d7984919da6aea2988c7f72665b5044382b1f120600000916222f3c4854606b7783909da5afa89d928c7f746d68615e56585756565758565e61686d747f8c939da9afa59c8f8276695e53463a2d211407000000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facada093867970707070707070707070707070707071717274767a7d82878f949da4a099938c80746d63594f41382d22170b000000000c18232e39424b515354545454545454545454545454545a6773808d9aa69b8e8174685b545454545454545454545454545453514b43392e23180c000013202c3946535f6c7986929facada0938679717171717171717171717171717171717170706f6d676865615f5753504a423d342f271f170e05000000000000000013202c3946535f6c7986929facada093867a6d605352525252525252525252524a50535456565e61696e78828f95a0acaba0958b7f72665c5145382c1f130600000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000030f1b27323c4855606b75818e96a1aaaaa2989287807a75716e6d676d6e7074797f858f949e9185818e9ba8aa9d9084776a5d5144372a1e110000030e18212a31373a3b3f3f3f3f3f3f3f3f3f3f4a5763707d8a96a3b0a3978a7d7064574a3f3f3f3f3f3f3f3f3f3d3c38332c231a10050000000b16212b353e48515b636e74808e939ea69f948e81776c605b514b545d676d7a849196a1a39f92877e706b60584e453b322920160d0300000000000000121f2b3845525e6b7884919eabafa296897c6f6356493c3023160900000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0aa9d9184776a5e5144372b1e11000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada09386797272727272727272727272727272727272727272727272727272727272727272726d675d5145392c201306000000000000000000000000071019222a313940454d52555c6064676d7074777a7d8184888c90959a9fa2a39f98928c837b6e695e554b4032281e13080000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e21150800000000000000000000000613202d394653606c7883909da6aca0958d80736d605c55504a4a4848494a50565d676f7d89949facaa9e9185786c605346392d2013060004101c2834404b5463707d8995a0acaca0968d80736d605d56524d4b4a4a4a4a4b4c52565d606d74818e97a2adab9f94877b6e6154483b2e211507000000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facb0a396897d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d7d7e7f8183868a8e93999f9f9d9590877f746e645b51473d2f261b110600000004101c2834404b545c606161616161616161616161616161616773808d9aa69b8e817468616161616161616161616161616161605c554b4034281c10040013202c3946535f6c7986929facb1a4978b7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7d7d7c7b7a7875726e6964605c544f454039312920170e050000000000000013202c3946535f6c7986929facada093867a6d605347454545454545454545453f444647494c52575f666d7a83919da6b0a79e9184796d6053463a2d20130900000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000007131f2c38444f5963707d89939ea8aea29892867d746d686462605d606164676d727a828e93979185929facaa9e9184776b5e5144382b1e11000000060f1820262b2e2f3232323232323232323d4a5763707d8a96a3b0a3978a7d7064574a3d3232323232323232302f2c28211a110800000000050f19232c363f49525c606c78818f949fa69e938d80746d635a504b555e686e7b849197a2a39992867d706a5f574d443b32281f150c03000000000000111e2b3844515e6b7784919eaab0a396897d7063564a3d3023170a00000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a5d5043372a1d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb2a6998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6054473a2d2114070000000000000000000000061019232b343c434b51565e61676d71757a7d8084868a8d9196989d9fa7aba399928e867f796e695e574d43392f20160c020000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0acaca194877b6e6154483b2e2115080000000000000000000005111e2a36424d5763707d8a95a0aca69d9083786d605b514b443f3d3c3b3c3f444c55606b7683909c9f9e9d97897c6f6256493c2f2316090006131f2c3845515c6675818e9ba7b1a99e9184796d605b524c46413f3e3d3d3e3f41464c525b606d7a85929fabb0a6988c7f7265594c3f2f24180d0100000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facb9a5998f8989898989898989898989898989898a8a8b8c8e9092989b9e9c9995908a837d726d645c53493f352b1d140a0000000006131f2c3845515c666d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e73808d9aa69b8e81746e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6d675c5145382c1f13060013202c3946535f6c7986929facb9a69a908b8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a89888784827f7b76716d666059514b433a322920160c0300000000000013202c3946535f6c7986929facada093867a6d6053473a38383838383838382e34383a3a3c41464d545d686f7c89949eaaada1968a7d7064574a3d31251a0e02000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000915222f3b4854606b7683909da5afa69f92867d706b605d565554515355555d60686d78818e94989298a2aeab9e9184786b5e5145382b1e1200000000060e151a1e21222525252525252525303d4a5763707d8a96a3b0a3978a7d7064574a3d31252525252525252423201c16100800000000000007111a242d374044505b666d79828f95a0a59d928c7f726c625a504c565e696e7c859298a2a39892867c6f695f564d443a31271e150b020000000000111e2a3744515d6a7784909daab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b1a99c8f8276695c504336291d10000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a89c918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e21150800000000000000000000030c18222b353d464e555d60686e73797e82868a8d90939a9a9ea0a8a9abb1ac9f9287817b736d665e574d453b31271d0e04000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87949f9f9f9f94877b6e6154483b2e211508000000000000000000000714202d3a46525e6976828f9ca7ab9f94897d70665c50454039332d2f2f2d333a434f5964717e8b989291908f8c7f7366594c403326190d000713202d3a4653606d7985929facada1978a7e71675d5145413a36303130303130363a4145525d68737f8c99a9b3a89c8f827569554b4035291d10040000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facb9aba199969696969696969696969696969696969797999b9d9f9e96918f8c88837e78706b625b534a41372e23190b02000000000713202d3a4653606d797a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a808d9aa79b8e817a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a796d6053463a2d2013070013202c3946535f6c7986929facb9aca29a97979797979797979797979797979797979797969596918f8b88837e78706b605c554c443a32281e150a00000000000013202c3946535f6c7986929facada093867a6d6053473a2d2c2c2c2c2c2c2c23282b2d2e30363b424c56606b75828f9cabb2a89b8e817568574d42362a1e1205000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700030f1c28333f4a54636f7c89959fabab9f948b7e716a6059524c48474546484b51565e666d788290989fa2aab4ab9e9185786b5e5245382b1f12000000000003090e1214151919191919191924303d4a5763707d8a96a3b0a3978a7d7064574a3d3124191919191919171614100b05000000000000000008121b2528333f4a545c676d79839096a0a49c918b7e716c61594f4d575f6a6f7d869299a3a29891857b6e685e564c433930261d140a0000000000101d2a3643505d697683909ca9b1a5988b7e7265584b3f3225180700000000000000000000000000000000000000000000000d1a2633404d596673808c99a6b3a89b8f8275685c4f4235291c0f000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9ada39c999999999999999999999999999999999999999999999999999999999999999994877b6e6154483b2e211508000000000000000000000b151e2a343d474f585f676d737b80858a8f92989a9d9fa4a39f9fa4aba4a7a79a8d807b756f6a605c544a42382e23170c03000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87939393939393877b6e6154483b2e211508000000000000000205070814212e3b4754616e7b87939facaa9c9083766b60544a3f342f282222222228313d4855616e7b878685848483817f7265584b3f3225180c00091623303c4956636f7c8998a2a5a69e9285796d60554b40352f2a2524232324252a2f35414c56626f7c8897a1adab9e918578675d5145392c201306000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a0000000000000013202c3946535f6c7986929facb9b3aba5a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a4a4a5a7a99e948f84827f7b76716c656059514941382f251c110700000000000a1723303d4a5663707d87878787878787878787878787878787878d929da99e938e87878787878787878787878787878787877e7164574a3e3124170b0013202c3946535f6c7986929facb9b4aca6a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a4a3a3a8a19e9b9894908a847d746d675e564c443a30261c1106000000000013202c3946535f6c7986929facada093867a6d6053473a2d201f1f1f1f1f1f171c1f2021252a303a434f5964707d8a99a3afab9e928578695e53463a2d211407000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070006121f2b3844505b6674818e9ba7b1a79c8f82766c62584f45413b3a393a3b40454c545c666e7b86929facb4b7ab9e9184786b5e5145382b1e1200000000000000020608080c0c0c0c0c0c1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170c0c0c0c0c0a0907040000000000000000000000091317222d38424b555d676d7a849197a1a39f92877e706b60584e4e58606a707d87929aa4a19791847a6e685d554b42382f261b1106000000000f1c2835424f5b6875818e9ba8b3a6998c807366594d402f23180c00000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7b4a79a8e8174675b4e4134281b0e000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9b5ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e21150800000000000000000007121c27303c464f59606a6f7980868d92979c9fa3a8a09e9a9992939995989b9f9d928d87827c736d665c544a3f34281e150a000000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a86868686868686867b6e6154483b2e211508000000000002080e1114141d2935404b5565727f8c99a4aea2988a7e7164594f42382e231d17191917212d3a46535f69767b7a7978777675726d62564a3d3124180b000c1926333f4c5966727f8c969798999a8d8174665c5143392f241e1917171717191e24303a4653606c7985929eabada197867a6d6053473a2d20140700000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f2316090000000000000013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a2a4a6aaa89c8f827e7a736e6964605b534f473f372f261d130a0000000000000a1723303d4a5663707d89949494949494949494949494949494949a9da4aea59e9b949494949494949494949494949494948a7d7164574a3e3124170b0013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a0a1a2a5a8aba8a69f9c95918981796d685e564c42382e23170c030000000013202c3946535f6c7986929facada093867a6d6053473a2d201412121212060b10121314191e28313d4754606d7a86929facada297877b6e6154483b2e211508000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000613202d394653606c7985929eabaca095897c6f635a50463d35302d2c2d2f353a424a545e6973808d9aa4afb7aa9e9184776b5e5144382b1e11000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000006111c262f39434c555e686e7b859197a2a39992867d6f6a5f574d4e58616b717e88939fa4a09690837a6d675d544a41382d22170b060000000d1a2734404d5a6773808d9aa6b3a89b8e817568554b4034291c100400000000000000000000000000000000000000000005121e2a36424d576976838f9ca9b2a5988c7f7265594c3f3226190c000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e2115080000000000000000000c18232e39424e58606b6f7c848c92989fa2a7a09d9996918d8a868687888b8e92989f9a948f8780786d665c50443e30261c11060000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000713202d3946525e6876797979797979797976695e52463a2d20140700000000050d14191e2021252c3845515d6776838f9cabac9f9285796d6053463d3026252525252525252a36424d575f696e6d676b6a696865625b51463a2e221509000e1b2835414e5b68748188898a8b8d8e8b7e7164544b4031271d130e080a0a080e131f2b3744505b657683909da9b3a994887b6e6155483b2e2215080000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f2215080000000000000013202c3946535f6c7986929facb9a79d95939393939393939393939393939393949597999d9f9e948f8a85807b726d605c544a42392e2318140b010000000000000a1723303d4a5663707d8996a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a7a9aeb6afaaa8a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1978a7d7164574a3e3124170b0013202c3946535f6c7986929facb9a79d959393939393939393939393939393939393949496989b9fa2a9aba7a09d938e837a6d685e544a3f342820150a0000000013202c3946535f6c7986929facada093867a6d6053473a2d2014070505050000030607080c16202c3945515d677783909daab3a9968a7d7063574a3d3024170a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000916232f3c4956626f7c8997a2adaa9d9083776b6054483f34292421202024293039424d57616e7b87939facb7aa9d9184776a5e5144372b1e11000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000a141d27303a434c565f696f7c859298a3a39892857c6f695e564c4f59616c727f8b929ca5a0959082796d665c53493f332722170c0000000c1925323f4c5865727f8b98abb5aa9d908477675c5145382c1f13060000000000000000000000000000000000000000000714212d3a46535f697885929fabb4aa968a7d7063574a3d3024170a000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a79d95939393939393939393939393939393939393939393939393939393939393939393877b6e6154483b2e211508000000000000000004101c2834404a545f6a6f7d8691969fa2a69e9c95908c8884807d7a797a7c7e81858c92989e99938c81786d605a5042382e23170c0000000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f0005111d2a36414c565e6c6c6c6c6c6c6c6c6c6c5e574d42362a1e1205000000050e171f252a2d2e32323a4753606d7986929faca89b8e8275675c51453832323232323232323230313b454d575e61605d555d5c5b585651493f34291d1206000714212d3a4754606d7a7b7c7d7f8081827b6e6155483b2e22150b0100000000030f1b27333f49536975828f9ca8aea295887b6f6255483c2f2215090000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d2114070000000000000013202c3946535f6c7986929facb9a2958b86868686868686868686868686868787888a8d90959a9f9c98928d867e756d665c544a40342820160a000000000000000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa6a8aeb6afa9a79f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b0013202c3946535f6c7986929facb9a2958b86868686868686868686868686868686868788898c8e92979da0a8aca59d9590837a6d665c50443c31261a0f0300000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000004111d2935414c556975828f9ca8b1a4988b7e7165584b3e3225180b000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000c1925323f4c5865727f8b98a9b3ab998c7f7266594f43362d2219141313181e27303b46525e697683909da9b6aa9d9083776a5d5044372a1d11000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000020b151e28313a444d575f6a6f7d869299a3a29791847b6e685e554b505a626d73808d939da59f948f82786d655b50443e34281d11050000091623303c4956636f7c8999a4afac9f9286796d6053473a2d22170b0000000000000000000000000000000000000000000815222e3b4855616e7b8897a2adaea298887b6e6155483b2e221508000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a2958b868686868686868686868686868686868686868686868686868686868686868686867b6e6154483b2e211508000000000000000006121f2c3844515c666f7c859298a0a8a19e948f89847f7b7774706d6c6d6f7174797f869195a09f938e81746c61544a3f34281c100300000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f00010d1925303a444c525f60606060606060605f524d453b30251a0e020000020d1720293036393b3f3f3f495663707c8998a3aeaa988b7e7265554b403f3f3f3f3f3f3f3f3f3f3d3c383b454d535453514b51504f4b4a463f372d23180d01000613202c3945515d676d6e7071727374756e695f53463a2d2114030101000205080f17222d424f5b6875828e9ba8b5ab95887b6e6255483b2f2215080000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c2013060000000000000013202c3946535f6c7986929facada0938679797979797979797979797979797a7a7b7e8083888d9299a19f98928b81786d665c51443d32271b0f030000000000000a1723303d4a5663707d89939393939393939393939393939393939a9da4aea59d9b939393939393939393939393939393938a7d7164574a3e3124170b0013202c3946535f6c7986929facada0938679797979797979797979797979797979797a7b7c7f81858b91969fa4aca79f959082786d60584e43372b1f140900000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000010d19242f414e5b6874818e9ba7b2a5988c7f7265594c3f3226190c000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000e1b2834414e5b6774818e9aa7afa399897c6f6356493d32231b100806070c151e2a36424d576774808d9aa7b3a99c8f8276695c4f4336291c10000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000030c161f29323b454e58606b707e87929fa3a19691847a6d675d5145515b636e74818e939ea69e948e81776c605a5045392d21150800000714202d3a4753606d7a86939facaea399897d706353493f33271b0f030000000000000000000000000000000000000004111d2935414c5565717e8b98a9b3ac9f9285786d6053463a2d201307000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867979797979797979797979797979797979797979797979797979797979797979797976695e52463a2d20140700000000000000000713202d3a4653606d78839197a2a8a097928a827c77726e6967636060616265676d727b839196a19d938a7d70665c5044382c1f120600000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000008131e28323a41465353535353535353534846423b33291f140900000008141f29323b4146474c4c4c4c5966727f8c99aaaea398887b6f62554c4c4c4c4c4c4c4c4c4c4c4c4948443d3b4246484745404443423f3d3a342d251b1106000004111d2935414c555d6062636465666869615f574d42362a1e120d0d0e090e121419212b37434e58697683909ca9aea399877a6d6154473a2e2114070000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d11040000000000000013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c666c6d6e6f7173777b80879196a1a29f938e81786d60584e43382b20150a0000000000000a1723303d4a5663707d86868686868686868686868686868686868d929da89d938e86868686868686868686868686868686867e7164574a3e3124170b0013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c666d6d6e6f7275797e848d939aa4afa79f948d80736a5f53473b31261a0e02000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000000081b2734414e5a6774818d9aa7b2a6998c7f7366594c403326190d000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700101d293643505c6976838f9ca9ac9f92867a6d6053473a2d201407000000030c1a25303f4b5865727e8b98a5b1a89b8e8275685b4f4235281c0f000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000040d172029333c464f59616c717e8b919ca4a0969083796d60534749525c606d78818f949fa69e938d80736c6156493d3024170a00000613202c3945515d677784909daab4ab9a8d8073655b5044372b1f140a000000000000000000000000000000000000010c13202c3945515d6775828e9ba8b5a89c8f8275665c5044382b1f1206000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000006131f2b37434e5865727f8c95a0a9a09691857d766f6b66625f575753535455555d60696e7a84919ea59e9184786d6053463a2d20130800000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f000006111c2630383f444649494949494949494644403930271c12070000020e1925303b444d5254585858585b6875828e9ba8ac9f9286796d605858585858585858585858585856544f473d363a3b3a39352f363532312e29231b1309000000010d19242f3a434c5154555657585a5b5c55534d453b31261a1a1a1a1b1b1a1e21252a333b4754606a7884919eabac9f9286796c605346392d20130600000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d010000000000000013202c3946535f6c7986929facada093867a6d606060606060606060605b606061626466696e747c849196a1a59e938d80736a6054473c31261a0f0200000000000916232f3c4855616b707979797979797979797979797979797979808d9aa69b8e817979797979797979797979797979797979716c6155493c3023170a0013202c3946535f6c7986929facada093867a6d606060606060606060606060605c6061616365676d71798088939fa5afa69f92877c6f62574d42362a1e1205000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000004101c2834404a546875828e9ba8b2a5988c7f7265594c3f3226190c000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700111e2b3744515e6a7784919daaab9e918578675d5145392c1f130600000000091724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000050e17212a343d474f59626c727f8c929da89f958e8175685b4e4244505c666d79828f95a0a59d928b7e7164584b3e3125180b000004101d2935404b556773808d9aa9b3ab9e9184786c6053463c2f261b1106000000000000000000000000000000000007131d28333f4a54606d7a86929facb1a7988b7f7265544a3f34281c1003000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60606060606060606060606060606060606060606060606060606060606060605f524d453b30251a0e02000000000000000815222e3b47545f6a7784919ea7a39891847b706b63605955534d4a474647484b51575e68707d8a96a1a1968a7e7164574b3e2f24190d01000000000000000000000000000000000003101d2a3643505d697683908f8275685c4f4235291c0f00000c17232e38424a5053555555555555555553514a42392e23180c000005111e2a36414d565e6165656565656a7784909daaaa9d9083776665656565656565656565656565656360594f44382d2e2d2c292429282524221d181109010000000008131e28313a41454748494a4c4d4e4f4846423b332923272727272728252a2d30363c454e58626f7c8896a1adab9c908376655b5044372b1f1205000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e211407000000000000000013202c3946535f6c7986929facada093867a6d6053535353535353534a505354545557575f616a6f7b84919ea7a59f92877c6f62584e43372b1f120600000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c73808d9aa69b8e81746c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d2114080013202c3946535f6c7986929facada093867a6d6053535353535353535353534a5153545556555d60676d747f8c939daaaea3998e8275695f53463a2d211407000013202c3946535f6c7986929facada093867a6d6053473a2d2014070606000104060708090b141f2c3844515c667683909ca9b1a4988b7e7165584b3e3225180b000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700121f2b3845525e6b7885919eabaa9d9084776a554b4035291d1004000000000b1824313e4b5764717e8a97a4b1a5998c7f7266594c3f3326190c000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000060f18222b353e47505a636d74808d9aa7a79d9083766a5d50433f4a545c676d7a84909daaa4998c807366594d4033261a0d0000010d18242f3d495663707c8997a1adaca196897d7063584e41382d22170f06000000000000000000000000000000071118242f3844505b66717e8b98a2aeaca095887b6e6155483b2e23170b00000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60535353535353535353535353535353535353535353535353535353535353534846423b33291f140900000000000000000916222f3c4955626f7c8896a0ac9f92867c6e696159544f4847423d3a393a3c40454d56606c7884919ea89b8f827568554c4135291d1104000000000000000000000000000000000408101d2a3643505d697683908f8275685c4f4235291c0f0003101c28343f4a545c606262626262626262605c544a4034281c1004000714202d3946525e686e7272727272727985929faca89b8e8275727272727272727272727272727272706b6054483c3126201f1d181d1c181815120d06000000000000010c161f282f35393a3b3d3e3f4041423b3a36312c2f3034343434343531363a3b41464e57606a74808d9aa8aea3998c7f726653493f33271b0f03000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d201307000000000000000013202c3946535f6c7986929facada093867a6d6053474646464646463f44464747484b4d53585f69707d8a959faba3998f82766a5f53473a2e211408000000000004101c27333d474f55566060606060606060606060606060606773808d9aa69b8e817468606060606060606060606060606060575550483e33281c11040013202c3946535f6c7986929facada093867a6d6053474646464646464646464044464748494b51555d606d74818e98a2aeab9f93877b6e6155483b2f24180d010013202c3946535f6c7986929facada093867a6d6053473a2d2014131313070d10131414151a1d27303a4653606d7985929fabb2a896897c706356493d3023160a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700121f2c3945525f6c7885929faba99c908376695d50432f24180c00000000000c1825323f4b5865727e8b98a5b5ab978a7e7164574a3e3124170b000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000007101a232d373f44505c666d7983909da9a59d9083766a5d5043434c565e696f7c85929faca3998c807366594d4033261a0d0000000713202d3a4653606d7985929eacb2a89c8f82756a5f53493f332721180f0802000000000000000000000003091119232935404b55606c7884919daab3a99d908477695f53463a2d1c110600000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60534746464646464646464646464646464646464646464646464646464646463b3a36302921170d0200000000000000000b1825323e4b5865717e8b98a8a79a8d81746a5f574f48443d3a37312d2d2e2f353b44505b6574818e9ba79e928578675d5145392c2013060000000000000000000000000000050c1114171d2a3643505d697683908f8275685c4f4235291c0f0006121f2c3844505c666d6f6f6f6f6f6f6f6f6d665c5144382c1f1206000814212e3b4754616e7a7f7f7f7f7f7f7f8c98a2aea99c8f827f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7d7063574e42372b1e13100c070f0c0b0906010000000000000000040d161e24292c2d2f3031323335362e2d2a32383b3d404040404141424246484c525860696f7c87929faca99f92867b6e6155483b2d22170b000000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d1105000000000000000013202c3946535f6c7986929facada093867a6d6053473a393939392d3338393a3b3c3e42464e57616c7683909da9ab9f94887b6e6255483b2f2215060000000000000b16212c353d44484a53535353535353535353535353535a6773808d9aa69b8e8174685b53535353535353535353535353534a49453e362c22170c000013202c3946535f6c7986929facada093867a6d6053473a393939393939392e34383a3a3b3c40454b515b616d7a86929facafa4998c7f7366554b4035291d10040013202c3946535f6c7986929facada093867a6d6053473a2d202020202020181d20202122252a2f39434d57636f7c8998a2aeaca196877b6e6154473b2e211408000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700121f2c3945525f6c7885929faba99c908376695d50432f24180d01000000000c1926333f4c5966727f8c99a5afa399887c6f6255493c2f221609000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000060f19222c363f49525c606d78828f959fa69d938c807366594d424b555e686e7b859198a2a49a92867d706356493d3023160a00000006121f2c3844505c6673808d9aa4afaa9e94887c6f655b50443d332a2219140e09060400000100000406090e141a232b353d45515d67717e8a95a0acada2978b7e7265574d42362a1e0a0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a393939393939393939393939393939393939393939393939393939392e2d2a251f170f050000000000000000000d192633404c5966737f8c99a6a3968a7d7063584e453e38322e2b262020212429333f49536673808d99a6a197877a6d6054473a2d211407000000000000000000000000000810171c2123242a3643505d697683908f8275685c4f4235291c0f000713202d3a4653606d787c7c7c7c7c7c7c7c786d6053463a2d201307000714202d3a4753606d7a868b8b8b8b8b8c919caab4ab9f948f8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b84776a5f53473a2e2114080000020000000000000000000000000000040c13191d202122232425272829222b353d4448494d4d4d4d4e4e4f4d5354565e616a6f7b849199a3aba1978d8174695f53463a2d1b11060000000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d01000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d22282b2d2d2e2f31363c45505a65727f8c98a5b0a6998c7f7366594c402d22170b00000000000005101a232c33383c3d464646464646464646464646464d5a6773808d9aa69b8e8174685b4e464646464646464646464646463e3c39332c241a1005000013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d23282c2d2e2e2f35394046525e6873808d99a9b3ab9d908377675d5145392c2013060013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d24292c2d2e2f30363b424b555f6974818e9aaab4ab9e918478695e52463a2d201407000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700121f2b3845525e6b7885919eabaa9d9084776a554b4035291d1004000000030f1b27333f49536773808d9aa6ac9f92867a6d6053473a2d201407000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000050e18212b343e48515b636e74818e949ea79e948e81746e63574b4a545d676d7a849197a1a49f93887e716b6054483b2f22160900000003101c28343f4a54616e7b87939fabb0a69c9083776c60584e453c342a251e1a1312100c070e070c1013131a1f262a353d47505a606d7984919ea7b1a99f9285796d6053473b31261a0e0000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21201e1a140d05000000000000000000000d1a2633404d596673808c99a6a295887c6f6255493c332c27211e1d2024292d333b434e586774818d9aa7a994887b6e6155483b2e22150800000000000000000000000008121a22282d3031323643505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87888888888888877b6e6154483b2e211508000613202c3945515d6775828f98989898999ca3adbcb0a69f9c98989898989898989898989898989896887b6e6255483b3025190e02000000000000000000000000000000000001080d111314151617191a1b1c27323d474f54565a5a5a5a5a5b5c575e6164686d747c859196a0aaa39992857a6e61574d42362a1e0a000000000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e130800000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d202020171c1f20212122262a333e4955626f7c8895a2afa99c8f82766953493f33271b0f0300000000000008111a21272c2f30393939393939393939393939404d5a6773808d9aa69b8e8174685b4e4139393939393939393939393931302d28221a120800000013202c3946535f6c7986929facada093867a6d6053473a2d202020202020181c1f20212224292f35414c56626f7c8897a2adac9f9286796d6053473a2d2014070013202c3946535f6c7986929facada093867a6d6053473a393939393939392f35393a3b3b3d42464d545c676e7b87929facb1a79a8d817467574d42362a1e1105000b1825323e4b5865717e8b98a4aca295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700111e2b3744515e6a7784919daaab9e918578675d5145392c20130600000005121f2b3744505b6576838f9ca9aa9d908477675c5145382c1f1306000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000040d17202a333d47505a626d73808c939da69f958f82786d605b5244505c666d79839096a0a59c928b7f726c61594f44382c201307000000000c17232e3846535f6975828e99a3afab9f948b7f726a60574e463e36302a25201f1c181b1a1b181c1f20262b31363f474f59616c74808d96a1adada2978d8073675d5145392a1f14090000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d2020202020202020202020202020202020202020202020202020201514120e090200000000000000000000000c1925323f4c5865727f8b98a9a396897c706356493d332b262324292c2f35383f444d56606a7683909da9a399877a6e6154473b2e211408000000000000000000000008121a242c33393c3e3f3e43505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a87949595959594877b6e6154483b2e2115080004101d2935404b5565717e8b99a49f9fa5a7adb5bbb2aaa4a19f9f9f9f9f9f9f9f9f9f9f9f9f9fa8998c7f7266564d41362a1e11050000000000000000000000000000000000000001040607080a0b0c0d13202c38444f596063676767676768686a696e71757a81879197a0a8a19892877d6f685e52453b31261a0e00000000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c0200000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2014130b0f12131414151a212e3b4754616e7a8794a1adab9e928578655b5044372b1f1205000000000000000810161c2023232d2d2d2d2d2d2d2d2d2d2d34404d5a6773808d9aa69b8e8174685b4e41352d2d2d2d2d2d2d2d2d2d2d2423211c1710080000000013202c3946535f6c7986929facada093867a6d6053473a2d2014131313130c1012131415181d25303a4653606c7985929fabafa399897c6f6256493c2f2316090013202c3946535f6c7986929facada093867a6d60534746464646464646464640454747484a4d52575e666d79829099a3afab9f95897c6f6356493c30251a0e02000b1825323e4b5865717e8b989f9f9f95897c6f6256493c2f23160900000d1a2733404d5a6673808d999f9f9f9386796d6053463a2d20130700101d293643505c6976838f9ca9ac9f92867a6d6053473a2d20140a0000000613202d394653606c7985929fabac9b8e817468554b4034291c1004000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000030c161f29323c464f59616c727f8b929ca5a0969083796d665c5049525c606d78828f959fa69e938d80736d625a50473d32271b10030000000006111c2a36424d57626e7b87929fa8b0a69f92877c6f695f585046413b36312d2c282327272723282c2d31373b42465159606b717e8a929da8b1a79f92857a6d61554b4035291d10040000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d2014131313131313131313131313131313131313131313131313130807050200000000000000000000000000091623303c4956636f7c8997a1a5988b7e7265594f453d3731302f35393a40454950565e686f7c89959fac9f9286796d6053463a2d2013070000000000000000000008121a242c363e45494a4c4a46505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0a2a2a194877b6e6154483b2e21150800010d18242f3a4754616d7a86939393939a9da5afb5aaa0989593939393939393939393939393939393908376685e5246392d2014070000000000000000000000000000000000000000000000000000000916222f3b4854606b707373737374747576787b7e82868e9299a1a39f9791867e716b60564d4133291f140900000000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e040000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c090e13202d3a4653606d798693a0acac9f9286796c605346392d2013060000000000000000050b10141617202020202020202020202734404d5a6773808d9aa69b8e8174685b4e41352820202020202020202020171714110c05000000000013202c3946535f6c7986929facada093867a6d6053473a2d2014070606000004060707070c131f2b3844505b667683909ca9b5ab978a7e7164574b3e3124180b0013202c3946535f6c7986929facada093867a6d6053535353535353535353534b5153545557575e61696e78818e949fabafa59d9083776b6054483b2f1f140900000b1825323e4b5865717e8b9393939393897c6f6256493c2f23160900000d1a2733404d5a6673808d939393939386796d6053463a2d201307000e1b2834414e5b6774818e9aa7afa399897c706356493d30261c110a080a111c28343f4a54626f7c8898a2aea49a8a7e7164574b3e2f23180c00000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000020b151e28313b444e58606b707e87929fa4a19791847a6d675d544a515b636e74818e949ea79e948e81776c605b51483e352b21160b0000000000000e1a26313b47535f6974808d96a0abaea39991857b6e6a615a524c46423c3a38342e3434342e34383a3c42474d535b626b707d86929fa4aeaaa0958b7f72685e5243392f24180d010000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0b0a080500000000000000000000000713202d3a4653606d7985929ea99c8f82766b60574f47433e3d3d4045474b51535b60686e7a84919ea7a99d908376665c5145382c1f130600000000000000000008121a242c363e48505557585651505d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e21150800000713202d3946525e687682868686868e929da9b0a4988e888686868686868686868686868686868686887b6e6154473b2e2114080000000000000000000000000000000000000000000000000000000a1623303d495663707d808080808181828385878b8f92999fa09e99928d857c716c61594f443b3021180d030000000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20191919191919191a1a1c222d3a4754606d7a8793a0adafa399877a6d6054473a2d211407000000000000000000000407090a1313131313131313131a2734404d5a6773808d9aa69b8e8174685b4e4135281b1313131313131313130b0a08040000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000030f1c28333f4a546875828f9ba8b2a5988b7f7265584c3f3225190c0013202c3946535f6c7986929facada093867a6d606060606060606060606060555d6061626466696e737b828e939ea6b0a79e938a7d7063594f44382c200d0200000b1825323e4b5865717e868686868686867c6f6256493c2f23160b0301071a2733404d5a66738086868686868686786d6053463a2d201307000c1825323f4b5865727e8b98a9b2ab998c7f7266594f42382e231a1615141c232c3844505c6673808d9aaaac9f93877a6d6154473a2e21140700000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000a141d27303a434d565f6a6f7d869299a3a29892857b6e685e554b505a626d73808c939da69f958f82786d655b50493f362c23190f0400000000000009141f2b37424d57606d79849199a4afaba19791847c706c615e56534d494644404141414141404546494d53575f616d727d869298a2aeaca2989083786c60564c4131281d1207000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171714110c0500000000000000000006121f2b3844505c6673808c96a19f94897d70696059534e4b49494b5153555d60656c717a839096a0aca2978c7f7265544b4034281c1004000000000000000008121a242c363e48505a616465625b515d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0adaea194877b6e6154483b2e211508000005111e2a36414c5666707679797979818e9aa7aea195887c79797979797979797979797979797979797976685e5246392d2014070000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c8d8d8d8d8e8f909298979c9c9a9896918d86807a6f6a615a50473d32291f0f060000000000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e04000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d252525252525252626262b2d333c4855616e7b8894a1aeaea399867a6d6053473a2d201407000000000000000000000000000006060606060606060d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0606060606060606000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000b17222d414e5b6774818e9aa7b2a5998c7f7266594c3f3326190c0013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c676d6e6e7073767b80858f949ea5afa8a0958e81756b6155473d32271b0f0000000b1724313d4a56626c71797979797979796f6a6054473b2e231c150c0b121826323f4b58636e737979797979797976665c5044382c1f1206000916222f3c4955626f7c8897a1adaa9d9184776b60544a3f342b26232222262e35414c56606d7985919eabaa9d908376685e5246392d20130700000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000006111c262f39434c565e696e7c859298a3a39992867c6f695f564c4f59616c727f8b929ca5a0969083796d665c53493f372d241a110700000000000000030e1a26313c45515d676f7d87939fa4aea9a19691867e756e68615e575653514a4e4e4d4e4e4b515356575f62696e767f879298a2aaafa49a92867c6f665b50443a301f160c01000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a2d27272727272727272727272727272727272727272727272727272727272423211c171008000000000000000003101c28343f4a54606d7a849199a49e91847b6f6b625f58585656555d6064676d71787e859095a0a8a49e92857a6d6154473a2e23180c000000000000000008121a242c363e48505a616c71726d625b5d697683908f8275685c4f4235291c0f000714212e3a4754616d7a8794a0acaca194877b6e6154483b2e2115080000010d1925303a44545e66696c6c6c75818e9ba8ada194877a6e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b5e564d41362a1e11050000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c999a9a9a9b9b9d9fa29f94908d8b8884807b746d68605850483e352b20170d00000000000000000000000915202b353f474e524d52575f62666a6e71737577787879797978777573706d67636059534d46423c332a1f140900000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a323232323232323233333137383f444f5964717e8b97a4b1ac9f928679675d5145392c1f1306000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000000061b2834414e5b6774818e9aa7b2a6998c7f7366594c403326190d0013202c3946535f6c7986929facada09386797979797979797979797979797979797a7a7b7d8082868c92979fa6afa79f969183796d60594f44352b21160b0000000915212e3a45505a62656c6c6c6c6c6c6c6260584e443d342e271e18151d2329333c47525c63666c6c6c6c6c6c6c6c5c544a3f34281c1003000613202d394653606c7884919eabaca095897d70665c50443f37312f2e2f30383f46525e68717e8b97a1ada3988b7e7265564c41362a1e110500000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000091217222d38424b555d686e7b849197a2a39f92877d706a60574d4e58606b707e87929fa4a19791847a6d675d544a41382d251b120800000000000000000009151f2935404b55606b727f8b929da4ada9a198928a817a746e696562605c545b5a5a5a5b545c606266696e747b828b9299a2aaaea39f93887e706a5f544a3f32291e0d0400000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343431302d28221a120800000000000000000b17232e3845525d68707d87939aa19691847d746f6a6764636366676d70757a7e838b9297a0a7a49c928b7e71685d5246392d1d12070000000000000008121a242c363e48505a616c717e7f726d6257697683908f8275685c4f4235291c0f000714212e3a4754616d7a87949f9f9f9f94877b6e6154483b2e211508000008131e28323a4146545a5d60606875828f9ba8ada093877a6d606060606060606060606060606060606054524d443b3025190e020000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5a6a7a7a8a9aba99c9083807e7c77736e69615e564e463e362c23190e0500000000000000000000010e1a26313d4751595e5f6060605e575f626466696a6b6b6c6c6c6b6a686663605d6060606055534d453c31261a0e02000000000000000000000013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f404142464a5057606b75828f9ca8b5aa9d9184776a554b4035291d1004000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000205101c2834404b556875828f9ba8b2a5988b7f7265584c3f3225190c0013202c3946535f6c7986929facb9a2958b868686868686868686868686868686868687888a8c8f92999fa2a9aba39f9590847b6e675d51473e3323190f0400000005111d29343f4850565860606060606060605e56544f444039302a211f272f343e454d53555d60606060606060605f504a42382e23170c000005121f2b3744505b6574808d9aa6b0a89d9083786d605a5047433d3c3b3c3d424a505b616d7a85929ea9ab9f92867a6d6154473a3025190d0100000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000007101b2428333f4a545c676d7a839096a1a49c918b7e716b61584e4d565f6a6f7d869299a3a29891857b6e685e554b42382f261b130900000000000000000000030d18242f3a434f59626d74808d929ca3adaaa29f938e86807b76726f6d6669686767676869666d6f72777b81868f949fa3ababa39f918c7f726c61584e42382d20170d0000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d605347404040404040404040404040404040404040404040404040404040404040403e3c39332c241a10050000000000000006111c2935414c56606b717e8892989f969188817c777471707073767a7d81858b91959ea1a9a29f928d80736c61564c4135291d0b0000000000000008121a242c363e48505a616c717e878b7f72695e697683908f8275685c4f4235291c0f000714212e3a4754616d7a87939393939393877b6e6154483b2e21150800010d1925303a444c52545757575c6875828f9ba8aca09386796d60575757575757575757575757575755544e46413b32291f1408000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c999f9fa0a1a2a4a6aa9e9185817e7a746e69605c554d443d342c241a1107000000000000000000000004111d2a36424e59636a6c6c6c6c6b636059585a5c5d5e5f5f5f5f5e5d5b575f626a6c6c6c6c6c5f574d42372b1e1205000000000000000000000013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4d4e4d53545b6069707d88939facb3a99b8e8174685b4e412f24180c00000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c090e1116202c3845515c677683909ca9b6ac978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a79d959393939393939393939393939393939393949597999c9fa3abaca49f99928d837b6e695e554c41352c21110700000000010c18222d363f454a4b5359636a6c6c6c6c6b636059514a423c332a2a3139404550575f626a6c6c6c6c6c5f574d53443f3830261c11060000030f1b27333f4953626f7c88949eabab9f958c7f726c625a534e4a4948484a4e545c606d75818e97a1ada3998d8074685d524639291e13080000000000000000000002070a0c0d0908060a1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000040f19222d363e44505b666d79828f95a0a59d928c7f726c62594f4c565e696e7c859298a2a39892867c6f695e564c433930261d140a01000000000000000000000007131d28313d47515b606c77808c919ea1a9aea59e98928d87837f7c79777674747474747677797c7f83888e92999fa6aea8a199928b7f736d635a50463c2f261c0e050000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49453e362c22170c00000000000000000d19242f3a444f59626c717e868f949c9a938e8883807e7c7c7f83868a8e92989da0a7a39f97928a80736e645a50443a3024190d00000000000008121a242c363e48505a616c717e879292867b6e61697683908f8275685c4f4235291c0f000714212e3a4754616d7a86868686868686867b6e6154483b2e2115080005111d2a36414c565e61646464646875828e9ba8aca09386796d6464646464646464646464646464646260584e43372b20170d02000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c939393939495979a9d9f97918e8b85817b736d675e564d453b30271d1207000000000000000000000006121f2c3845525e6a757979797978706b605c544d5151525353524b515a61696e777979797976695f53463a2d211407000000000000000000000013202c3946535f6c7986929facada093867a6d60585858585858585858585859595a575f61666c717b84919aa4afada2978a7e7164574b3e3124180700000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aa69b8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201919191919191919191a191e2028323a4653606d7986929facafa49a897c6f6356493c302316090013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa0a1a1a3a6a8a6a8a09e9a938f8780796e695e574d433a2f231a1000000000000006111b242d343a3d3e525e6a757979797978706b605c544d453f36333c434b515a61696e777979797976695f53463a342e261e150a000000000b17222d3847535f6a75828f99a3afa79f92877e716c625f5857565555575860666d737f8c939ea9a89f92867b6e61564c413529170d02000000000000000000070d131619191515120f1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000a16212b343e48515b606c78818e949fa69e938d80746d635a504b555d686e7b849197a2a49992867d706a5f574d443a31281e150b02000000000000000000000000010c161f2b353f44505b656c747f8a92979ea6acaaa29f9a93908c898684828181808181828486898c90959a9fa3ababa49f9691877e736d635b51473e342a1d140a000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c11050000000000000008131e28323d47505a626c717b82898f92999b95908d8b89898c8f92999b9fa2a9a29e99928e857e736e645c52483e32281e13080000000000050e1a242c363e48505a616c717e879292867d70695e697683908f8275685c4f4235291c0f000713202d3946525e6876797979797979797976695e52463a2d201407000713202d3946525e686d717171717174818e9ba7ada093877a717171717171717171717171717171716f6a6054473c31261a0e02000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f868686868687888a8d90959a9e9b98928d8680796e695f574d43392e23180c03000000000000000000000613202c3946535f6c7987868686847d736d665f5751464146454d555c606c717b83868686867b6e6155483b2e221508000000000000000000000013202c3946535f6c7986929facada093867a6d65656565656565656565656566666769696e72787e859196a1acb1a79f9285796d6053473a2d20140700000000000000000000000000000000000000000000010d1a2734404d5a6773808d9a9a9a8e8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2525252525252525252627252a2d323a444e5863707d8998a2aeac9f93867a6d6154473a2e2114070013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9b999796918c87827c736d675e574d453b31281e11080000000000000009121b22292e3946535f6c7987868686847d736d665f575146413e454d555c606c717b83868686867b6e6155483b2e231c150c030000000006111b2b37434e58626f7c87929fa6aea39992877e766f6a666462616263666a6f78808c919ca5aaa0968c8073695e53443a302419050000000000000000010a12191e23252622211f1b1724303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000030f1b27323d47505a636d74808d939ea69f948e81786c605b514a545c676d7a839096a1a49f93877e716b60584e453b32281f160c030000000000000000000000000000040d192327333f49535b606d737d858f949da0a7acaca49f9c989892918f8e8d8d8d8e8f919298999d9fa7acaca69f99938d847d716c635b51493f352c22180b02000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada093867a6d6767676767676767676767676767676767676767676767676767676767676767676764615a5045392d21140800000000000000010c16202b353f48505a61696e767d8287929fa09d9a979696999c9fa3a9a29f9b97928d86817a716c635c524a40362d20160c0200000000020d17202c363e48505a616c717e879292867d706b6057697683908f8275685c4f4235291c0f0005111d2a36414c565e6c6c6c6c6c6c6c6c6c6c5e574d42362a1e1205000714212e3a4754616d7a7e7d7d7d7d7d828f9ca9b1a4988b7f7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7c6f62574d42372b1e1205000000000000000000000000000000000000000000000000000000000c1825323e4b57636d72797979797a7a7b7e8083888d9399a09f99928c837b6e695f554b4034281f140900000000000000000000000b1825323e4b5865717e8b9296918780786e69625b524c4550575f676d747e869095948d8074695f53463a2d211407000000000000000000000013202c3946535f6c7986929facada09386797272727272727272727272727272737476787b7f848a9297a1a8b2a9a0958c7f72675d5145382c1f130600000000000000000000000000000000000000000000010d1a2734404d5a6773808d8d8d8d8d8174685b4e4135281b0e0200000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a32323232323232323232333330363a3e444c565f6a75818e9baab4aa9d918477685d5246392d2013070013202c3946535f6c7986929facb9a79d959393939393939393939393939393939399929291908f8d8a8784807b756f6a605c554d453b33291f160c0000000000000000000911181d25323e4b5865717e8b9296918780786e69625b524c4550575f676d747e869095948d8074695f53463a2d21110a030000000000000f1b26313c47535f6a73808c949fa7aba399928b827c7773706f6e6f7073777c838d929ca3aba2989184796d60574d4232281e130800000000000000000a131c242a2f32332f2e2b262024303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000007131f2c38434f59616c727f8c929da5a0959082796d665b5044505b666d79828f95a0a59c928b7f726c61594f463c332920160d0400000000000000000000000000000000071017222d384149505b636b707b828990959c9fa4acaca9aaa39f9d9c9b9a9a9a9b9c9d9fa3aaaaababa39f9b948f878079706b625a514940372e231a100600000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facada09386797373737373737373737373737373737373737373737373737373737373737373737373716c6155493c3023170a0000000000000000040d19232d363f49515a61696e757b818e9aa7aaa7a4a3a3aba39f9c9997928e8a85807b746d68615a524a40382e241b0e04000000000008141f29323e48505a616c707e879291857c6f6b646464697683908f8275685c4f4235291c0f00010d1925303a444c525f60606060606060605f524d453b30251a0e02000714212d3a4754606d7a868a8a8a8a8a8f949fabb3a79b918b8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8377695f53463a2d211408000000000000000000000000000000000000000000000000000001020a16222f3a46515b63666c6c6c676d6e6f7173777c81879195a0a39f9590847b6e675c51453b30251a0e02000000000000000000000b1724313d4a56626d73808c9399938d837b726d615e56515a61696e79818a9298958f82786d60574d42372b1e1205000000000000000000000013202c3946535f6c7986929facb2a5988b7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818384888b91959fa2a9afa8a1979083796d60554b4035291d100400000000000000000000000000000000000000000000000a1724303d4a5763707d80808080807e7164574a3e3124170b0000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f404142464750565d686f7c87939facb0a69a8d807367564c4135291d11050013202c3946535f6c7986929facb9a2958b86868686868686868686868686868686868685858382807e7b77736e69625f58514b433b332921170d0400000000000000000000060c1724313d4a56626d73808c9399938d837b726d615e56515a61696e79818a9298958f82786d60574d42372b1e1200000000000000000a15202b37434e58606d78828f959fa6aba39f948f8883807d7c7b7b7d7f838990959ca4aba39992867c6f675d51453b3120160c020000000000000007121c252e353b3e403c3b37322a24303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000915222f3b4854606b717e88939fa4a19690837a6d675c544a4653606c78818e949fa69d938c80736d625a50473d342a21170e0500000000000000000000000000000000000006111b262f383f44515961696e757d83898f939a9c9fa2aaa7a8aaa9a7a7a7a7a7a9a9a8a6a9a29e9b99928e88827c746d676059504840372e251c11080000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb3a79a8d8080808080808080808080808080808080808080808080808080808080808080808080807e7164574a3e3124170b00000000000000000915202a333f48515b636c717b81878e939da9acaba49f9d999992908c8985817d79746e69615e56504840382e261c12090000000000020e1925303b44505a616c707e879291847c717171717171717683908f8275685c4f4235291c0f000008131e28323a41465353535353535353534846423b33291f140900000613202c3945525d6876828f979797979c9fa6b0b7aca39b9897979797979797979797979797979795887b6e6155483b3025190e0200000000000000000000000000000000000000000407090a0d0e0f10121e2a353f495157596060555d60616264676a6f747c839095a0a7a0969083796d60574d42362a1e1205000000000000000000000915212e3a45505a636e74818e939f9590867e756d68605c606c717b838e939f969083796d665c50453c31261a0e02000000000000000000000013202c3946535f6c7986929facb9a79b918b8b8b8b8b8b8b8b8b8b8b8b8b8b8c8c8d8f9196989da0a7adaba59e9691857b6e675c5143392f24180c0000000000000000000000000000000000000000000000000916232f3c4855616b707373737373716c6155493d3023170a0000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4d4e4d52545a61686d7a83909aa4afac9f94887c6f6255493c3024190d010013202c3946535f6c7986929facada093867979797979797979797979797979797979797878777573716e6966625f57534e454039302920170f050000000000000000000000000915212e3a45505a636e74818e939f9590867e756d68605c606c717b838e939f969083796d665c50453c31261a0e0200000000000000030f1b26313c44505c666d7a8390949fa4aca69f9c95908c8a8988888a8c90959d9fa7a8a19992877e716a5f554b4033291f0e0400000000000000020d19242e3740464b4c4847433c3429303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000091623303c4956636f7c86929a93939791847b6e685d554b424d5a6673808d93939393948e81746e635b51483e352b22180f0500000000000000000000000000000000000000000a141d262d3340474f575e616b70777d82878b8f9298989a9b9d9e9e9f9f9f9e9d9d9b999797928e8a86817c766f6a605d554f473e362e251c130a000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f02000000000000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8174675b4e4134281b0e01000000000000020e1a26313c45505a636d727e868e939a9da5a39f9c9993908c898683807c7975706d66615e57524c443e362e261c140a00000000000005111e2a36414d56616c707e879292867f7e7d7d7d7d7d7d7d7e83918f8275685c4f4235291c0f0000020c1620283036394646464646464646463b3a36302921170d02000004111d2935414c5665727e8b9aa49f9fa1a3a9b1bbb5aca7a49f9f9f9f9f9f9f9f9f9f9f9f9f9fa7988c7f7265564c41362a1e1105000200000000000000000000000000000000050b101416171a1b1c1d1e1f232e373f464b4c53534b5153545557585f626a6f7a839097a1a8a0958d8074695e52463a2d2014090000000000000000000005111d29343f48525b606d78818f959f98928b827a706b676d747e8690959d9891847b6e675d544a3f332a1f140900000000000000000000000013202c3946535f6c7986929facb9ada39b989898989898989898989898989899999a9c9ea1a8aaacaaa69f9c938e847c6f695f554b4031271d12070000000000000000000000000000000000000000000000000714202c38444f596163676767676764615a5045392d2114080000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6058585858585858585858585858595a5a565e61656c707a829095a0acafa49a8f82766a5f53473b2e1e1308000013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a686664615e5755534d47433c342e271e170e050000000000000000000000000005111d29343f48525b606d78818f959f98928b827a706b676d747e8690959d9891847b6e675d544a3f332a1f14090000000000000000000a152028343f4a545d686d7a828d939a9fa6aba7a09d999795949596999d9fa7aba39f9691877e716c61584e43392f21170d000000000000000007131e2a35404952575955534e463f35303d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000c1925323f4c5865727f868686868686857c6f695e564c4343505c69768286868686868682786d605c52493f362c23191006000000000000000000000000000000000000000000020b141b2227353e454d525960636b70757b7e8285888b8d8f9091929292929191908e8c8a8885817e7a746f6a626058514b433d352d241c130a01000000000000000000000b1825313e4b5864717e8b97a4b1a89b8e8175685b4e4235281b0f06060606060000000000000000010e1b2734414e5a6774818d9aa7b1a4978b7e7164584b3e3125180b0013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8e8174675b4e4134281b0e0100000000000006121e2b37424e57626d727f8a92989fa4a29f99928f8b8683807d797673706d6664605c54534d46413a322c241c140a020000000000000714202d3946525e68707e87929999928c8a8a8a8a8a8a8a8a8a91958f8275685c4f4235291c0f000000050e161e252a2d2e39393939393939392e2d2a251f170f05000000010d19242f3b4754616e7b879393939394979fa9bcaea49c9993939393939393939393939393939393908376685e5246392d20140c070f0b0a080500000000000000000000000810161c202324262728292a2b2c202e353a3e3f464640454747484b4e535860686d7a85929ea9a79f92877b6e6154483b31261a0e02000000000000000000010c18222d364044505c666d79829095a09f938f857d746f79818a9298a09992867c6f695e554b42382e21180e0300000000000000000000000013202c3946535f6c7986929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a7a9a9a7aca49f9d99948f89817a6f6a5f574d43392e1f150b0100000000000000000000000000000000000000000000000004101c28333e474f55575a5a5a5a5a575550483e33281d11050000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d656565656565656565656565656566666769696e72777d8590949fa7b1a79f93877c6f62584e43372b1f0c02000013202c3946535f6c7986929facada093867a6d6060606060606060606060606060605f5f5e5d5c5a5754524d4847423c373128231d150c050000000000000000000000000000010c18222d364044505c666d79829095a09f938f857d746f79818a9298a09992867c6f695e554b42382e21180e03000000000000000000030c17232e38424c565d686d78808790949b9fa2aaa8a6a3a2a1a2a3a6a8a9a29f99928d847d716c615a50463c31271d0f0500000000000000000a16232f3b46525b6366625f585146413a3d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000b1824313e4a56626d72797979797979786f6a5f574d443a414e5a667076797979797979756d665c504a40372d241a11070000000000000000000000000000000000000000000000020a1117232c333b42464f54596063696e7276797c7e808283848585868585848382807d7b7975716d68625f58544e45403a312b231b120a0100000000000000000000000b1825313e4b5864717e8b97a4aca89b8e8175685b4e4235281b0f13131313130c06060300000000010e1b2734414e5a6774818d9aa7aca4978b7e7164584b3e3125180b0013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8e8174675b4e4134281b0e010000000000000814212e3a47535f6a717e8b919fa2a69f98928d87827e7a7673706d676663605c5453514b46423b363029201c17110a020000000000000814212e3b4754616e7b859299a3a39f9793939393939393939393938f8275685c4f4235291c0f00000000050c13191d20212d2d2d2d2d2d2d2d21201e1a140d0500000000000814202d3a46525e69768386868686878d97aab4a89c928c8686868686868686868686868686868686887a6e6154473b2e211c181c1b171714110c05000000000000000008111a21282c2f30333435363738392d2c282f3233392f35393a3b3c3e43474e565e68717e8b97a1ada3998d807367574d42362a1e12050000000000000000000006111b2428343f4a545d676d7a839196a19e979188807b838e929fa29f93877d706a5f574d433a30261c0f060000000000000000000000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa49f9f9f9e9d9c9a999a93908d88827d756d685f584e453c30271d0d0300000000000000000000000000000000000000000000000000000b16212c353e44484a4d4d4d4d4d4a49453e362c22170c000000000000000000000000000000000000000013202c3946535f6c7986929facada093867972727272727272727272727272727272737475787b7f838a91979fa6b0a79f958d80746a6054463c32261b0f00000013202c3946535f6c7986929facada093867a6d605353535353535353535353535353535252504f4d4b4846423b3a37312b262018120b030000000000000000000000000000000006111b2428343f4a545d676d7a839196a19e979188807b838e929fa29f93877d706a5f574d433a30261c0f06000000000000000000000006111c26303a434c565d666d737c83898e9298999b9d9e9f9f9f9e9d9b9997928d87817a6f6b615a50483e342a1f150b0000000000000000000c1925323e4b57636d736f6a625b524c443d4a5763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000915222e3a46515b62656c6c6c6c6c6c6c625f584e453b323e49545e66696c6c6c6c6c6c69605c544a3f382e251b1208000000000000000000000000000000000000000000000000000006111a202930363d44484f54565e6165666d6f7174757778787979787877767573716f6d6664605d56534e47433d352f281f191109000000000000000000000000000b1825313e4b5864717e8b979f9f9f9b8e8175685b4e4235281b1320202020201913120f0b060000010e1b2734414e5a6774818d9a9f9f9f978b7e7164584b3e3125180b0013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e01000000000005111e2a36424d57626e7b86929fa3a59e949086807b75716d686663605d555653504a464540393631302e2d2b28231c140c0400000000000714202d3946525e68717e87929999928a8686868686868686868686868175685c4f4235291c0f000000000002080d11131420202020202020201514120e090200000000000005111e2a36424d56667176797979797b8798a3aea6998c8079797979797979797979797979797979797976685e5246392d2c292329282423211d17100800000000000005101a232c33383c3d404142434445453a38342e27262d24292c2d2e2f31373d444c56606c7885919eabab9e918478695f53463a2d2114070000000000000000000000091217232e38424b555d686e7b849197a2a19a938d8890959da59d928b7f726b61584e453b31281e140a000000000000000000000000000013202c3946535f6c7986929393939393939393939393939393939393939a93929291908f8e8c898683807b76706b615e564e463c332a1e150b00000000000000000000000000000000000000000000000000000005101a232c33383c3d40404040403e3d39332c241a1005000000000000000000000000000000000000000013202c3946535f6c7986929facb2a5988b7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818285878b90959ea1a9aea69f959083796d60584e43342a20150a00000013202c3946535f6c7986929facada093867a6d6053474646464646464646464646464645454442403e3b3a36302e2b261f1b150c0700000000000000000000000000000000000000091217232e38424b555d686e7b849197a2a19a938d8890959da59d928b7f726b61584e453b31281e140a000000000000000000000000000a151e28313a444c545c606a6f767c8185898c8e909192929292918f8c8985807b746d68605950483e362c22180d030000000000000000000d192633404c5966737f7c726d615d564f444a5763707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000006121e29343f495156586060606060605f55534e463c332938424c545a5c6060606060605c53504a42382e261c130900000000000000000000000000000000000000000000000000000000080e171f252a33383d44484d5254545c60626567686a6b6b6c6c6c6b6a6a68666462605c5454524c47433c383229241d160d0700000000000000000000000000000b1825313e4b5864717e8b93939393938e8175685b4e4235281f202c2d2d2d2c26201f1c17110a02000e1b2734414e5a6774818d93939393938b7e7164584b3e3125180b0013202c3946535f6c79869293939393939393939393939393939393939393939393939393939393939393939393939393939393938e8174675b4e4134281b0e0100000000000714202d3a46525e6975828e98a2a89e938e827b736e6964615e565653514b4946443f3a3e4041403e3d3b3a38342e261e160d040000000005111e2a36414d56616c717e879392867e797979797979797979797979756f65594d4134281b0e00000000000000010507071313131313131313080705020000000000000000020e1925303b44555f666a6c6c6c6c7985929faca89b8e81756c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b5e564c413b3a38342f363531302d28221a120800000000000b16212c353e44484a4d4e4f505152524644403930271c181d20202122262b323a44505b6674818e9aa7ada196887b6e6155483b2e22150800000000000000000000000006111c263039434c565e696f7c859299a3a49f9a959da0a79e948d80746d62594f463c33291f160c02000000000000000000000000000013202c3946535f6c79878686868686868686868686868686868686868686868685858483817f7d7a77736e6a636059524c443c342a21180c030000000000000000000000000000000000000000000000000000000008111a21282c2f30343434343431302d28221a120800000000000000000000000000000000000000000013202c3946535f6c7986929facb9a79b918b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8c8d8d8f9197989da0a7adaaa39f948f837a6d675c51463d3222180e0400000013202c3946535f6c7986929facada093867a6d6053473a3939393939393939393939393938373533312e2d2a25211e1a150f0a0400000000000000000000000000000000000000000006111c263039434c565e696f7c859299a3a49f9a959da0a79e948d80746d62594f463c33291f160c0200000000000000000000000000030c161f28323a424a515860626b6f75797c7f828385858685858482807c79746e6a615e564f473e362c241a1006000000000000000000020f1c2835424f5b687581867f756d686059504a5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000010d18232d373f464a4c535353535353524847433c342a21303a42494e505353535353534f46443f3830261c130a010000000000000000000000000000000000000000000000000000000000050d141a21272c33383b4246474a545c6a6c6c6c6c6c66605b5f5e5e5d5b59575553504a4745413a37312b272018130c040000000000000000000000000000000b1825313e4b5864717e868686868686868175685b4e4235282b383939393939332d2b28221c140b060e1b2734414e5a677480868686868686867e7164584b3e3125180b0013202c3946535f6c7987868686868686868686868686868686868686868686868686868686868686868686868686868686868686868174675b4e4134281b0e0100000000000814212e3b4754616e7b87939faaa0968e81786e69615e5754524c494745403d3a3840464b4c4e4c4b494846443f3830281f160c01000000020e1925303b44505a616c717e879392877e716c6c6c6c6c6c6c6c6c6c68655d54493d3125190c000000000000000000000000000000000000000000000000000000000000000009141f2932434d555b5d60605b667783909daaaa9d908377675c60606060606060606060606060606054524c4446484745404443423e3d39332c241a100500000004101c28333e474f5557595a5b5c5d5e5f53514a42392e231810131414151b2028333f4a5464717e8b97a4b2a8978a7e7164574b3e3124180b000000000000000000000000000a141e27313a444d575f6a707d879299a49f9f9f9fa9a0958f82786d605b51473e342a21170d04000000000000000000000000000000121f2c3845525e6a757979797979797979797979797979797979797979797979797877767472706d6866625f58544f46413a322a22180f060000000000000000000000000000000000000000000000000000000000000810161c20232427272727272423211d1710080000000000000000000000000000000000000000000013202c3946535f6c7986929facb9ada39b9898989898989898989898989898989899999a9c9ea1a9aaacaba39f98928c827a6d685e554b40342b2110060000000013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272421201e1a14120e09030000000000000000000000000000000000000000000000000a141e27313a444d575f6a707d879299a49f9f9f9fa9a0958f82786d605b51473e342a21170d04000000000000000000000000000000040d162028303940444e54596063666d707275767879797978777573706d66625f57524c443d342c241a120800000000000000000000020f1c2835424f5b6875828e8b827a6f6b605c545763707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000006111b252d343a3e3f464646464646453c3a37312a221e2830383e4143464646464646423a38342e261e140a010000000000000000000000000000000000000000000000000000000000000002090e161c21272c30363a44505c66757979797979726c665f5751504f4d4a4846443f3a39352f2b26201b160d0701000000000000000000000000000000000a1724303d4956626c7179797979797979756f65594d402e34384546464646463f3938332d261d180f091a2733404c58646e7479797979797979716c6256493d3024170a00121f2c3845525e6a757979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746f64594c4033271a0d0100000000000b1825313e4b5864717e8b99a4aa9d9184796d665f57524d4746413d3a38352f3040495157595b5958565453504a423a31281e13080000000008141f29323e48505a616c717e889392877e716c615a6060606060605c59544b42372c2115090000000000000000000000000000000000000000000000000000000000000000020d1720313b434a4e50534a546774818e9aa7ac9f9286796d6053535353535353535353535353535347464a51535453514b504f4e4a49453e362c22170c0000000714202c38444f596163666768696a6b6c605c544a4034281c100607080a0e17222d3d4a5763707d8a96a3b0a5988b7f7265584c3f3225190c00000000000000000000000000020c151f28323b454e58606b717e8793939393939393969083796d665c50493f352c22190f0500000000000000000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676663615e5655534e48443d363028201810060000000000000000000000000000000000000000000000000000000000000000050b101416171a1a1a1a1a171714110c05000000000000000000000000000000000000000000000013202c3946535f6c7986929facacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a7a8aaa8a6a7a09d99928e867f786d685e564c43392e22190f000000000013202c3946535f6c7986929facaca093867a6d6053473a2d20202020202020202020201f1f1d1c1a181514120e0906020000000000000000000000000000000000000000000000000000020c151f28323b454e58606b717e8793939393939393969083796d665c50493f352c22190f050000000000000000000000000000000000040d161e272e343d43474f54545c606366686a6b6c6c6c6b6a686663605c54534e46413a322b221a12080000000000000000000000020f1c2835424f5b6875828e938f847d736d665e5763707d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000009131b23292e3132393939393939392f2e2b262018161e262d323536393939393939362d2b28231c140c0200000000000000000000000000000000000000000000000000000000000000000000050b10161c1f252d3a4653606d7987868686867f786e69625b524d443e3c3a38342e2c29241e1b150f0a040000000000000000000000000000000000000815212d3945505a62646c6c6c6c6c6c6c68655d53483d383f445253535353534c46443f382f2a2119141824303c48535c64676c6c6c6c6c6c6c64625a5045392d21150800111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b0000000000010d1a2734404d5a6773808d9aaba4988b7e71675c544d46423b3935302d2c292e3842515b63666866646361605c544c433a2f24190d01000000020d17202c363e48505a626c717e889392877e716c61574d535353534f4d49423930261b1004000000000000000000000000000000000000000000000000000000000000000000050e1f2831383e4243464b5865717e8b98a8aea399897c7063564946464646464646464646464646404a545c6061605c555d5c5b575550483e33281d110500000916232f3c4855616b70737475767778786d665c5144382c1f12060000000616232f3c4956626f7c8995a2afa6998c807366594d4033261a0d0000000000000000000000000000030d162029333c464f59616c727f8686868686868686847b6e675d544a3f372d231a100700000000000000000000000000000000000e1a26313d4751595e5f6060606060606060606060606060606060606060605f5f5e5d5c5b595654524c4847433c38332a251e160e0600000000000000000000000000000000000000000000000000000000000000000000000407090a0d0d0d0d0d0b0a08050000000000000000000000000000000000000000000000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9b999795908c86817b736d665e564c443a30271d1007000000000013202c3946535f6c7986929f9f9f9f93867a6d6053473a2d20141313131313131313131212110f0d0b08070502000000000000000000000000000000000000000000000000000000000000030d162029333c464f59616c727f8686868686868686847b6e675d544a3f372d231a100700000000000000000000000000000000000000040c151c232832373d43484b515356595b5d5e5f5f5f5f5e5c595653514b47423c35302820191008000000000000000000000000020f1c2835424f5b6875828e9b96918780786e696163707d8a96a3b0a3978a7d7064574a3d3124170a0000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2c22211f1a150e0c141b212628292d2d2d2d2d2d29201f1c17110a0200000000000000000000000000000000000000000000000000000000000000000000000000050b10141f2b3844505c66717e879399928c827b726d615e565046413a322924201d19130f0a04000000000000000000000000000000000000000005111d29343e48505658606060606060605b59534b4138424a505e5f6060605f5953504a423b332a251f17202b36414a53585a60606060606060585650483e34291d1105000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b59534a41362b2014080000000000020e1b2835414e5b6874818e9ba7a194887b6e61554b423b36302d292523282c343f4a54636d73747371706e6d665d564c4135291d110400000000050e1a242c363e48505a626c717f889392877e71695f534646464642413d3730271e140900000000000000000000000000000000000000000000000000000000000000000000000d161f272d3236373b4855616e7b8896a0acab998d807366594f4338393939393939393939393844515c666d6e6d676b6a696864615a5045392d21140800000a1724303d4a5763707d80818283848586786d6053463a2d20160d0909070c1724303d4a5763707d8a96a3b0a69a8d8073675a4d4034271a0d010000000000000000000000000000040e17212a343d47505a626d727979797979797979786e695e554b42382e251b11080000000000000000000000000000000000000915202b353f474e525353535353535353535353535353535353535353535353525251504e4c4a4746413b3a37312c272119130c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929393939393939393939393939393939393939393939399929291908f8d8a87847f7b756e69605c544c443a32291e150b00000000000013202c3946535f6c7986929393939393867a6d6053473a2d20140706060606060606060605040200000000000000000000000000000000000000000000000000000000000000000000000000040e17212a343d47505a626d727979797979797979786e695e554b42382e251b1108000000000000000000000000000000000000000000030b121820272b323839404546494c4f505252535252514f4d4946454039373129251e160e0700000000000000000000000000020f1c2835424f5b6875828e9ba199928c827b706c63707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000060d121518192020202020201f1515120f0a03030a1015191c1d2020202020201c1312100b06000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616c717e87939a9490867f766e69615a524c443e352f281f19100700000000000000000000000000000000000000000000000c17222d363e45494b535353535353534e4d4841343f4a545c6a6c6c6c6c6c66605b544d453f3630292019252f3841484c4e535353535353534b49453e362d22170c00000915202b353f474e525353535353535353535353534a545c6a6c6c6c6c6c66605b544d5353535353535353535353535353535353534e4c4841382f251a0f030000000000020e1b2835414e5b6874818e9ba7a194877a6e6154473e39352f3333332e34383d44505c66737f817f7e7c7b786d685d5245392c201306000000000008121b242d363f48505a626d727f8b9192867b6e6155483b39393534312c261e150c020000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292d3a46535f697784919eaaaa9d9184776b6054483d31282d2d2d2d2d2d2d2d3a4653606d787b7a7978777675716c6155493d3023170a00010e1a2734414d5a6774808c8d8e8f9091887c6f6255483e31281f1a171617181d27333f495364717e8b97a4b1a6998c807366594d4033261a0d00000000000000000000000000000000050f18222b353e48515b62656c6c6c6c6c6c6c6c6b615e574d433a30261c130900000000000000000000000000000000000000040f19242d353d4245464646464646464646464646464646464646464646464646454443413f3d3a3936302e2b26201c160d080200000000000000000000000000000000000000000000000000000000000000000000020608080b0e1011121313121211100d0b08070502000000000000000000000000000000000000000013202c3946535f6c79878686868686868686868686868686868686868686868686868685858382807d7a77736e69615f57504a423a322920170c0300000000000013202c3946535f6c798786868686868686796d6053473a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18222b353e48515b62656c6c6c6c6c6c6c6c6b615e574d433a30261c1309000000000000000000000000000000000000000000000000070c151b21272c2e34383a3d3f424345464646454442403d3a38342e2b262019130c040000000000000000000000000000020f1c2835424f5b6875818e969ea39f9490857d746d707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000106090b0c13131313131312090806030000000005090d0f101313131313130f07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17232e3842505a616c717e88939a98928b827b716c615e564f45413a312b22190f040000000000000000000000000000000000000000000006111b242d34393d3e4646464646464642403d373844505c66757979797979726c665f575146423b3229251e262f363c4041464646464646463e3d39342d241b11060000040f19242d353d4245464646464646464646464644505c66757979797979726c665f5751464246464646464646464646464646464641403c362f261d1308000000000000000d1a2733404d5a6673808d99aca295897c6f62585047454140403f40404045464f57606d78858e8c8b8987867a6d6054473a2d21140700000000000009121b242d363f48505a626d727f8b8c7f72695f53463a2d2d292825211b140c0300000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1e2a36424d576773808d9aa7aca096897c6f63594f433a3129242322222429333f4a5463707d878685848382817e7164574a3e3124170b00000b1825323e4b5865717e8b989b9c9d988b7f7265594f433a312a2524232323282f3744505b6574818e9aa7b5ab988b7e7265584b3f3225180c0000000000000000000000000000000000061019232c363f4951565860606060606060605e54524d453b31281e140a01000000000000000000000000000000000000000008121b242b3136383939393939393939393939393939393939393939393939393837363433302e2d2a25211f1a15100b050000000000000000000000000000000000000000000000000000000000000000000205090e121415181b1d1e1f20201f1f1e1c1a181514120e0905020000000000000000000000000000000000121f2c3845525e6a7579797979797979797979797979797979797979797979797979797878777573716e6866615e57534d443f38302820170e0500000000000000121f2c3845525e6a75797979797979797976675c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019232c363f4951565860606060606060605e54524d453b31281e140a0100000000000000000000000000000000000000000000000000040a0f161b1d23282c2d303335373839393938373533302d2c28231d1a150d080200000000000000000000000000000000091623303c4956636f7d848e939fa29f97928a8079707d8a96a3b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303e48505a626c717f88939f9f948f857e756d686159514b433d342b21160a000000000000000000000000000000000000000000000009121b22292d3031393939393939393534312d3a4653606d7987868686867f786e69625b524d443e35302820252b3033343939393939393931302d29221b12090000000008121b242b313638393939393939393939393a4653606d7987868686867f786e69625b524d443e353039393939393939393939393433302b251d140b01000000000000000b1824313e4b5764717e8a9aa4a69a8d80736a615a54524c4d4d4c4c4d4b515359606a717e8b979997968f8376685d5245392c2013060000000000000009121b242d363f48515b626d727f80736d63574d42362a1e1c1b191510090200000000000000000000000000000000000000000000000000000000000000000000000000000000050a0e1a26313c4855626f7c88959faba89b8f82756b60554b433b352f2f2f2f2f353b44505b6673808c989291908f8b7e7164584b3e3125180b00000815222e3b4855616e7b8896a0a9aa9d9083776b61554b433c36313030302e3439404b55606c7884919eaaafa499897d7063564a3d3023170a00000000000000000000000000000000000007111a242d373f464a4c5353535353535353524846423b33291f160c020000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a2928262321201d1914120f090300000000000000000000000000000000000000000000000000000000000000000002080e11151a1e21222528292b2c2c2c2c2b2b29272522211e1a14120e0902000000000000000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a686664615e5654534d46423c342e261e160e050000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c5c554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111a242d373f464a4c5353535353535353524846423b33291f160c0200000000000000000000000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b292623201f1c18120e09030000000000000000000000000000000000000915222f3b4854606b6f7a818a92989fa29e928d837b7d8a96a3b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313131310100d0a050000000000000000000000000000000000000000000000000000000000000a141e2c363e48505a626d727f8b919b9e97928a817a706b605d554e463d32271b0f0300000000000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d28271f2b3844505c66717e879399928c827b726d615e565046413a3229241d2427272d2d2d2d2d2d2d2524211d17110900000000000009121920262a2c2c2d2d2d2d2d2d2d2d2b3844505c66717e879399928c827b726d615e565046413a3229242d2d2d2d2d2d2d2d282724201a130b0200000000000000000814212e3b4754616e7b87939fac9f92867c706c64605d565a5959595a555c60636b707c85929fa9a1968b7e7265564c4135291d1104000000000000000009121b242d363f49515b626d72736e635b51453b31261a0e0e0c090400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212e3a47535f6a7683909da7aa9e93897c6f675d554c45413d3c3b3c3c40454d57606c7884919e9f9e9d95877a6e6154473b2e21140800000814212d3a47535f697784919daaaca0958a7d70675d554d46423e3d3c3d3e40454b515c67707d8a96a0acac9f93867a6d6054473a2d2114070000000000000000000000000000000000000008121b252d343a3e3f4646464646464646453b3a36302921170d04000000000000000000000000000000000000000000000000080f151a1d1f20202020202020202020202020202020202020202020201f1f1e1d1b19171413110d08060200000000000000000000000000000000000000000000000000000000000000000002080d14191e20262b2e2f323436383939393938373634322e2d2b26201e1a140e0902000000000000000000000000000e1a26313d4751595e5f6060606060606060606060606060606060606060606060605f5f5e5d5c5a5754524c4846423b373128231c140c040000000000000000000e1a26313d4751595e5f606060606060605f514b43392f23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b252d343a3e3f4646464646464646453b3a36302921170d040000000000000000000000000000000000000000000000000000000000000000070c10131316191c1d1f1f201f1f1e1c1a161313100c070000000000000000000000000000000000000000000713202c38444f5960686d757e8590949fa39d959086818e9ba8b0a3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020201d1c1a16110a0300000000000000000000000000000000000000000000000000000000020c1a242d363f48505a626d727f8b919ba29f938e857d746d6760584e43382c1f1307000000000000000000000000000000000000000000000000060c11151718202020202020201b1b1c28343f4a54616c717e87939a9490867f766e69615a524c443e352f281f191b20202020202020181715110c060000000000000000080f151a1d1f20202020202020201c28343f4a54616c717e87939a9490867f766e69615a524c443e352f281f1920202020201b1a18140f08010000000000000000000714202d3946525e6876828f9aa4a39892857d76716d6868676666666668676d70757d859197a2a49e9184796d6053463a2f24190d0100000000000000000009121b242d373f49515b626566635c52493f33291f140900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b37434e5864707d8a95a0aca59d9183796d675e56514b4a494848494b51575f69717e8b96a1aca89d908377685e5246392d201407000006121e2b37424d5766737f8c98a2aea79e9184796d675f57534d4b4a494a4b4b51555d606d7983909da8b2a99d908376685d5245392c201307000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d2a251f170f05000000000000000000000000000000000000000000000000000004090e11121313131313131313131313131313131313131313131313131211100e0c0a070705010000000000000000000000000000000000000000000000000000000000000000000000040c13191f252a2d31373a3b3e41434445464645454443403e3b3a37312d2a251f1a140d050000000000000000000000000915202b353f474e5253535353535353535353535353535353535353535353535353535252504f4d4a4746413b3a36312b261f17110a02000000000000000000000915202b353f474e5253535353535353535345403931271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d2a251f170f0500000000000000000000000000000000000000000000000000000000000000000000000406070a0c0f101213131312110f0d0a0706040000000000000000000000000000000000000000000000030f1b27323d474f565d606c717b828c9299a0a098928e939eaab0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2a2926221c150d040000000000000000000000000000000000000000000000000000000008121b242d363f48515b626d727f8c919ca39e97918a81796f6a6054483b2e221509000000000000000000000000000000000000000000000000000005080a0b131313131313130f0b17232e3842505a616c717e88939a98928b827b716c615e564f45413a312b22190f1313131313130b0a0805000000000000000000000004090e1112131313131313130b17232e3842505a616c717e88939a98928b827b716c615e564f45413a312b22190f1313130e0d0b0803000000000000000000000005111e2a36414d56626f7c87939fa5a297928a837d7a777573737273737476797d82889197a1a59d928a7e71675c514538281e1308000000000000000000000009121b252d373f495156585a57524a40372d21180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c4653606c7883909aa4aca0958f82796e68605d555756555556555d60696e7b85929fa8aca1968a7e7164564d41362a1e11050000020e1a26313c4754616d7a86929fa8aca1969082796e69615e575857565657545c60676d75818e95a0acada2978b7f7265564c4135291d11040000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d2d2b21201e1a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080e161e25293036393c4247484b4e50515253535252514f4d4b4846423c3a36302a251f170f080000000000000000000000040f19242d353d4245464646464646464646464646464646464646464646464646464645454442403e3b3936302d2a251f1a140b06000000000000000000000000040f19242d353d424546464646464646464638342f271f150b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d2d2b21201e1a140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d444c525a61696e787f8791969da29f9b9ea5afb0a3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303139393939393736322d271f160d030000000000000000000000000000000000000000000000000000000009121b242d363f49515b626d727f8c9193939393938e847c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000060606060606060006111c26303e48505a626c717f88939f9f948f857e756d686159514b433d342b21160a000606060600000000000000000000000000000000000104060606060606060006111c26303e48505a626c717f88939f9f948f857e756d686159514b433d342b21160a000601010000000000000000000000000000020e1925303b4754606a73808d939fa4a29f94908a86848280807f7f80818385898f939aa1a49f938d80746c61554b403428160c0100000000000000000000000009121b252d373f464a4c4d4b4740382e251c0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2b3744505b656f7c88939fa7a89e948f837a736d6765636262626365676d727b849197a2ada59e9184786d6053463b3025190e020000000915202d3946525e6873808c95a0aaa89f9490837b736e6967646363636465666d7179818e939da7b0a69e92857a6d6054473a2f24190d0100000000000000000000000000000000000000000000060d1216181920202020202020201f1514120e09020000000000000000000000000000000000000000000000000000000000000000000104060606060606060601000000000000000000040607090c0e0f11121213131211100e0b0808060200000000000000000000000000000000000000000000000000020a121a202830353b4146474e5355585b5c5e5f5f5f5f5e5e5c5a5855534d4846423b363029211a120a020000000000000000000008121b242b31363839393939393939393939393939393939393939393939393939393938373533312e2d2a25211e1a140e0903000000000000000000000000000008121b242b3136383939393939393939392c29231d150d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d1216181920202020202020201f1514120e090200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003070909131313131313130b0a08040000000000000000000000000000000000040f19232b323a414550575e666c727c848d929ea1a9aaafb7b0a3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464643423e3831281f150a000000000000000000000000000000000000000000000000000000000009121b242d373f49515b636d737f86868686868686868174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000a141e2c363e48505a626d727f8b919b9e97928a817a706b605d554e463d32271b0f0300000000000000000000000000000000000000000000000000000000000000000a141e2c363e48505a626d727f8b919b9e97928a817a706b605d554e463d32271b0f0300000000000000000000000000000000000008141f2b37434e58606d78818d939a9fa69f9c9992908f8d8c8c8c8d8e9092989c9fa49f99938c81786d605a5043392e231804000000000000000000000000000009131b252d343a3e3f403f3b352e261c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953606b74808d959fa8a69e959086807a7672706f6e6f6f7274797f869196a1a9a79d938a7e71665c504438291f14080000000005111d2935414c56606d79849198a2aaa69f959086807b767371706f70717275797e848e939da5afa89f948b7f72675d5145392c1e13080000000000000000000000000000000000000000000000000106090b0c1313131313131313120807050200000000000000000000000000000000000000000000000000000000000000000004090e1112131313131313130e0d0b0703000104070c10131316191b1c1e1f1f20201f1e1d1b181514120f0a0400000000000000000000000000000000000000000000020b141c242c323a41464d5254575f626567696b6c6c6c6c6b6a696765615f5754524d46423b332c241c140a020000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272421201e1914120e0903000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313131208070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151620202020202020171714110c0500000000000000000000000000000000071119202830353e454d545b606a6f79808a92979ea6aeb4aca3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a5353535353504e4a433a31271c1105000000000000000000000000000000000000000000000000000000000009121b252d373f49515b636d737979797979797979746e64584c4033271a0d010000000000000000000000000000000000000000000000000000000000000000000000000000020c1a242d363f48505a626d727f8b919ba29f938e857d746d6760584e43382c1f13070000000000000000000000000000000000000000000000000000000000000000020c1a242d363f48505a626d727f8b919ba29f938e857d746d6760584e43382c1f1307000000000000000000000000000000000000020f1b27323d44505c666d78808890959b9fa2a39f9d9b9a999999999b9d9fa2a29e9b948f877f776d665c50483e30271d120700000000000000000000000000000109131b23292e313233322f2a241c140a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414f59606d788390959fa7a79f98928c86827f7d7c7b7b7c7e81858b9298a1a8a69f958e81746c61544a3f3428170d0200000000010d1925303a45515c676f7c869298a1a9a79f98928d8783807e7d7c7d7e7f82858b91969ea5afa7a0969082786c60554b4135291d0c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f151a1d1f202020202020201a1a17130e070d1113181c1f20232527292a2b2c2c2c2c2b2a282522211f1a15100c0701000000000000000000000000000000000000010b141d262e363e444c52565e61666a6e717476777879797878777673716e6966615e57524d453e362e261c140a0000000000000000000000080f151a1d1f20202020202020202020202020202020202020202020202020201f1f1d1c1a171414110e0805020000000000000000000000000000000000000000080f151a1d1f20202020202020202013100c0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f22232d2d2d2d2d2d2d2423211c17100800000000000000000000000000000000070e161e2429333b424a505860676d747d858f949fa29f9f9f978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e4850555760606060605d5b554d43382d22160a00000000000000000000000000000000000000000000000000000000000009131b252d373f49515b63666c6c6c6c6c6c6c6c67645c53483c3024180b0000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242d363f48515b626d727f8c919ca39e97918a81796f6a6054483b2e22150900000000000000000000000000000000000000000000000000000000000000000008121b242d363f48515b626d727f8c919ca39e97918a81796f6a6054483b2e221509000000000000000000000000000000000000000a152028343f4a545c666c737c83898e9298989b9c9e9e9f9f9f9e9e9d9a9897928e89827c736c655c544a3f362c1e150b00000000000000000000000000000000010911181e2225252726231f19120a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f3d45515c666d7a8390959fa4aaa29f98928f8c8a898888898b8e92979fa2aaa59e949083796d605a5042382e23170500000000000008131e2934404b555f6a707d8692979fa6aaa39f9993908d8b8a89898a8c8f92979da0a8aca59e9590847a6d665b50433a2f24180d00000000000000000000000000000000000000000000000000000000000000020608080b0e1011121313121211100d0b080705020000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2726231f1913181d2023282c2d2f323436373839393938383734322f2e2b261f1c18120b03000000000000000000000000000000000009131d262f38404850565e61686e73777b7e81838485868685858482807e7b77736e69615e57504840382e261c1309000000000000000000000004090e111213131313131313131313131313131313131313131313131313131212110f0d0b0807050200000000000000000000000000000000000000000000000004090e1112131313131313131313060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313130a09070400000000000000000007101921272c2f303939393939393931302d28221a120800000000000000000000000000000000040c131921292f383f444e555d606b707a828b9298939393938a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6a665f554a3e32261a0d0000000000000000000000000000000000000000000000000000000000000109131b252e37404951575960606060606060605a58534a41362b201408000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d363f49515b626d727f8c9193939393938e847c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000009121b242d363f49515b626d727f8c9193939393938e847c6f6256493c2f23160900000000000000000000000000000000000000040b17232e38424a545b606b6f767d8185898c8e9091929293929291908e8c8985817c766f6a605b534a42382e241a0c03000000000000000000000000000000000000070d121618191a1917130e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2834404b545e686d7a838d939a9fa7aaa29f9c989695959596989b9fa2a9a8a09e938e827a6d675d51483e30261c1106000000000000020c18232f39434e58606b707d858f949ea0a8aba49f9c9a9796969697989b9ea1a9aca7a09d938e837b6e685e544a3f31281d1307000000000000000000000000000000000000000000000000000000000205090e121415181b1d1e1f20201f1f1e1c1a181514120e09050200000000000000000000000000000000000008121b242b313638393939393939393433302b241d24292c2e34383a3c3f41424445454646454443413e3b3a37312c29231d150d0700000000000000000000000000000007101b252f38404a525a61686d747b8084888b8e8f919292929291918f8d8b8884807b746e69615a524a40382e251b0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020171614100b05000000000000040f19232b32383b3c464646464646463e3c39332c241a10050000000000000000000000000000000002080f171d262d333c434b515961686d757e858686868686867d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c7079797979797671665b4e4236291c1000000000000000000000000000000000000000000000000000000000000000010a131c252e3740464b4c53535353535353534e4c4841382f251a0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d373f49515b636d737f86868686868686868174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000009121b242d373f49515b636d737f86868686868686868174675a4e4134271b0e010000000000000000000000000000000000000006111c263038424a505960636b7075797c7f81838485858685858483817f7c79746f6b6260585049413830261c120900000000000000000000000000000000000000000106090b0c0d0c0a0702000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b18232e39424c565e686d79808790959b9fa2aaa8a5a3a2a1a2a2a5a7aba49f9c96918981796d685d554b40362c1e150a000000000000000007121d27313c464f59606a6f7b828a91969c9fa3aba8a6a4a3a2a3a4a5a8a8aaa29f9b95908981796e695e564c42382d1f160c01000000000000000000000000000000000000000000000000000002080e11151a1e21222528292b2c2c2c2c2b2b29272522211e1a14120e0902000000000000000000000000000000040f19242d353d424546464646464646413f3c362f282f35393a404546494c4e4f51525253535251504e4b4847433c38342f271f19100a01000000000000000000000000030c19222d37404a525c636c717a81868c9196989a9c9e9f9f9f9f9e9d9c9a9895918d86817b716c645c524a40372d21180e030000000000000000000000020507081313131313131313131313131313131313131313131313131313131313131211100c09060503000000000000000000000000000000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b0906010000000000000000000000000000000000000000000000010406070a0d10111213131312100e0b070705010000000000000000000000000000000000000000000810161c2023232d2d2d2d2d2d2d2323201c16100800000000000a16212b353d434849535353535353534a49453e362c22170c000000000000000000000000000000000000050b141c2228313940454f565e616d7279797979797979706c6155493c3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868683766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000010a131c252e353b3e40464646464646464641403c362f261d1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d373f49515b636d737979797979797979746e64584c4033271a0d01000000000000000000000000000000000000000000000000000000000000000000000009121b252d373f49515b636d737979797979797979746e64584c4033271a0d0100000000000000000000000000000000000000000a141e262f383f444f54596063666d6f72747677787979797877767472706d66636059544e443f382f261e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303a444c565e676d747c83898e9298999b9d9e9f9f9f9e9d9c9999938f8a847d756d675d564c433a2f241a0c030000000000000000010b151f2a343d474f5860696e767e848a8f9299999b9d9e9f9f9f9f9e9d9b9998928e89837d756d675e564d443a2f261c0d040000000000000000000000000000000000000000000000000002080d14191e20262b2e2f323436383939393938373634322e2d2b26201e1a140e0902000000000000000000000000000915202b353f474e52535353535353534d4c474038313a4045474b515356585a5c5d5e5f5f5f5f5e5d5b5855534e47454039312b221b130a0000000000000000000000000a151e2b343f49525c646e737e858d92999da0a8a9a29f9d9c9b9c9d9fa2aaa7a09d99928e857e736e645c52493f332a1f140900000000000000000002080e1114142020202020202020202020202020202020202020202020202020202020201f1e1c191613120f0b06000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d06000000000000000000000000000000000000000001070d111314171a1c1e1e1f201f1e1d1b181413110d080200000000000000000000000000000000000008111a21272c2f3039393939393939302f2c27211a1108000000030f1b27323d474f545660606060606060575550483e33281c1104000000000000000000000000000000000000020a11171f272f353e444c525b62656c6c6c6c6c6c6c64615a5044392d20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a9393939083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000010a131c232a2f323339393939393939393433302b251d140b0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b252d373f49515b63666c6c6c6c6c6c6c6c67645c53483c3024180b0000000000000000000000000000000000000000000000000000000000000000000000000009131b252d373f49515b63666c6c6c6c6c6c6c6c67645c53483c3024180b000000000000000000000000000000000000000000020c141d262d333d43484f54545c60636568696b6b6c6c6c6b6b6a676563605c54544f47433d332d261d140c020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e28323a444c555c606b6f767c8185898c8e909192929291908f8d8a86827d79706b605d554c443a31281d120800000000000000000000030d18222b353d464e575e616c71787d82868a8c8f90919293929291908e8c8985817d77706b605d554d443b32281d140a00000000000000000000000000000000000000000000000000040c13191f252a2d31373a3b3e41434445464645454443403e3b3a37312d2a251f1a140d050000000000000000000000000e1a26313d4751595e5f6060606060605a58524a403a434b5153545c60626567696a6b6c6c6c6b6b6a6765625f5853514b433d342d251b12090000000000000000000006111c26303d46515b646e74808a92979fa3a9a19e999792908f8f8f909298989d9fa7a39f97928a80736e635b51453b31261a0e0400000000000000050d14191e20212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b292623201f1b17110c0600000000000000000000000000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d1811090100000000000000000000000000000000040a0f13181d20202326292a2b2c2c2c2b2a272521201e1913100b0500000000000000000000000000000005101a232c33383c3d464646464646463d3c38332c231a1005000007131f2c38434f5960636c6c6c6c6c6c6c64615a5045392d2114080000000000000000000000000000000000000000060d151d2429323a41465156585f606060606060575550483e33281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d272724201a130b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109131b252e37404951575960606060606060605a58534a41362b201408000000000000000000000000000000000000000000000000000000000000000000000000000109131b252e37404951575960606060606060605a58534a41362b20140800000000000000000000000000000000000000000000020b141c222832383d44484a515356595b5d5e5f5f605f5f5e5d5b595653504a48443d383227221b140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c162028323a434b515960636b6f75797d7f828385858685858482807d7a76716d666059514b433a32281f160c000000000000000000000000061019232b343d454d525a61666c70757a7d80828385858686858483817f7c7975706b636059514b433b322920160b02000000000000000000000000000000000000000000000000080e161e25293036393c4247484b4e50515253535252514f4d4b4846423c3a36302a251f170f080000000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c67645c5247404b555d6064666d6f727475777878797978777674716e6a64605c554e463f372d251b11070000000000000000000c17232e38424f59626d74808d929ea1a9a39f97918c8885838282838385888b90959ea1a8a29f928d80736d62574d42362a20160a000000000000050e171e252a2d2e39393939393939393939393939393939393939393939393939393939393938373633302d2b27221b17110a0300000000000000000000000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b1309000000000000000000000000000002080d151b1d24292c2d3033363738393939383634312e2d2a251e1c160f0a04000000000000000000000000000b16212c353d44484a535353535353534a48443d352c21160b00000915222f3b4854606b6f79797979797979716c6155493c3023170a000000000000000000000000000000000000000000030b1218202930363f454a4b525353535353534a49443e362c22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a39d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000000000000000000000070d1216191920202020202020201b1a18140f0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e3740464b4c53535353535353534e4c4841382f251a0f030000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e3740464b4c53535353535353534e4c4841382f251a0f030000000000000000000000000000000000000000000000020a111721272c333839404446494c4e5051525253525251504e4c4946443f3838322b272017110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e162028313940454f54596063676d707375777879797978777673716e6864605c544f454039312820160d0400000000000000000000000000071119222b333b424650545b6064676d707375777879797978787675726f6d67636059544f45403a312920170e050000000000000000000000000000000000000000000000020a121a202830353b4146474e5355585b5c5e5f5f5f5f5e5e5c5a5855534d4846423b363029211a120a02000000000000000000121f2c3845525e6a7579797979797979746e64584c45515d676d7176797c7f81828485858686858483817e7b77716d67605851493f372d23190b020000000000000003101c28343f4a54606b727f8c929ca4aaa299928c84807b787675757677797b7f838a91969fa6a49c928b7f72695f53463d32271b0f0300000000020d1720293036393b4646464646464646464646464646464646464646464646464646464646464544433f3c3937332d28231c150c0500000000000000000000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b1106000000000000000000000000050d131920262b2f35393a3d404344454646464543413e3a3936302c28211b150e06000000000000000000000004101c27333d474f55566060606060606056554f473d33271c100400091623303c4956636f7d868686868686867e7164574a3e3124170b0000000000000000000000000000000000000000000001070e171e252a343a3d3f464646464646463d3c39332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a39d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000000002060a0c0d13131313131313130e0d0b0803000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e353b3e40464646464646464641403c362f261d130800000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e353b3e40464646464646464641403c362f261d13080000000000000000000000000000000000000000000000000000060b161b21272c2e34383a3c3f41434445464646454443413f3d3a38342e2c27211b160b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e161f272f343d43484f54555c606366686a6b6c6c6c6b6a696664615e5653514a423d352f271f160d04000000000000000000000000000000071019202930363e424a5053555d606366686a6b6c6c6c6c6b6a686663605c55554f48443d352f281f170e050000000000000000000000000000000000000000000000020b141c242c323a41464d5254575f626567696b6c6c6c6c6b6a696765615f5754524d46423b332c241c140a02000000000000000013202c3946535f6c79878686868686868074675a4d4753606d797e8286898b8d8f90919292929291908e8b88837e796f6a625b51493f352b1d140a0000000000000006121f2c3844505c666f7c87929fa4aba29892878079736f6a6a696869656c6e72777d848f949fa6a49f92867b6e61584e43382b1f13060000000008141e29323b41465353535353535353535353535353535353535353535353535353535353535352514f4c4946443f38342e261e170f070000000000000000000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d0100000000000000000000080e171e252a31373a4045474a4d4f515152535251504e4b4746413a38332b2620181009000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6361594f44382c20140700091623303c4956636f7c8993939393938a7d7164574a3e3124170b000000000000000000000000000000000000000000000000050d131923292e31323939393939393931302d28221a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a39d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c232a2f323339393939393939393433302b251d140b010000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c232a2f323339393939393939393433302b251d140b01000000000000000000000000000000000000000000000000000000040a0f161c1c23282c2d3032353638383939393838373432302d2c28231c1b160f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151d232932383d44484b515356595b5d5e5f5f5f5e5d5c5a5754524d464440393029241d150d040000000000000000000000000000000000070e171f252a2f383f44464b515457595c5d5e5f605f5f5e5d5b595653514b48443d383329241d160d050000000000000000000000000000000000000000000000010b141d262e363e444c52565e61666a6e717476777879797878777673716e6966615e57524d453e362e261c140a000000000000000013202c3946535f6c798692939393938d8074675a4d4f5c6875828b8f9298989a9c9d9e9f9f9f9e9e9d9a9895908b847c726d625b51473d2f261c1106000000000003101c28343f4a54606d78839099a3afa39992867d736d67625f585c5c535b6061656c707a828f949fa9a2988f82766a6054473b2e221508000000020e1925303b444c525f60606060606060606060606060606060606060606060606060606060605f5f5e5c5956535049443f38302921191007000000000000000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d120600000000000000000008111a202930363c43474b515356595c5d5e5f5f5f5e5d5a5854524c48443e37312a221b120a0100000000000000000916232f3c4855616b7079797979797979706b6155483c2f23160900091623303c4956636f7c89969f9f9f978a7d7164574a3e3124170b0000000000000000000000000000000000000000000000000002080d181d2224252c2d2d2d2d2d2d2423201c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a39d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000000000060a0e1011121313131212100e0b0707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d272724201a130b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d272724201a130b02000000000000000000000000000000000000000000000000000000000000050b1012181c1f202326282a2b2c2c2d2c2c2b2a282623201f1c17110f0b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c3238394045464a4c4f505252535252514f4d4a4746413b38342e271e18120b0300000000000000000000000000000000000000050d141a1d262d33383a4145474a4d4f50525253535251504e4c494645403938332c272118130c0400000000000000000000000000000000000000000000000009131d262f38404850565e61686e73777b7e81838485868685858482807e7b77736e69615e57504840382e261c13090000000000000013202c3946535f6c7986929f9f9f9a8d8074675a4d4f5c6975828f9c9fa3aaa7a7a4a2a1a1a0a1a3a6a7a79f9d9691877f726d62594f42382d22170b000000000006121f2c3844505c66727f8b95a0aba89f92877d706b605d55534e4f4f495053555a61686d79829097a1a49f94897c6f6256493c2f23160900000005111e2a36414c565e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a696663605b53504a423b332b23190f0600000000000000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e221509000000000000000008121a232c323a41464e53555d606366696a6b6c6c6c6b696764615e56554f47433c342d241c130a01000000000000000a1723303d4a5663707d868686868686867d7063564a3d3023170a00091623303c4956636f7c8996a2aca4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000060c111517181f202020202020171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a39d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000000040b11161a1d1e1f2020201f1e1d1b181413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216191920202020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216191920202020202020201b1a18140f080100000000000000000000000000000000000000000000000000000000000000000000070c10121316191b1d1e1f1f201f1f1e1d1b19161312100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c161b21272c2e34383a3d40424445464646454443403e3b3936302c28231c150c070100000000000000000000000000000000000000000002090b141c22282b2f35393a3d40424445464646454543423f3c3a38342e2c27211c160d070100000000000000000000000000000000000000000000000007101b252f38404a525a61686d747b8084888b8e8f919292929291918f8d8b8884807b746e69615a524a40382e251b0f0600000000000013202c3946535f6c7986929faca79a8d8074675a4d4f5c6976828f9caaa29f9c9a97969594939496999ea0a8a8a099928b7f726b60544a3f33281c0f03000000000713202d3a4653606d7984919ea7ada1968d80736b6059514b474342423f44464850565d676d7a85929b9993908c8275685c4f4235291c0f0200000714202d3946525e6876797979797979797979797979797979797979797979797979797979797979787776726f6c65605c544d453d352b22180d0300000000000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b0000000000000008111a242c353e444c52585f62676d7073767778797979787674716d68636159534e463f362e251c1309000000000000000a1723303d4a5663707d899393939393897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000105090b0c131313131313130a0a080400000000000000000000000000000000000000000000000000000002050708080808080808080808080808080808080808080808080808080a1724313d4a5764707d8a97a39d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000000050e161c2227292a2c2c2d2c2c2b29282521201d19130f0a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0c0d13131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0c0d13131313131313130e0d0b08030000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e1011121313131211100e0c0a07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1d23282c2d303335373839393938373633312e2d2a251f1c18120b0300000000000000000000000000000000000000000000000000020a11171c1f24292c2d30333537383939393938373533302d2c28231d1c16100b0500000000000000000000000000000000000000000000000000030c19222d37404a525c636c717a81868c9196989a9c9e9f9f9f9f9e9d9c9a9895918d86817b716c645c524a40372d21180e03000000000013202c3946535f6c7986929faca79a8d8074675a4d4f5c6976828f9c9a9892908d8b8988878787898c91969fa2aaa39f93877d70665b5044382b1f120700000004101d2935404b5564717d8a96a1acaa9e9184796d60594f45403937312d3337393e444c555e68717e8b8e8a86837f7c6f6255483c2f2215090000000814212e3b4754616e7a8686868686868686868686868686868686868686868686868686868686868584827f7c78716d665e574f473d342a1f150b0100000000000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c000000000000050f1a232c363e474f565e616a6f747a7d808284848586858483817e7a76706b625f58514840372e251b11070000000000000a1723303d4a5663707d89969f9f9f96897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e11141415151515151515151515151515151515151515151515151515151724313d4a5764707d8a97a39d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000000040e1720272e3336373939393939383634312e2d2a251e1a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b0f12181c1f202326282a2b2c2c2c2b2a29272421201e1914100c070000000000000000000000000000000000000000000000000000000000060b0f13181d20212426292a2b2c2d2c2c2b2a282623201f1c1812100b050000000000000000000000000000000000000000000000000000000a151e2b343f49525c646e737e858d92999da0a8a9a29f9d9c9b9c9d9fa2aaa7a09d99928e857e736e645c52493f332a1f1409000000000013202c3946535f6c7986929faca79a8d8074675a4d505c6976838f918d898583807e7c7b7a7a7b7d7f848b9298a2aba4999083786c605346392e23180c0000000613202c3945515d6775828f9ba8aea3988b7e71675d51473d352f2b2622272b2d323a434c56606d7883817e7a76736f6a5f53473b2e2115080000000814212e3b4754616e7a87939393939393939393939393939393939393939393939393939393999292918f8c89837e786e6960594f463c31271d1207000000000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d20130000000000020d17212c353e48505961686d757c8186898c8f909192929291908d8b86827d766f6a625b524940372d23190d0300000000000a1723303d4a5663707d8996a3aca396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000000000000000000000000000000000000010507080b0e10111213131211100e0b0807050100000000000000000000000000000000000000000000000000000000050d14191e202121212121212121212121212121212121212121212121212121212124313d4a5764707d8a97a39d9083766a5d5043372a1d10000000000000000000000000000000000000000000000000000b16202932393f434445464646454543413e3a3936302b2620180f0900000000000000000000000000000000000000000000000000000004090e1112131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130b0a0804000000000000000000000004090e1112131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130b0a0804000000000000000000000000000000000000000000040613131313131313131312110e090400000000000000000000000000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b0906010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10131317191c1d1f1f201f1f1e1c1a171414110e080400000000000000000000000000000000000000000000000000000000000000000003070d111314171a1c1d1f1f20201f1e1d1b19161313100c07000000000000000000000000000000000000000000000000000000000006111c26303d46515b646e74808a92979fa3a9a19e999792908f8f8f909298989d9fa7a39f97928a80736e635b51453b31261a0e040000000013202c3946535f6c7986929faca79a8d8074675a4d505c6976838a85807c797674716f6e6e6d6e7073787e869299a3aba0958a7e7164544b4034281c100400000714202d3a4753606d7a86929facac9f92867a6d60554b403529241d1a171b1f2028313a44515c666d7775716d6866625f584e43372b1f12060000000814212e3b4754616e7a87949f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9e9d9c9995908b837b6f6b60584e43392f23180c02000000000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d2013000000000009141f29333d47505a616b707a82888e9298999c9d9e9f9f9f9e9c9a99938f8a837c726d635c52493f352b1f150b01000000000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000000000000000000000000000000003080d111414171a1c1e1f20201f1e1d1a171414110d080300000000000000000000000000000000000000000000000000050e171f252a2d2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e313d4a5764707d8a97a39d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000006111c27323b434a4f51525353535251504e4b4746413a37312a221b120900000000000000000000000000000000000000000000000000080f151a1d1f20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020171714110c050000000000000000080f151a1d1f20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020171714110c050000000000000000000000000000000001070c10132020202020202020201f1d1a150f080000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0d0f11121313131211100d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131212100f0c09070604000000000000000000000000000000000000000000000000000000000000000c17232e38424f59626d74808d929ea1a9a39f97918c8885838282838385888b90959ea1a8a29f928d80736d62574d42362a20160a0000000013202c3946535f6c7986929faca79a8d8074675a4d4e5a6774807d7974706d666764636261606163656c727d87929faca79b8f8275665c5145382c1f130600000a1723303d4a5663707d8998a3aea89b8e8275675d51433a2f23181d1d1d1d1d161f2834404a545c606a6864615e5655534e463c32261b0f030000000814212e3b4754616e7a8794a1acacb4aeaca6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a8aaa9a7a09d9590857d6f6a5f554b4034291e130800000000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d201300000000020e1a25303b454f59616c717d858f939a9fa3aaa9aaa8a7a6a7a9a9aba49f9c9490867f736e635b51473d31271d1207000000000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000000000000000000000000000060b1014191e20212427292b2c2c2c2c2b2a272421201e19140f0b0600000000000000000000000000000000000000000000020d17202930363a3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3b3d4a5764707d8a97a39d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000a16222e39434d555b5d5f5f605f5f5e5c5b5854524c47433c342d241b1108000000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c17100800000000000009121920262a2c2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c1710080000000000000000000000000000030b12181c1f2d2d2d2d2d2d2d2d2c2c2a262019120900000000000000000000000000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d181109010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54606b727f8c929ca4aaa299928c84807b787675757677797b7f838a91969fa6a49c928b7f72695f53463d32271b0f0300000013202c3946535f6c7986929faca79a8d8074675a4d4c58646e74716d6663605c54585655545454535b606b74818d9aa9ac9f9285796d6053463a2d20130700000d1a2733404d5a6673808d99aab4aa978b7e7164554c4131282a2a2a2a2a2a2a2a2a232e39424a51535d5b5754524c4847433c342a20150a000000000814212e3b4754616e7a8794a7afb4aba39f9a9898989898989898989898989898989898989898999b9ea1a9aca79f9792857c6e675c51453a3025190d0100000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d20130000000005121e2a36424d57606b717e8791979ea5acaba9a19e9b9a9a9b9d9fa4abaca69f98928b80736d62594f43392f23180c000000000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000000000000000000000000020a11171c1f252a2d2e3134363839393938373634312e2d2a251f1b17110a02000000000000000000000000000000000000000009141f29323b4246474848484848484848484848484848484848484848484848484848484848484a5764707d8a97a39d9083766a5d5043372a1d100000000000000000000000000000000000000000000000020e1a27333f4a555f676a6c6c6c6c6c6b696764615e56534e463e362d23190b0200000000000000000000000000000000000000000008121b242b3136383939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393931302d28221a12080000000008121b242b3136383939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393931302d28221a1208000000000000000000000000030d151d23292c3939393939393939393836312b241b12080000000000000000000000000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b13090000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b09060100000000000000000000000000000000000000050a0d0f101313100f0d0a050000000000000000000000000000000000000000000000000000000000000000060a0e1011121313131212100e0b0707050100000000000000000000000000000000000000000000000006121f2c3844505c666f7c87929fa4aba29892878079736f6a6a696869656c6e72777d848f949fa6a49f92867b6e61584e43382b1f130600000013202c3946535f6c7986929faca79a8d8074675a4d47525c646764605c5453514b4b4948474748495059626e7b8897a1ada298887c6f6255493c2f2216090004101c2834404b546976828f9ca9aea398887b6f6255483c2f3737373737373737373737373039404446514e4b4746413c3b37322a261f180f060000000814212e3b4754616e7a87959fa3aba399928d8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8c8c8f92979ea1a9a9a2979184796d60564c41362a1d110500000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a000000030e18212d3a46525e69707d879299a1a9ada79f9d97928f8d8d8e9093999fa2aaaaa39f928b7f726b60554b4034291c12070000000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000000000000000000001070c141c23282b3036393b3e414344454646454443413e3b3936302b27221b140b07000000000000000000000000000000000000020e1925303b444d5254545454545454545454545454545454545454545454545454545454545454545764707d8a97a39d9083766a5d5043372a1d10000000000000000000000000000000000000000000000003101d2936434f5b6771777879797978787674716d68625f5850483e352b1d140a0000000000000000000000000000000000000000040f19242d353d4245464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463e3c39332c241a10050000040f19242d353d4245464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646463e3c39332c241a100500000000000000000000010b151f272f343846464646464646464645423d352d24190f040000000000000000000000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b1106000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d0600000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000000000000000000000000000000000000040b11161a1d1e1f2020201f1e1d1b181413110d080200000000000000000000000000000000000000000003101c28343f4a54606d78839099a3afa39992867d736d67625f585c5c535b6061656c707a828f949fa9a2988f82766a6054473b2e22150800000013202c3946535f6c7986929faca79a8d8074675a4d414a52585a5753504a4645403e3c3b3b3a3b3f47535f6a7885929eabaa968a7d7063574a3d3024170a0006131f2c3845515c667884919eabac9f9286796d6053464444444444444444444444444444444444444444444444444444443b3a36312a21180e0300000714202d3a4753606d79838c9299a29f9286807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f8082858a91969fa7a9a0968c7f73685e5246392d2013080000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f2316090000000915202c38444f59616e7b869299a3abada49c959089858281808183878c9298a0a8aea49f93877d6f675c5145392e23180c0000000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000000000000000000030b12181e262e34383b4146474a4d4f515253535251504d4a4746413b37332d261d18120b030000000000000000000000000000000005111e2a36424d565e61616161616161616161616161616161616161616161616161616161616161616164707d8a97a39d9083766a5d5043372a1d10000000000000000000000000000000000000000000000004111e2a3744515d6a778385868686858483817e7a756e6a615a50473d2f261b1106000000000000000000000000000000000000000915202b353f474e52535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c00000915202b353f474e52535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c0000000000000000000007121d2731394045535353535353535353524e473f352b20150900000000000000000000000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d010000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d1811090100000000000000000000000000040d151c2226292a2d2d2a2926221c150d040000000000000000000000000000000000000000000000000000050e161c2227292a2c2c2d2c2c2b29282521201d19130f0a030000000000000000000000000000000000000006121f2c3844505c66727f8b95a0aba89f92877d706b605d55534e4f4f495053555a61686d79829097a1a49f94897c6f6256493c2f23160900000013202c3946535f6c7986929faca79a8d8074675a4d4141474c4e4a46443f3a38342e302f2e2d2d37434e586a7784909daaa4978b7e7164584b3e3125180b000713202d3a4653606d7986939facaa9d908477665c50505050505050505050505050505050505050505050505050505050504846423b332a1f140900000613202c3945515d676d787f879297a29992867e727272727272727272727272727272727272727375797e8490959fa9a89f92867a6d6154473a2f24190d0100000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c2014070000020f1a26313c4855616b75828f98a2abada39b928c837d7975747374767a7f869196a0a8afa4999184796d60544a4034281c100400000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000000000000000050d151d242930383f44464c5254575a5c5e5f5f5f5f5e5d5a5754524c46443f382f28231c150c030000000000000000000000000000000714202d3a46525e696e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e707d8a97a39d9083766a5d5043372a1d10000000000000000000000000000000000000000000000006121f2c3945525f6c78859292999292918f8e8b87827c716c61594f41382d22170b000000000000000000000000000000000000000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c1104000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c11040000000000000000000c18232f39434b515f606060606060605f5e5951473d31261a0e010000000000000000000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d120600000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b1309000000000000000000000000030d161f272d32353639393635322d271f160d03000000000000000000000000000000000000000000000000040e1720272e3336373939393939383634312e2d2a251e1a150e060000000000000000000000000000000000000713202d3a4653606d7984919ea7ada1968d80736b6059514b474342423f44464850565d676d7a85929b9993908c8275685c4f4235291c0f02000013202c3946535f6c7986929faca79a8d8074675a4d41363c3f413e3a38342e2c2823232221212c3844505c667784919daaa5988b7f7265584b3f3225180c000815212e3b4854616e7b879aa4afa99c90837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d55534d453b31261a0e020004101d2935404b555d666d727d859298a29892877f716b6565656565656565656565656565656566666d717a839097a1ada2988b7f7265564c4135291d11040005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c1004000006121f2b37434e5863707d8a939eaaafa59b918b8078706c66676768686d737b849196a0acaba0968c7f72665c5144382c1f120600000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000000000000000050e161f272f353e424a5053565e616467696b6c6c6c6b6a696764615e56535049413d342e271e150c0300000000000000000000000000000814212e3b4754616e7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7f8b98a49d9083766a5d5043372a1d10000000000000000000000000000000000000000000000006121f2c3945525f6c7885929493939496999a99938e867e716b6053493f33271b0f03000000000000000000000000000000000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d21140800111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d211408000000000000000004101c2934404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d110400000000000000000000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e2215090000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b110600000000000000000000000a151f2831383e4243464643423e3831281f150a0000000000000000000000000000000000000000000000000b16202932393f434445464646454543413e3a3936302b2620180f090000000000000000000000000000000004101d2935404b5564717d8a96a1acaa9e9184796d60594f45403937312d3337393e444c555e68717e8b8e8a86837f7c6f6255483c2f22150900000013202c3946535f6c7986929faca79a8d8074675a4d4134303334312d2c28231f1c18161e2429363e4653606d7985929facab978a7e7164574b3e3124180b000916232f3c4956626f7c8995acb6a89c8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615f574d42362a1e120500010d18242f39434b545c606b707d86929fa29992877d70675d5858585858585858585858585859545c60686d7a85919ea9aa9c908376685d5245392c201306000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b0000000814212e3a47535f6a7683909ca5afa99e938b7f736c65605b545a565e61696e7a84919aa4afa89e9285796d6053463a2d22170b00000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000000000000040d162028313940454f545c6064686e7174767778797978777674716e6863605b534e44403930271e150c0300000000000000000000000000111e2a3744515d6a7784878787878787878787878787878787878787878787878787878787878787878787878b919ba99d9083766a5d5043372a1d10000000000000000000000000000000000000000000000006121f2c3945525f6c78858887868787898d92979f9892887d70655b5044372b1f1205000000000000000000000000000000000000121f2c3845525e6a7579797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a00121f2c3845525e6a7579797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a000000000000000006131f2c3845515c67767979797979797979756a5e5245382c1f12060000000000000000000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b00000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d0100000000000000000005111c27313a434a4e505353504e4a433a31271c11050000000000000000000000000000000000000000000006111c27323b434a4f51525353535251504e4b4746413a37312a221b12090000000000000000000000000000000613202c3945515d6775828f9ba8aea3988b7e71675d51473d352f2b2622272b2d323a434c56606d7883817e7a76736f6a5f53473b2e21150800000013202c3946535f6c7986929faca79a8d8074675a4d413427262724201f1c1713141920282f353f48515b63707d8998a2aea399897c6f6356493c30231609000a1623303d495663707c8996a3afa89b8e8177777777777777777777777777777777777777777777777777777777777777776e695f53463a2d211407000007121d283139424a5059606b717e8b949fa39991857a6d60564c4c4c4c4c4c4c4c4c4c4c4c4c4a51565e68717e8b97a1a69f94877a6d6054473a2d211407000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a10050000000815222f3b4855626e7b88949fabada2978e81746d605b53504a4d4c52575e68707d87939facada1978a7d716453493f33271b0f03000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000000000010c161f28323a434b515961666d71767a7e808284858686858483807d7a76706c656058514a423930271e150a00000000000000000000000000111e2a3744515d6a778490949494949494949494949494949494949494949494949494949494949494949494989ba3a99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000916232f3c4956626f7c7b7a7a7a7b7d808590959f9a9184786c605346392d20130600000000000000000000000000000000000013202c3946535f6c79878686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b0013202c3946535f6c79878686868686868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b00000000000000000714202d3a4753606d798686868686868687796c5f5346392c201306000000000000000000000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d12060000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a000000000000000000000000000000000000000000000a16222e39434d555b5d5f5f605f5f5e5c5b5854524c47433c342d241b110800000000000000000000000000000714202d3a4753606d7a86929facac9f92867a6d60554b403529241d1a171b1f2028313a44515c666d7775716d6866625f584e43372b1f120600000013202c3946535f6c7986929faca79a8d8074675a4d4134271a1b171312100e171f252a323a4145515a626d76828f9caaac9f9286796d6053473a2d201407000a1724303d4a5763707d8a96a3b0ab9e928583838383838383838383838383838383838383838383838383838383838383837b6e6155483b2e2215080000010c161f2830383f444f59626c76828f9ca7a1978d8073685e52463f3f3f3f3f3f3f3f3f3f3f40444c56606d7985929a999896897c6f6356493c30231609000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a110800000005121e2a36424d576774808d9aa6b0ac9f92857a6d615b5049443f4041464d56606b75828f9baab3a99b8e8175655b5044372b1f1205000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000000000008131e28313a444c555d606b70787e82868a8d8f919292929291908d8a87827d786f6a605c544a423930261c1106000000000000000000000000111e2a3744515d6a7784909da1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a4a7aca99d9083766a5d5043372a1d100000000000000000000000000000000000000000000000000815222e3b4754606a6f6e6d6d6d6e70737a83909da096897c6f6356493c3023160900000000000000000000000000000000000013202c3946535f6c798692939393939393939393939393939393939393939393939393939393939393939393939393939393939393938a7e7164574a3e3124170b0013202c3946535f6c798692939393939393939393939393939393939393939393939393939393939393939393939393939393939393938a7e7164574a3e3124170b00000000000000000714202d3a4753606d7a8693939393939286796c5f5346392c2013060000000000000000000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d20130000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e2215090000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d010000000000000000000000000000000000000000020e1a27333f4a555f676a6c6c6c6c6c6b696764615e56534e463e362d23190b02000000000000000000000000000a1723303d4a5663707d8998a3aea89b8e8275675d51433a2f23181d1d1d1d1d161f2834404a545c606a6864615e5655534e463c32261b0f0300000013202c3946535f6c7986929faca79a8d8074675a4d4134271a0e0b070b1218202930363e444c525b626c727f8b949faba89c8f8376675d5145392c1f1306000a1724313d4a5764707d8a97a3b0ada1979290909090909090909090909090909090909090909090909090909090909090887b6e6255483b2f221508000000040d161e262e343d47505a63707c8995a0a99f92867a6d6154473b3032323232323232322e343a45515c6674818e8e8c8b89887f7265584c3f3225190c000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c161008000000000714212d3a46535f697884919eabafa49a8c7f73685e52443f383330363b444f5963707d8a98a2aeab9f9285796c605346392d201306000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000000000050e19242f3a434c565e676d747d848a8f93999a9c9e9f9f9f9e9d9c9a9a938f8a837c736d665c544a42382e23170b020000000000000000000000111e2a3744515d6a7784909d9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9d9083766a5d5043372a1d1000000000000000000000000000000000000000000000000006131f2b38434e586062616160606163686f7c8899a4988b7e7265584b3f3225180c00000000000000000000000000000000000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b0013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b00000000000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c201306000000000000000000000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d2013000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b0000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f03000000000000000000000000000000000000000003101d2936434f5b6771777879797978787674716d68625f5850483e352b1d140a000000000000000000000000000d1a2733404d5a6673808d99aab4aa978b7e7164554c4131282a2a2a2a2a2a2a2a2a232e39424a51535d5b5754524c4847433c342a20150a0000000013202c3946535f6c7986929faca79a8d8074675a4d4134271a0e030c151c2328323b41464f565d606d727e87929fa6ada1968b7e7165554b4035291d1004000a1724313d4a5764707d8a97a3b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94887b6e6155483b2e22150800000000040c141c2328353f4854606b7783909daaa3988c7f7266574d42362a25252525252525232834404b5464717e8281807e7d7c796d6053473a2d201407000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b0500000000000815222e3b4855616e7b8896a1aca69f93877b6e61564c41332d28252a323d4653606c7985929fabada297887b6e6155483b2e221508000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000000020d17202935414c555e686d79818a91969c9fa4aba5aba49f9fa4aca5aca49f9c95908780786d665c544a3f34281d140a0000000000000000000000111e2a3744515d6a77839093939393939393939393939393939393939393939393939393939393939393939393939393939083766a5d5043372a1d10000000000000000000000000000000000000000000000000030f1b27323d464e5456555453545456606c7986939f998c807366594d4033261a0d00000000000000000000000000000000000013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a4978a7d7164574a3e3124170b0013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a4978a7d7164574a3e3124170b00000000000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c20130600000000000000000000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d201300000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c000000000000000003101d2a3643505d69768286868276695d5043362a1d1003000000000000000000000000000000000000000004111e2a3744515d6a778385868686858483817e7a756e6a615a50473d2f261b1106000000000000000000000004101c2834404b546976828f9ca9aea398887b6f6255483c2f3737373737373737373737373039404446514e4b4746413c3b37322a261f180f0600000013202c3946535f6c7986929faca79a8d8074675a4d4134271a0e0c151e272e343e444d525961686d757f879299a3afa59e9184796d6053463a2f24180c00000a1723303d4a5663707d8996a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa9aaaaaaaaaa94877a6e6154473b2e2114080000000000020a1117232c38444f596673808c99a6aa9d918477695e52463a2d2019191919191918232e394955616c7176747371706f6d675d5145392c201306000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a000000000000000b1825313e4b5864717e8b939a979a9c908376695e52443a30221b19202b3844505b6676838f9ca9b3a9978a7d7064574a3d3124170a000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000000008141e29323b45515d676d7a838e939ea0a8a7a09d99959993939a96999ea0a8a7a099928c81786d665c50443d2f261c110600000000000000000000111e2a3744515d6a77838686868686868686868686868686868686868686868686868686868686868686868686868686868683766a5d5043372a1d10000000000000000000000000000000000000000000000000000a162027333f49535b606060606062666e7b8799a4988c7f7265594c3f3226190c00000000000000000000000000000000000013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a978a7d7164574a3e3124170b0013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a978a7d7164574a3e3124170b00000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d2013000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000006121f2c3945525f6c78859292999292918f8e8b87827c716c61594f41382d22170b000000000000000000000006131f2c3845515c667884919eabac9f9286796d6053464444444444444444444444444444444444444444444444444444443b3a36312a21180e03000013202c3946535f6c7986929faca79a8d8074675a4d4134271a0b151e273039404450565e616b707a818b9299a3aba79e938b7e71665c5145382c1d12070000091623303c4956636f7c8996a2afb0a69f9c9393939393939393939393939393939393939393939393939c9ea6b0aea398877a6d6054473a2d2114070000000000000006101b27323d4956636f7c8996a9aca095877b6e6154483b2e21150c0c0c0c07121d2d3944505a6164696766656362605d554b4035291d1104000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a000000000000000c1925323f4c5865727f8486898b8d8f8c807366574d4232281e110f1c28333f4a546774808d9aa7b2a5988b7f7265584c3f3225190c000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000010d1925303b44515b606d798390959ea5a9a19e95908c8987868687898c91969ea1a9a39f938f81786d60584e42382d22170b00000000000000000000101d2936424f5b677177797979797979797979797979797979797979797979797979797979797979797979797979797979797671665b4e4236291c100000000000000000000000000000000000000000000000000005121f2b3744505b656c6d6c6c6d6f7278818e9ba095897c6f6356493c3023160900000000000000000000000000000000000013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8a7e7164574a3e3124170b0013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8a7e7164574a3e3124170b00000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a00000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000006121f2c3945525f6c7885929493939496999a99938e867e716b6053493f33271b0f03000000000000000000000713202d3a4653606d7986939facaa9d908477665c50505050505050505050505050505050505050505050505050505050504846423b332a1f1409000013202c3946535f6c7986929faca79a8d8074675a4d4134271a121d273039424a515a62686e757d848e939fa3aba8a0958f81756c61544b4034281c0b0100000815222f3b4855626e7b8895a9b3ab9f948f8686868686868686868686868686868686868686868686868f949eaaac9f928579675d5145392c20130600000000000000000b14212d3a4754606d7a8797a1ada7978b7e7164584b3e3125180b00000000101c28333e485055575c5b5958565553514b433a2f24180d01000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a000000000000000b1824313e4a56626d72787a7c7e8082847d7063574a3d3024160c0b17222d404c5966737f8c99a6b2a6998d8073665a4d4033271a0d000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000005111e2a36414c56626d75828f959fa7a8a097928a837f7c7a79797a7c7f848a9297a0a8a59e938d80736a60544a3f33281c0f030000000000000000000e1a27333f4a555f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a665f554a3e32261a0d000000000000000000000000000000000000000000000001080d13202d394653606c777979797a7b7e838e939e989083786c605346392d20130600000000000000000000000000000000000013202c3946535f6c7986929facb3a79a8d80808080808080808080808080808080808080808080808080808080808080808080808080807c6f6255483c2f2215090013202c3946535f6c7986929facb3a79a8d80808080808080808080808080808080808080808080808080808080808080808080808080807c6f6255483c2f22150900000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f2316090000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000006121f2c3945525f6c78858887868787898d92979f9892887d70655b5044372b1f1205000000000000000000000815212e3b4854616e7b879aa4afa99c90837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d55534d453b31261a0e020013202c3946535f6c7986929faca79a8d8074675a4d4134271a18232e39434b545c606c717b818a91969ea5afa69f959083796d605a5042392e23180c0000000714212d3a4754606d7a8797a2ada99c8f82797979797979797979797979797979797979797979797979828f9ca9ab9e9184786b554b4135291d110400000000000000030613202c3945515d677885919eaba6998d8073665a4d4033271a0d0c0c0c0c0b17222c363e44494a4f4e4d4b4a484745403a31281d1307000006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a000000000000000916222e3a46515b6265676d6f71737578706b6155483c2f231604061925323f4c5865727f8b98a5b2a79a8d8074675a4d4134271a0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000000714202d3946525e68727f8b949ea7a9a09591857e77726f6d686c6d6f72787e859196a0a9a59f93877c6f665b5044382b1f13080000000000000000000a16222e39434d555b5d606060606060606060606060606060606060606060606060606060606060606060606060606060605d5b554d43382d22160a00000000000000000000000000000000000000000003090e13191d202d394653606c7984868687888b90959a9590867c6f665b5044382b1f120802000000000000000000000000000000000013202c3946535f6c7986929facada0938679737373737373737373737373737373737373737373737373737373737373737373737373736f6a5f53473a2e2115080013202c3946535f6c7986929facada0938679737373737373737373737373737373737373737373737373737373737373737373737373736f6a5f53473a2e21150800000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c201407000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000916232f3c4956626f7c7b7a7a7a7b7d808590959f9a9184786c605346392d201306000000000000000000000916232f3c4956626f7c8995acb6a89c8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615f574d42362a1e12050013202c3946535f6c7986929faca79a8d8074675a4d41342716202834404b555c666d747e858e939ea1a8aca49f9490837b6e675d51483e30271d12070000000613202c3945515d677885929eabaa9d9184776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c667784919eaaa99c8f8376695c50432f24180d010000000000040a0f13151d2935414b556a7783909daaa89b8f8275685c4f4235291c191919191919191a242c33393c3e4341403e3d3c3a39352f281f160c01000004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a0000000000000006121e29343f495156555d60626467696b6361594f44382c2014070b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000005111d2935414c56616e7a85929fa6ada19791837b716c6662605d606163656c717b849197a1ada4999184786c6053463a3025190d01000000000000000006111c27313b434a4f5153535353535353535353535353535353535353535353535353535353535353535353535353535353504e4a433a31271c110500000000000000000000000000000000000000030a0f151a1e24292c2e3844505b6673808c9993999292908d89837c6f6a5f544a3f33281c19130d080100000000000000000000000000000013202c3946535f6c7986929facada093867a6d676767676767676767676767676767676767676767676767676767676767676767676767625f584e43372b1f12060013202c3946535f6c7986929facada093867a6d676767676767676767676767676767676767676767676767676767676767676767676767625f584e43372b1f120600000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c1004000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000815222e3b4754606a6f6e6d6d6d6e70737a83909da096897c6f6356493c30231609000000000000000000000a1623303d495663707c8996a3afa89b8e8177777777777777777777777777777777777777777777777777777777777777776e695f53463a2d2114070013202c3946535f6c7986929faca79a8d8074675a4d4134271e28323a45515c676d78818b92979ea5ada8a19a938d827a6e695e554c41362d1e150b0000000004111d2935414c55697683909ca9ab9f928578695f606060606060606060606060606060606060606d7986929faca79a8d8174675a4e4134271b070000000000070f161b1f2223242f43505d697683909ca9a99c908376695d5043362a2525252525252525252520282d303136343332302f2d2c29241d160d04000000000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a00000000000000010d18232d373f464a4b515356585a5c5e57554f473e33281c10040b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000713202d3946525e6874808d98a2aea69e92857b6e69615a5654525354535b60696e7b85929ea8aba0958a7d7063564c41362a1d11050000000000000000000b151f2931393f42444646464646464646464646464646464646464646464646464646464646464646464646464646464643423e3831281f150a00000000000000000000000000000000000000060b151a1f262b2f35393a40444a54616e7b87939f92878583817d786f6a5f584e4238342e29241e19130c04000000000000000000000000000013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c31261b0f030013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a55534e463c31261b0f0300000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b0000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f231609000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000006131f2b38434e586062616160606163686f7c8899a4988b7e7265584b3f3225180c000000000000000000000a1724303d4a5763707d8a96a3b0ab9e928583838383838383838383838383838383838383838383838383838383838383837b6e6155483b2e2215080013202c3946535f6c7986929faca79a8d8074675a4d41342724303a44515b606d79828e939fa2a9ada59d96918880786d685e564d433a2f241b0c0300000000010d19242f414d5a6774808d9aabaea298887b6e61555353535353535353535353535353535355626f7c8899a3afa9988b7e7265584b3f3225180c0000000007101921272c2f303236434f5c6976828f9ca9aa9d9083776a5d50443732323232323232323232322d2c28232429282625232220201d18130c0400000000000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a000000000000000006111b252d343a3a404547494b4d4f514a48443e352c21170b000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000714212e3a4754616d7a86929faaab9f948a7d70695e575049474546474950565e69717e8b96a0aca79c8f8275685e5246392d201307000000000000000000040d171f272e333637393939393939393939393939393939393939393939393939393939393939393939393939393939393736322d271f160d030000000000000000000000000000000000020a111720262b31373a4145474a5153555e6976828f9b8f82787774706c655f58504a46443f38353029241e160d070000000000000000000000000013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847433c342a20150a000013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4847433c342a20150a0000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a10050000000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c201407000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000030f1b27323d464e5456555453545456606c7986939f998c807366594d4033261a0d000000000000000000000a1724313d4a5764707d8a97a3b0ada1979290909090909090909090909090909090909090909090909090909090909090887b6e6255483b2f2215080013202c3946535f6c7986929faca79a8d8074675a4d4134272935414c56626d75818e949da5ada9a19e938e847d736d665d564d443b31281e1209000000000000081724313e4a5764717d8a99a3afaa988b7e7165574d42464646464646464646464646424d5765727f8c98abada297887b6f6255483c2f221509000000040f19222b32383b3c3f3f434f5c6976828f9ca9aa9d9184776a5e51443f3f3f3f3f3f3f3f3f3f3f3f3a38342e271e151a1817151413110d070100000000000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a00000000000000000009131b23292e2f35393a3c3e4042453d3c38332c231a1005000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000005121e2a36424d5765727f8c98a2aea99c8f82766c61574d453e3a39393a3f444d57616c7784919eaaa99f93867a6d6154473a2e21140700000000000000000000050d151c2227292a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d040000000000000000000000000000000000060c141c232831373c42474c5154545c60626466717e8a9792877b6e6a69676462605b5453504a45413a352f281f18120b03000000000000000000000013202c3946535f6c7986929facada093867a6d6053474040404040404040404040404040404040404040404040404040404040404040403c3a37312a22180e04000013202c3946535f6c7986929facada093867a6d6053474040404040404040404040404040404040404040404040404040404040404040403c3a37312a22180e040000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a110800000005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c1004000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000a162027333f49535b606060606062666e7b8799a4988c7f7265594c3f3226190c000000000000000000000a1724313d4a5764707d8a97a3b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94887b6e6155483b2e2215080013202c3946535f6c7986929faca79a8d8074675a4d4134272d3946525d68727e8b939ea6afa69f979189817a706b605c544c443b32291f160c000000000000000714212e3a4754616d7a86929faca89b8e8275695e53463d313939393939393939303946525e6976828f9ca9ab9e9285786c605346392d2013060000000a16212b343d4348494c4c4c4f5c6976828f9ca9aa9d9184776a5e514c4c4c4c4c4c4c4c4c4c4c4c4c4645403930271d12070a09070604010000000000000000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a000000000000000000010911181e1d24292c2d2f31343638302f2c28211a110800000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000714202d3a46525e697783909daaada197897d7063594f453b332d2c2d2d333b45505a66737f8c999d9c9c998a7d7063574a3d3024170a0000000000000000000000040b11161a1d1e202020202020202020202020202020202020202020202020202020202020202020202020202020201d1c1a16110a030000000000000000000000000000000000070f181e262e343c43474d53555d6064666d6f717375798592998c8078777673716e6c6663605c54524c45413a3128231d150c040000000000000000000013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343434342f2e2b262018100600000013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343434342f2e2b2620181006000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c161008000000000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b00000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000005121f2b3744505b656c6d6c6c6d6f7278818e9ba095897c6f6356493c30231609000000000000000000000a1723303d4a5663707d8996a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa9aaaaaaaaaa94877a6e6154473b2e2114080013202c3946535f6c7986929faca79a8d8074675a4d4134272e3a4754616d7a85929fa5afa59e948f857d746d676059514a423a322920170d04000000000000000713202d3946525d6876828f9ca9ac9f92867b6e61584e433b322c292424292c3139424d57616e7b86929faca89b8e8174655b5044372b1f12050000030f1b27323d474f5456585858585c6976828f9ca9aa9d9184776a5e585858585858585858585858585853514b42392e23180c00000000000000000000000000000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a0000000000000000000000060d1213181d2020232527292b2423201c1710080000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000815212e3b4854616e7b87959fabab9e9184786c6053463e33292120202227333e4956626f7c899191908f8e8d8073665a4d4033271a0d00000000000000000000000000060a0e10111313131313131313131313131313131313131313131313131313131313131313131313131313131310100d0a05000000000000000000000000000000000000081019212a30383f444e53575f62676d7175797c7e80828390979c928c848382807e7b7974706d66605d56524c433d342e271e160e0500000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2727272727272727272727272727272727272727272727272727272727272722211f1b150e060000000013202c3946535f6c7986929facada093867a6d6053473a2d2727272727272727272727272727272727272727272727272727272727272722211f1b150e0600000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b0500000000000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a100500000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000613202d394653606c777979797a7b7e838e939e989083786c605346392d20130600000000000000000000091623303c4956636f7c8996a2afb0a69f9c9393939393939393939393939393939393939393939393939c9ea6b0aea398877a6d6054473a2d2114070013202c3946535f6c7986929faca79a8d8074675a4d41342935404b5565727f8c97a2ada59e938e827a706b605d554f444039302820170e05000000000000000005111d2935414c5664717e8b96a1ada3998d80746a60564d443e39352f2f35383c434b545e6973808d99a3aca096897d706353493f33271b0f03000007131f2c38434f59606365656565656976828f9ca9aa9d9184776a656565656565656565656565656565605c544b4034281c10040000000000000000000000000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a0000000000000000000000000101070d11131416181a1c1e171614100b05000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000b1824313e4b5764717e8a97a7b1a79a8d8174665b5044382c2017131317202d3a4753606d79868584838281807e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a222b333c424a50585f62696e747a7e8185888b8d8f9095a0a49c9691908f8d8a8885817d79736d68605d564f454039302820160e05000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1515120f0a04000000000013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1515120f0a040000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a000000000000000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a11080000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000020a13202d394653606c7984868687888b90959a9590867c6f665b5044382b1f1206000000000000000000000815222f3b4855626e7b8895a9b3ab9f948f8686868686868686868686868686868686868686868686868f949eaaac9f928579675d5145392c2013060013202c3946535f6c7986929faca79a8d8074675a4d41342c3945515d677783909da9ac9e938e81786d686159514c433d342e271e160e05000000000000000000010d1924303a4653606d7984919ea7ab9f92877c6f685e564f47454141414045474e555c666e7b86929faba89e9184786c605346392d22170b0000000915222f3b4854606b6f72727272727276828f9ca9aa9d918477727272727272727272727272727272726d665c5145382c1f130600000000000000000000000000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a00000000000000000000000000000001040607090b0d0f120a0a07040000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00010e1b2734414e5a6774818d9aa7b4aa978a7e7164544a3f33281a0e0606131f2c3845515c676d79787776757474716c6155493d3023170a0000000000000000000000000000000000000000000000000002050708080808080808060503000000000000000000000000000000000000000000000000000000000000000000000000000000000007111a232b343d454d545c606a6e757b81868a8e929897999c9da0a7aea8a19e9d9c9a9797928e8985807a736d686059514b423a322820170e050000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d090806030000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0908060300000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a000000000000000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c161008000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000001070c141c232b3844505b6673808c9993999292908d89837c6f6a5f544a3f33281c0f03000000000000000000000714212d3a4754606d7a8797a2ada99c8f82797979797979797979797979797979797979797979797979828f9ca9ab9e9184786b554b4135291d11040013202c3946535f6c7986929faca79a8d8074675a4d41342d3a4753606d7a86929faca49a8f81776d665e564f45413a3128231c150c04000000000000000000000008131f2c3845515c67727f8b95a0aba39991847a6e68615954514c4e4e4b5153575f676d78839098a2aca0968b7f72665b5044382b1b1106000000091623303c4956636f7d7f7f7f7f7f7f7f83919daaab9e91857f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6053463a2d201307000000000000000000000000000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a000000000000000000000000000000000000000000010305000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0004111d2935414c566a7683909da9aea298887b6e6155483b2d2217080004101c2934404b555c606c6b6a6969686764615a5045392d211408000000000000000000000000000000000000000000000003090e12141515151515151513120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000050f19232b353d464e575f666d727c81878e92999b9fa2aaa6a8aaa9a8a7a7a8a9aaa9a6a9a29e9a97928d85807a706b605c544c443a322920170c0300000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140701010101010101010101010101010101010101010101010101010101000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407010101010101010101010101010101010101010101010101010101010000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b0500000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000030b12181e262e34383f4a54616e7b87939f92878583817d786f6a5f584e42382d2218120b030000000000000000000613202c3945515d677885929eabaa9d9184776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c667784919eaaa99c8f8376695c50432f24180d010013202c3946535f6c7986929faca79a8d8074675a4d41342f3c4855626f7b8899a3ac9f93877b6e655c544c443d352f281f18120b0300000000000000000000000004101c2834404b55606d78839099a3aba09690837a706b64605d555b5b555d60636a6e79818e959faaa49a9184796d60544a3f33281c0a000000000d1a2734404d5a6773808b8b8b8b8b8b8b9195a0acada197918b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b877a6d6054473a2d21140700000000000000000000000000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000713202c3945525d687885929fabac9f9285796c605346392d20130600000c18232f39434b51535f5e5e5d5c5b5a575550483e33281d110500000000000000000000000000000000000000000000050d141a1e2121212121212121201f1b17110a020000000000000000000000000000000000000000000000000000000000000000000000030d17212b353d474f5860696e787f868e93999fa3ababaca8a9a29e9d9b9b9a9b9c9d9fa3aaa9aba9a19e98928c857d736d665d564c443a32291e150a00000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a000000000000000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000050d151d242930383f44464c535e6976828f9b8f82787774706c655f584e443f382f28231c150c03000000000000000004111d2935414c55697683909ca9ab9f928578695f606060606060606060606060606060606060606d7986929faca79a8d8174675a4e4134271b07000013202c3946535f6c7986929faca79a8d8074675a4d4134303c4956636f7c8996abaa9e918477695e534a423a3229241e160d070000000000000000000000000000000c18232e3944515c666f7c87929fa4a8a09590847d76716d6769676869676d70757b838e939ea7a59f93887d70665c5142382d22170b000000000d1a2734404d5a6773808d9898989898989da0a7b1b3a9a19e98989898989898989898989898989893877a6d6054473a2d21140700000000000000000000000000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000714212d3a4754606d7a8797a2adaa9d918477655b5044372b1f1205000007121d273139404547525251504f4e4d4b49453e362c22170c00000000000000000000000000000000000000000000050f171f252a2d2e2e2e2e2e2e2e2d2b27221b140b02000000000000000000000000000000000000000000000000000000000000000000010b151f29333d474f59606a6f7b838c92999fa4abadaaa29f9b979792908f8e8e8e8f909298989d9fa7acaaa29f97918880786d685e564c443a30261c1106000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c07060401000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c070604010000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a000000000000000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000050e161f272f353e424a5053565e6164717e8a9792877b6e696764615e56535049413d342e271e150c0300000000000000010d19242f414d5a6774808d9aabaea298887b6e61555353535353535353535353535353535355626f7c8899a3afa9988b7e7265584b3f3225180c000013202c3946535f6c7986929faca79a8d8074675a4d41342f3c4955626f7c8895a7ab9e9184786a5f544a423930281f160d040000000000000000000000000000000007121d2834404a54606a727f8c929ca4a7a096918a827d7a7775747475767a7d818790959ea5a59e938d80736b60544b402f261c1106000000000d1a2734404d5a6773808d9a9f9f9f9f9fa9aab0b8bab2acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93877a6d6054473a2d211407000000000000000000000000000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000815222f3b4855626e7b8895a9b3a99c8f82766953493f33271b0f030000010b151f272f34383a464544434241413e3d39332c241a1006000000000000000000000000000000000000000000030c17212931363a3b3b3b3b3b3b3b3937332d261d140a00000000000000000000000000000000000000000000000000000000000000000007121d27313b454f59606b707c8590959fa3abaea9a19e98928e8a87858382818181828386888b90959b9fa4aca9a19a938d837a6d685e564c42382e23170d040000000013202c3946535f6c7986929facada093867a6d6053473a2d2019191919191919191919191919191919191919191919191919191413110d070100000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2019191919191919191919191919191919191919191919191919191413110d0701000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a000000000000000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000040d162028313940454f545c6064686e7174798592998c80777674716e6863605b534e44403930271e150c0300000000000000081724313e4a5764717d8a99a3afaa988b7e7165574d42464646464646464646464646424d5765727f8c98abada297887b6f6255483c2f221509000013202c3946535f6c7986929faca79a8d8074675a4d41342e3a4754616d7a8795a0aca196887c6f665c544b423a31281f160d03000000000000000000000000000000000c18232e39424e58626d73808c929ea1a8a19e948f8a8683828181828386898e93999fa7a39f938f81786d60594f42392e1d140a00000000000d1a2734404d5a6773808d9393939393939c9fa6b0b2a8a09393939393939393939393939393939393877a6d6054473a2d21140700000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00091623303c4956636f7c8996a2afa89b8e8175685b4e422d22170b00000000030d151d23292c2d3938373636353431302d28221a1208000000000000000000000000000000000000000000000a151e29333b42464848484848484846443f382f261b110600000000000000000000000000000000000000000000000000000000000000000c18242f39434d57606b707d8692979fa7aeaba39f96918b86817e7b7876757474757677797c7f83888e939a9fa7aca49f9590837a6d685e544a3f34281f160c0100000013202c3946535f6c7986929facada093867a6d6053473a2d26262626262626262626262626262626262626262626262626262621201d18130c04000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d26262626262626262626262626262626262626262626262626262621201d18130c040000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a0000000000000006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000010c161f28323a434b515961666d71767a7e80828f979c928c8483807d7a76706c656058514a423930271e150a000000000000000714212e3a4754616d7a86929faca89b8e8275695e53463d313939393939393939303946525e6976828f9ca9ab9e9285786c605346392d201306000013202c3946535f6c7986929faca79a8d8074675a4d41342d3946525e687784919da8a89c9082786d665c544b433a31281f150b0100000000000000000000000000000007121c27303d46515b646e73808a92979fa3a69f9c9992908f8e8e8f9092989b9fa4a69f99928c81786d665c50473d30271d0b0200000000000d1a2734404d5a677380868686868686868f949faaaca0968986868686868686868686868686868686867a6d6054473a2d2114070000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000a1724303d4a5763707d8a96a3b0a79a8d8174675a4e4134271b060000000000030b12181c1f202c2b2b2a2928272423211d1710080000000000000000000000000000000000000000000006111c26303b454d535454545454545453504941382d22170b0000000000000000000000000000000000000000000000000000000000000004101d2935404b555e69707d879298a2a9b1a8a099928c847f7a75716e696a6868676869666d6f72767b818790959da4afa79f9590837a6d665c50443e31281d130700000013202c3946535f6c7986929facada093867a6d6053473a333333333333333333333333333333333333333333333333333333332d2c29241d160d040000000000000013202c3946535f6c7986929facada093867a6d6053473a333333333333333333333333333333333333333333333333333333332d2c29241d160d0400000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a0000000000000004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000008131e28313a444c555d606b70787e82868a8d8f949fa49c9691908d8a87827d786f6a605c544a423930261c11060000000000000713202d3946525d6876828f9ca9ac9f92867b6e61584e433b322c292424292c3139424d57616e7b86929faca89b8e8174655b5044372b1f1205000013202c3946535f6c7986929faca79a8d8074675a4d41342935414c5666727f8c96a1ab9f948e81786d665d554c433a31271d1207000000000000000000000000000000000b151e2b343f49525c646e737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a29f9b948f877f776d665c544a3f352c1e150b0000000000000d1926333f4c58646e7379797979797979828f9ca9aa9d9184797979797979797979797979797979797976685d5245392c201307000000000000000000000000000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f231609000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000a1724313d4a5764707d8a97a3b0a79a8d8074675a4d4134271a0e01000000000001070c1013141f1f1e1d1c1b1a181714110c0600000000000000000000000000000000000000000000000c17232e38424d575e61616161616161605b53493f33271b0f03000000000000000000000000000000000000000000000000000000000005101a232c3945515d676e7b859299a2aab1a79f9691878079726d6764615e575c5b5b5b545c6062656a6e747c838d929fa3aba7a0959082786d60594f433a2f24180d02000013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c0100000000000013202c3946535f6c7986929facada093867a6d6053473f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160c01000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a00000000000000000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000050e19242f3a434c565e676d747d848a8f93999a9c9fa6aca8a09e9c9a9a938f8a837c736d665c544a42382e23170b02000000000005111d2935414c5664717e8b96a1ada3998d80746a60564d443e39352f2f35383c434b545e6973808d99a3aca096897d706353493f33271b0f03000013202c3946535f6c7986929faca79a8d8074675a4d413425303a4754606d79849199a4a69e938e81786d675d564c43392f24180d03000000000000000000000000000000030c19222d37404a525c636c717a81868d9196989b9c9e9f9f9f9f9e9d9b9997928e89827c736c655c544b42382e231a0c030000000000000b17232f3b47525c64676c6c6c6c6c6c76828f9ca9aa9d9184776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5d564c4135291d110400000000000000000000000000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000b1724313e4a5764717d8a97a4b0a69a8d8073675a4d4034271a0d010000000000000000040607131211100f0e0e0b0a080500000000000000000000000000000000000000000000000003101c28343f4a545e696e6e6e6e6e6e6e6c655b5044372b1f120500000000000000000000000000000000000000000000000000000000000b16212b37434e58606d79839097a1abb1a79f9590847c736d67605d5554524d4f4e4e4e4a505355585f626a6f78808a9299a3aba79f948d80736b61554b4035291f1409000013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281d130700000000000013202c3946535f6c7986929facada093867a6d60534c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281d1307000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a00000000000000000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000020d17202935414c555e686d79818a91969c9fa4aba5aba49f9fa4aca5aca49f9c95908780786d665c544a3f34281d140a0000000000010d1924303a4653606d7984919ea7ab9f92877c6f685e564f47454141414045474e555c666e7b86929faba89e9184786c605346392d22170b00000013202c3946535f6c7986929faca79a8d8074675a4d4134272c3945515d67707d87939fa3a59e938f82796d685d554b4035291f150b0100000000000000000000000000000007101b252e38404a525a61686d747b8084888b8e90919292929291908e8c8985817c766f6a605b534b423930261c11080000000000000007131f2b36404a52585a60606060606976828f9ca9aa9d9184776a6060606060606060606060606060605f524c443a2f24190d0100000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d211407000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000a1724313d4a5764707d8a97a3b0a79a8d8074675a4d4134271a0e010000000000000105090b0b121111100f0e0d0908060300000000000000000000000000000000000000000000000006121f2c3844505c66767b7b7b7b7b7b7b776c605346392d2013060000000000000000000000000000000000000000000000000000000004101c27333a47535f6a74808d95a0a9b2a89f9590837a6f6a605c55514b484642424141423f4446494e53585f666d737e879299a4afa69f93887d70675d51453b30251a0e020013202c3946535f6c7986929facada093867a6d605959595959595959595959595959595959595959595959595959595959595954514b433a2f24180d01000000000013202c3946535f6c7986929facada093867a6d605959595959595959595959595959595959595959595959595959595959595954514b433a2f24180d010000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a000000000000000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000008141e29323b45515d676d7a838e939ea0a8a7a09d99959993939a96999ea0a8a7a099928c81786d665c50443d2f261c1106000000000008131f2c3845515c67727f8b95a0aba39991847a6e68615954514c4e4e4b5153575f676d78839098a2aca0968b7f72665b5044382b1b110600000013202c3946535f6c7986929faca79a8d8074675a4d4134272935414b55606b727f8c919fa3a59e948f837a6d675d51453e31271d12070000000000000000000000000000000009131c262e38404850565e61696e73787c7e818384858686858583817f7c79746f6a625f585049413930271e150a0000000000000000020e19242e3840474c4d535353535c6976828f9ca9aa9d9184776a5e53535353535353535353535353535345413a32281e13080000000000000000000000000000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000a1724303d4a5763707d8a96a3b0a79a8d8074675a4d4134271a0e010000000000060c111517181f1e1d1c1b1a191615130f0a04000000000000000000000000000000000000000000000713202d3a4653606d7986878787878786796d6053473a2d201407000000000000000000000000000000000000000000000000000000000714202c38444f59626e7c87929fa7b1aaa1969083796d685f58514b45413b3a363035342e34383a3c43474e545c606c717e87939fa5afa49a9185796d60574d42362a1e11050013202c3946535f6c7986929facada093867a6d6666666666666666666666666666666666666666666666666666666666666666605d554b4135291d1104000000000013202c3946535f6c7986929facada093867a6d6666666666666666666666666666666666666666666666666666666666666666605d554b4135291d11040000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a0000000000000000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000010d1925303b44515b606d798390959ea5a9a19e95908c8987868687898c91969ea1a9a39f938f81786d60584e42382d22170b000000000004101c2834404b55606d78839099a3aba09690837a706b64605d555b5b555d60636a6e79818e959faaa49a9184796d60544a3f33281c0a0000000013202c3946535f6c7986929faca79a8d8074675a4d413427242f3a434f59626d727f8b9299a2a69f959083796d605a5043392f24180c000000000000000000000000000000000915202b353f474e524c52575e61666a6f7274767878797978787675726f6d66626058534e4846423c332a1f140900000000000000000008121c262e363b3f404646464f5c6976828f9ca9aa9d9184776a5e51464646464646464646464646464639352f2820160c010000000000000000000000000000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d1104000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000a1623303d495663707c8996a3afa79a8e8174675b4e4134281b0700000000000911181d2124252c2b2a2928272622211f1b150e060000000000000000000000000000000000000000000713202d3a4653606d79869394949493867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000916232f3c4855616b76828f99a3afaea39891847a6d675e564e454039352f2d2a25282823282c2d31373c424a505a616c727f8b939ea8aca1978c8073695e52463a2d2014070013202c3946535f6c7986929facada09386797272727272727272727272727272727272727272727272727272727272727272726d675d5145392c201306000000000013202c3946535f6c7986929facada09386797272727272727272727272727272727272727272727272727272727272727272726d675d5145392c2013060000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a00000000000000000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000005111e2a36414c56626d75828f959fa7a8a097928a837f7c7a79797a7c7f848a9297a0a8a59e938d80736a60544a3f33281c0f0300000000000c18232e3944515c666f7c87929fa4a8a09590847d76716d6769676869676d70757b838e939ea7a59f93887d70665c5142382d22170b0000000013202c3946535f6c7986929faca79a8d8074675a4d4134271d28313d47515b636d727e879298a2a79f958e81756c61554b4035291d10040000000000000000000000000000010e1a26313d4751595e5f6060605e585f626568696b6c6c6c6c6b6a686663605c546060606055534d453c31261a0e020000000000000000010a141c242b2f33343939434f5c6976828f9ca9aa9d9184776a5e5144393939393939393939393939392c29241e160d040000000000000000000000000000000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d01000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000815222f3b4855626e7b8895a9b3a89b8f8275685c4f422e23180c0000000009121b22292e3132393837363534332f2e2b262018100600000000000000000000000000000000000000000713202d3a4653606d798693a0a1a093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000005121e2a36424d5763707d89949fabb2a89f92867c6f685e554c443c342e2924201e1a1b1b171c1f20262b30383f44505a626d75818e96a0aca79f92867b6e6154473b2e2114080013202c3946535f6c7986929facb2a6998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6054473a2d211407000000000013202c3946535f6c7986929facb2a6998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f796d6054473a2d2114070000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a000000000000000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000714202d3946525e68727f8b949ea7a9a09591857e77726f6d686c6d6f72787e859196a0a9a59f93877c6f665b5044382b1f1308000000000007121d2834404a54606a727f8c929ca4a7a096918a827d7a7775747475767a7d818790959ea5a59e938d80736b60544b402f261c11060000000013202c3946535f6c7986929faca79a8d8074675a4d413427161f2c353f49515b636c717d869299a3a79e938a7e71675d5145382c1f1307000000000000000000000000000004111d2a36424e59636a6c6c6c6c6b636059585b5d5e5f5f5f5f5e5d5b59575f626a6c6c6c6c6c5f574d42372b1e1205000000000000000000020a12191f2326272d36434f5c6976828f9ca9aa9d9184776a5e5144372d2d2d2d2d2d2d2d2d2d2d2d201d19130c040000000000000000000000000000000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3b0a396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000714212e3a4754616d7a8797a2ada99c90837669544a4034281c1004000006111b242d343a3d3e454444434241403c3b37322a22180e04000000000000000000000000000000000000000713202d3a4653606d798693a0aca093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000714212d3a46535e6975828f9ca6b0aca0968c7f736a60564c433a3228231d1814120e09060c1012131a1e262e343e48515b606d7984919ea09d95908a807366594d4033261a0d0013202c3946535f6c7986929facb9a89c918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e211508000000000013202c3946535f6c7986929facb9a89c918c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e2115080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a0000000000000000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000005111d2935414c56616e7a85929fa6ada19791837b716c6662605d606163656c717b849197a1ada4999184786c6053463a3025190d0100000000000c18232e39424e58626d73808c929ea1a8a19e948f8a8683828181828386898e93999fa7a39f938f81786d60594f42392e1d140a0000000000131f2c3946525f6c7985929faca79a8e8174675b4e4134281b1a232d373f49515a626b707d87929fa6a59e9184796d6053473a2f24180d010000000000000000000000000006121f2c3845525e6a757979797978706b605c544d5152535352524b515a61696e777979797976695f53463a2d2114070000000000000000000001080e1317191c2936434f5c6976828f9ca9aa9d9184776a5e5144372b202020202020202020201413110d0805030000000000000000000000000000000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3aca396897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000713202d3946525d687885929fabaa9e918477665c5144382c1f120600010c18222d363f454a4b5251504f4e4d4c4947433c342a20150a000000000000000000000000000000000000000713202d3a4653606d798693a0a7a093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87939facb2a89d9184796d60584e443a31292018120d0705020000000306090c151c2328363f45515d676f7d899395908a837e776c605346392d2013060013202c3946535f6c7986929facb9ada39c999999999999999999999999999999999999999999999999999999999999999994877b6e6154483b2e211508000000000013202c3946535f6c7986929facb9ada39c999999999999999999999999999999999999999999999999999999999999999994877b6e6154483b2e2115080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a00000000000000000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000713202d3946525e6874808d98a2aea69e92857b6e69615a5654525354535b60696e7b85929ea8aba0958a7d7063564c41362a1d1105000000000007121c27303d46515b646e73808a92979fa3a69f9c9992908f8e8e8f9092989b9fa4a69f99928c81786d665c50473d30271d0b020000000000121f2c3945525f6c7885929faba89b8e8275685b4f42302519111b252e373f485059606b717e8b949faba1968b7e7165554b4135291d1104000000000000000000000000000613202c3946535f6c7987868686847d736d665f5751464146454d555c606c717b83868686867b6e6155483b2e22150800000000000000000000000002070b101c2936434f5c6976828f9ca9aa9d9184776a5e5144372b1e13131313130b101316171e1a1613120f0b060300000000000000000000000000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d110500000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d89969f9f9f96897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0005111d2935414c566a7683909da9ac9f9286796d6053463a2d2013070005111d29343f485056585f5e5d5c5b5a5955534e463c32261b0f030000000000000000000000000000000000000713202d3a4653606d7986939a9a9a93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000005121e2a36424d576673808d99a4afaca0968a7e71665c51463c32281f170e0700000000000000000000030a1117242935414b55606b75818e8a837d78706c655b5044372b1f12050013202c3946535f6c7986929facb9b5ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e211508000000000013202c3946535f6c7986929facb9b5ada8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e2115080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a0000000000000000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000714212e3a4754616d7a86929faaab9f948a7d70695e575049474546474950565e69717e8b96a0aca79c8f8275685e5246392d2013070000000000000b151e2b343f49525c646e737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a29f9b948f877f776d665c544a3f352c1e150b000000000000121e2b3845515e6b7884919eaba99c8f827669564c41362a1e11131c252e363e474f59626d76828f9caaa99c908376675d5145392c20130600000000000000000000000000000b1825323e4b5865717e8b9296918780786e69625b524c4550575f676d747e869095948d8074695f53463a2d211407000000000000000000000000000003101c2936434f5c6976828f9ca9aa9d9184776a5e5144372b1e110600080f161c2022232b2723201f1b17120f0b0600000000000000000000000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d0100000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d899393939393897d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00010d192430414e5b6774818e9aa7afa399887b6f6255483c2e23180c060615212e3a45505a62656c6b6a69686766625f584e43372b1f13060000000000000000040607080808080808080813202d3a4653606d79868d8d8d8d8d86796d6053473a2d20140808080808080808070604000000000000000000000000000000000714212d3a46535f697784919eabb5ab9d9184786c60544b40342b20160d0500000000000000000000000000061218242f3a434f59616e7b837e78716c65605b53493f33271b0f030013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e211508000000000013202c3946535f6c7986929facb9afa7a2a09f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e2115080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a0000000000000000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000005121e2a36424d5765727f8c98a2aea99c8f82766c61574d453e3a39393a3f444d57616c7784919eaaa99f93867a6d6154473a2e211407000000000000030c19222d37404a525c636c717a81868d9196989b9c9e9f9f9f9f9e9d9b9997928e89827c736c655c544b42382e231a0c03000000000000101d2a3643505d697683909ca9ab9e918478685e5246392d20140a131c242d353d47505a63707d8998a3ac9f92867a6d6054473a2d21140700000000000000000000000000000b1724313d4a56626d73808c9399938d837b726d615e56515a61696e79818a9298958f82786d60574d42372b1e1205000000000000000000000000000003101c2936434f5c6976828f9ca9aa9d9184776a5e5144372b1e070008111921272c2f3038342f2d2b27221f1c17110a020000000000000000000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e13080000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000a1723303d4a5663707d868686868686867d7063564a3d3023170a00091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000081825313e4b5864717e8b97a7b1ab988b7e7165554b4034281d1413131624313d4a56626c71787777767574736f6a5f53473b2e211508000000000001070c101314151515151515151515202d394653606c7880808080808080786d6053463a2d201515151515151515151413100c0701000000000000000000000000000815222e3b4855616e7b8896a0acafa3998c7f72665b5042392e22190e0500000000000000000000000000000007131d28313d46535f696e77716c65605b53504941382d22170b000013202c3946535f6c7986929facb9a79d95939393939393939393939393939393939393939393939393939393939393939393877b6e6154483b2e211508000000000013202c3946535f6c7986929facb9a79d95939393939393939393939393939393939393939393939393939393939393939393877b6e6154483b2e2115080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f23160900000000000000000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000714202d3a46525e697783909daaada197897d7063594f453b332d2c2d2d333b45505a66737f8c999d9c9c998a7d7063574a3d3024170a0000000000000007101b252e38404a525a61686d747b8084888b8e90919292929291908e8c8985817c766f6a605b534b423930261c1108000000000000000f1b2835424e5b6875818e9ba8ada196877a6e6154473b30251b1413121b232b353f4653606d7986929faca399897c6f6256493c2f23160900000000000000000000000000000915212e3a45505a636e74818e939f9590867e756d68605c606c717b838e939f969083796d665c50453c31261a0e02000000000000000000000000000003101c2936434f5c6976828f9ca9aa9d9184776a5e51442f24180d050f19232b33383c3d45403c3937332d2b28221c140b050000000000000000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c020000000000000000000000000000000000000000000000000000000000000000000000010b1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000916232f3c4855616b7079797979797979706b6155483c2f23160900091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000815212e3b4854616e7b87959faba89b8e8175675c5145392e2521201f202935404b5565717e8584838281807f7c6f6255493c2f22160900000000030b12181d1f20212121212121212121212b3844505b666c747474747474746d665c5044382c21212121212121212121201f1d18120b030000000000000000000000000c1825323f4b5865727e8b98a8b2ac9f92867a6e61544a3f30271d100700000000000000000000000000000000010c161f2a36424d575f616a64605b535049443f382f261b1106000013202c3946535f6c7986929facb9a2958b868686868686868686868686868686868686868686868686868686868686868686867b6e6154483b2e211508000000000013202c3946535f6c7986929facb9a2958b868686868686868686868686868686868686868686868686868686868686868686867b6e6154483b2e2115080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f2215080000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000815212e3b4854616e7b87959fabab9e9184786c6053463e33292120202227333e4956626f7c899191908f8e8d8073665a4d4033271a0d000000000000000009131c262e38404850565e61696e73787c7e818384858686858583817f7c79746f6a625f585049413930271e150a00000000000000000c1926323f4c5965727f8c98a9b2a8978a7d7064564d42362b2621201f1f20232c3845515c667784919eaaab978a7d7164574a3e3124170b000000000000000000000000000005111d29343f48525b606d78818f959f98928b827a706b676d747e8690959d9891847b6e675d544a3f332a1f1409000000000000000000000000000000020f1c2935424f5c6875828f9ba8ab9e9184786b554b4035291d110b16212b353d44484a514d4946443f3938332d261d170e0500000000000000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e04000000000000000000000000000000000000000000000000000000000000000105090b0b0d0d1825313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000714202c38444f5961636c6c6c6c6c6c6c6361594f44382c20140700091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000714202d3a46525e697783909daaab9f9285796d60544b4036312d2c2c2d323a45515d6775818e91908f8e8d897c6f6356493c30231609000000030d151d24292c2d2e2e2e2e2e2e2e2e2e2e2e333f4a545b6067676767676767605c544a3f342e2e2e2e2e2e2e2e2e2e2e2d2c29241d150d030000000000000000000004101d2935404b556875828f9ba8b5a99c908376685e5242382d1e150b000000000000000000000000000000000000040d1a26313b454d53555d57535049443f38332d261d140a00000013202c3946535f6c7986929facada093867979797979797979797979797979797979797979797979797979797979797979797976695e52463a2d201407000000000013202c3946535f6c7986929facada093867979797979797979797979797979797979797979797979797979797979797979797976695e52463a2d2014070000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d211407000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1824313e4b5764717e8a97a7b1a79a8d8174665b5044382c2017131317202d3a4753606d79868584838281807e7164574b3e3124180b0000000000000000010a141c262e363e444c52575e61666a6f7274767878797978787675726f6d66626058534e443f382f271e150c030000000000000000091623303c4956636f7c8997a2ada89b8f8275695e52463f37312e2d2c2c2d2e343b45515d677885919eaba4978b7e7164584b3e3125180b0000000000000000000000000000010c18222d364044505c666d79829095a09f938f857d746f79818a9298a09992867c6f695e554b42382e21180e03000000000000000000000000000000020f1b2835424e5b6875818e9ba8ab9f928578675d5145392c2017161c27333d474f54565e5a5653504946443f382f2920170d0200000000000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c00000000000000000000000000000000000000000000000000000000000000060c111517181a1a1a25313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e0004101c27333d474f55566060606060606056554f473d33271c100400091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000005121e2a36424d5765727f8c98a2aea2988b7e71665c5146423b3a39383a3d444d57606d7a85929e9d9c9b9285796d6053463a2d2013070000010b151f272f35383a3b3b3b3b3b3b3b3b3b3b3b3b3b424a50535a5a5a5a5a5a5a53504a423b3b3b3b3b3b3b3b3b3b3b3b3b3a39352f271f150b0100000000000000000006131f2c3845515d677884919eabb6ac998c7f7266564c412f261c0c030000000000000000000000000000000000000009141f29333b424648504a46443f38332d27221b140b0200000013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e1205000000000013202c3946535f6c7986929facada093867a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c20130600000000000000000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f231609000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000010e1b2734414e5a6774818d9aa7b4aa978a7e7164544a3f33281a0e0606131f2c3845515c676d79787776757474716c6155493d3023170a000000000000000000020a131c242c323a41464d5254585f626568696b6c6c6c6c6b6a686663605c54544e47433c332d261d150c030000000000000000000713202d3a4653606d7985929fabac9f92877b6e615a5147433c3b3a38383a3b40444d56606d7a86939facaa978a7d7164574a3e3124170b00000000000000000000000000000006111b2428343f4a545d676d7a839196a19e979188807b838e929fa29f93877d706a5f574d433a30261c0f0600000000000000000000000000000000010d1a2734404d5a6773808d9aa6ac9f93867a6d6053473a2e262323262c38444f5960636b6762605b5353504a423b33291f1409000000000000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e040000000000000000000000000000000000000000000000000000000000000911181d21242527272727313e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e00000b16212c353d44484a535353535353534a48443d352c21160b0000091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000020e1a25303b4754616d7a86929fa9aa9e9184796d605b534d4847454546484f565e69727f8c98a2aaa69b8e8275665c5044382c1f1206000007121d27313940454748484848484848484848484848484848484d4d4d4d4d4d4d48484848484848484848484848484848484745403931271d12070000000000000000000714202d3a4753606d7a86939facafa49a897c6f6356493c3023140a0000000000000000000000000000000000000000030d17212931363a3b443e3937332d27221b17110a020000000013202c3946535f6c7986929facada093867a6d60606060606060606060606060606060606060606060606060606060606060605f524d453b30251a0e02000000000013202c3946535f6c7986929facada093867a6d60606060606060606060606060606060606060606060606060606060606060605f524d453b30251a0e020000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d11040000000000000000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f221508000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000004111d2935414c566a7683909da9aea298887b6e6155483b2d2217080004101c2934404b555c606c6b6a6969686764615a5045392d21140800000000000000000000010a121a202830363b4246484e5361696b6c6c6c68605c545d5b595653514a47433d373127221b140b030000000000000000000006121f2c3844505c6674818e9ba6afa3998e81756c625b534e494746444446484a51575e68727e8b99a4aea398897c6f6256493c2f23160900000000000000000000000000000000091217232e38424b555d686e7b849197a2a19a938d8890959da59d928b7f726b61584e453b31281e140a0000000000000000000000000000000000000c1825323f4b5865727e8b98aaafa49a897c7063544b403631303031363f4854606b7078736f6c6563605b544d453b30251a0e02000000000000000000000009121c252e363e454d52575f62666a6e71737577787879797978777573706d67636059534d453e362d251b110800000000000000000000000000000000000000000000000000000000000009121b22292e313234343434343e4b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000005101a232c33383c3d464646464646463d3c38332c231a10050000091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000914202d3946525d6874808d97a2aca0968d80746d615e575554515153555960686e7b86929faaab9f94897c6f63544a3f34281c100300000c18242f39434b5153545454545454545454545454545454545454545454545454545454545454545454545454545454545453514b43392f24180c0000000000000000000915222f3c4855626f7b889aa4afac9f93867a6d6054473a2d211407000000000000000000000000000000000000000000060f171f262a2d2e37312d2b27221b17110b0600000000000013202c3946535f6c7986929facada093867a6d60535353535353535353535353535353535353535353535353535353535353534846423b33291f140900000000000013202c3946535f6c7986929facada093867a6d60535353535353535353535353535353535353535353535353535353535353534846423b33291f1409000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d010000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d211407000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000713202c3945525d687885929fabac9f9285796c605346392d20130600000c18232f39434b51535f5e5e5d5c5b5a575550483e33281d1105000000000000000000000000080e161e252a30363a3c505d697378797979746d665e564e4c494644403937322b262017110a02000000000000000000000003101c28343f4a54626f7c89949fabab9e938b7e726d625f5856545351505355545c60696e7a85929eabac9f92867a6d6053473a2d201407000000000000000000000000000000000006111c263039434c565e696f7c859299a3a49f9a959da0a79e948d80746d62594f463c33291f160c02000000000000000000000000000000000000091623303c4956636f7c8998a2aeac998c8073665c5146423e3d3c3d4246515b63707d84807c78746f6c665e574d42362a1e11050000000000000000000000000a131c242c333b42464d5355575f626466696a6b6b6c6c6c6b6a686663605d55544f4c4841382f241b130900000000000000000000000000000000000000000000000000000000000006111b242d343a3d3e4040404040404b5864717e8b97a4b1a79a8e8174675b4e4134281b0e000008131e28313a414547494949494949494745413a31281e13080000091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000005111d2935414c56616d7a85929fa5a89d928c7f756e696461605d5c6062656b6f7a839198a2aea3999083766b605442382e23170c000004101d2935404b555d606161616161616161616161616161616161616161616161616161616161616161616161616161616161605d554b4035291d100400000000000000000b1724313e4a5764717d8a97acb6aa9e918477675d5145392c20130600000000000000000000000000000000000000000000060d141a1e21222a24201f1b17110b06000000000000000013202c3946535f6c7986929facada093867a6d60534746464646464646464646464646464646464646464646464646464646463b3a36302921170d0200000000000013202c3946535f6c7986929facada093867a6d60534746464646464646464646464646464646464646464646464646464646463b3a36302921170d02000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e211407000000000000000000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c201306000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000714212d3a4754606d7a8797a2adaa9d918477655b5044372b1f1205000007121d273139404547525251504f4e4d4b49453e362c22170c0000000000000000000000000000050c13191f252a3845525f6b788586868681786d685f584f473f38342e2b27201b150b0600000000000000000000000000000c17232e384754606a76828f99a3aea59f92877f756f6a666261605c5c606164666d727b839097a1ada59c8f8275675d5145392c1f13060000000000000000000000000000000000000a141e27313a444d575f6a707d879299a49f9f9f9fa9a0958f82786d605b51473e342a21170d04000000000000000000000000000000000000000714202d3a4753606d7985929facab9e9185796d605a534d4b4a494a4d535b626d76828f8d8984807c786e695e52463a2d201407000000000000000000000000020e1925303b444c525f6060606060605d5c5d5e5f5f5f5f5e5d5b6060606060605a58534a41362b2014080000000000000000000000000000000000000000000000000000000000010c18222d363f454a4b4d4d4d4d4d4d4d5864717e8b97a4b1a79a8e8174675b4e4134281b0e00010d19242f3a434c52545656565656565654524c433a2f24190d0100091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000010d1924303a46525e68727e8b939ea7a49c918c827b75716e6d67666d6f71767d849195a0aaa69f92877c6f63594f4330261c1106000006131f2c3845515d676d6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6d675d5145392c1f130600000000000000000c1926323f4c5965727f8c98a5b2a99c8f837669554b4135291d1104000000000000000000000000000000000000000000000003090e1214151d1713120f0b060000000000000000000013202c3946535f6c7986929facada093867a6d6053473a393939393939393939393939393939393939393939393939393939392e2d2a251f170f050000000000000013202c3946535f6c7986929facada093867a6d6053473a393939393939393939393939393939393939393939393939393939392e2d2a251f170f0500000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d201307000000000000000000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d1104000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000815222f3b4855626e7b8895a9b3a99c8f82766953493f33271b0f030000010b151f272f34383a464544434241413e3d39332c241a100600000000000000000000000000000002080d141a26323f4c5965727f8c93938e827a6f6a615951444039302820180f0a0300000000000000000000000000000006111c2b38434e58626f7c87929fa5afa399928b817c76726f6e6d66666d6e7074797f859095a0a9a89e93897d7063554b4035291d1004000000000000000000000000000000000000020c151f28323b454e58606b717e8793939393939393969083796d665c50493f352c22190f05000000000000000000000000000000000000000006131f2c3845515c6775828f9ba7ada1978c80736c615f5757565657575f616d727f8b949a96918d89857b6e6154473b2e21140800000000000000000000000005111e2a36414c565e6c6c6c6c6c6c6c6a675f555253534f5960636c6c6c6c6c6c67645c53483c3024180b000000000000000000000000000000000000000000000000000000000005111d29343f485056585a5a5a5a5a5a5a5a64717e8b97a4b1a79a8e8174675b4e4134281b0e0004111d2935414c565d6062626262626262605d564c4135291d110400091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b0000000008131e2a36414c56626d75818e959fa6a49c948f86827e7b7a7979797b7e83899196a0a7a59e948c7f736b6054473d321e150a0000000714202d3a4753606d797b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b796d6053473a2d20140700000000000000000d192633404c5966737f8c99a6b2a89b8e8175685b4e422f24180d010000000000000000000000000000000000000000000000000002050708110b06050300000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21201e1a140d05000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21201e1a140d050000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d11050000000000000000000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d01000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000091623303c4956636f7c8996a2afa89b8e8175685b4e422d22170b00000000030d151d23292c2d3938373636353431302d28221a120800000000000000000000000000000000000003091825313e4a56626d75818f969490847c706b625b514a423a322a21191106000000000000000000000000000000000f1b27323d47535f6a727f8c939da5aba39f938e87827f7c7a797879797b7d81858b9297a0a7a8a0968f82756b605443392f24180c0000000000000000000000000000000000000000030d162029333c464f59616c727f8686868686868686847b6e675d544a3f372d231a100700000000000000000000000000000000000000000004101c2934404b5563707d8a95a0aca99f93887e746e69666463636366696e757f87939fa6a19e9a908377695e52463a2d2014070000000000000000000000000714202d3946525e68767979797979797771675b4f464854606b70797979797979746e64584c4033271a0d01000000000000000000000000000000000000000000000000000000000915212e3a45505a6265676767676767676767717e8b97a4b1a79a8e8174675b4e4134281b0e000613202c3945525d686d6f6f6f6f6f6f6f6d685d5245392c20130600091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b00000000020d1925303a44515b606d798390949da5a69e98928f8b8887858586888b90949ea1a8a39f938e82786d60594f43352b210c030000000a1723303d4a5663707d87878787878787878787878787878787878787878787878787878787878787878787878787878787877e7164574a3e3124170b00000000000000000d1a2734404d5a6773808d9aa6b3a79a8d8074675a4d4134271a07000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2020202020202020202020202020202020202020202020202020201514120e090200000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d2020202020202020202020202020202020202020202020202020201514120e0902000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d0100000000000000000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e21140700000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724303d4a5763707d8a96a3b0a79a8d8174675a4e4134271b060000000000030b12181c1f202c2b2b2a2928272423211d17100800000000000000000000000000000000000000000916222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a0200000000000000000000000000000a16202b37434e58606c77818e939fa2aaa59e9a938f8c898786858586888a8d92979ea1a9a59e9691847a6d61594f4431271d1207000000000000000000000000000000000000000000040e17212a343d47505a626d727979797979797979786e695e554b42382e251b110800000000000000000000000000000000000000000000000c18232f394653606c7883909aa4afa49a938b817b767371706f7072767b818b9399a4afa99f948a7e7164574d42362a1e11050000000000000000000000000814212e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000b1724313d4a56626d71737373737373737373737e8b97a4b1a79a8e8174675b4e4134281b0e000714212d3a4754606d7a7c7c7c7c7c7c7c7a6d6054473a2d21140700091623303c4956636f7c8996a2afa4978a7d7164574a3e3124170b000000000008131e28323f45515d676d7a828e939da0a7a39f9b97949892929895989c9fa6a7a099928d81786d665c50463d3223190f000000000a1723303d4a5663707d899494949494949494949494949494949494949494949494949494949494949494949494949494948a7d7164574a3e3124170b00000000000000000e1b2734414e5a6774818d9aa7b3a69a8d8073675a4d4034271a0d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20141313131313131313131313131313131313131313131313131308070502000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201413131313131313131313131313131313131313131313131313080705020000000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e13080000000000000000000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d20130700000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724313d4a5764707d8a97a3b0a79a8d8074675a4d4134271a0e01000000000001070c1013141f1f1e1d1c1b1a181714110c0600000000000000000000000000000000000000000006121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c0300000000000000000000000000040f1b26323c44505b656d78818b92989fa4aca49f9c9995949892929894979a9ea1a9a7a09d938f847b6e685d52473d331f150b0100000000000000000000000000000000000000000000050f18222b353e48515b62656c6c6c6c6c6c6c6c6b615e574d433a30261c130900000000000000000000000000000000000000000000000007121f2b3844505b66707d88939fa5aca49f938e8783807e7d7c7d7f82878e939fa4aba9a1978f82766c6155453b30251a0e020000000000000000000000000814212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000b1825323e4b5865717f80808080808080808080828f9ca9b4a79a8e8174675b4e4134281b0e000a1723303d4a5663707d898989898989897d7063564a3d3023170a00091623303c4956636f7c8996a2aca4978a7d7164574a3e3124170b0000000000020c16202935404b555d686d78818991959c9fa3aba4aaa29f9fa2aaa4aba49f9c95908780786d665c544a3f342b211007000000000a1723303d4a5663707d8996a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1978a7d7164574a3e3124170b00000000000000000e1b2835414e5b6874818e9ba7b3a6998c807366594d4033261a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0b0a080500000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d20140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0b0a0805000000000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c0200000000000000000000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d110500000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1724313e4a5764717d8a97a4b0a69a8d8073675a4d4034271a0d010000000000000000040607131211100f0e0e0b0a08050000000000000000000000000000000000000000000000010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c03000000000000000000000000000a152027333f49535c666d747f868e939a9ea1a8a7a5a2aaa29f9fa2aaa3a7aaa29f9b959089827a6e695e564c41352b210d03000000000000000000000000000000000000000000000000061019232c363f4951565860606060606060605e54524d453b31281e140a01000000000000000000000000000000000000000000000000030f1c28333f4a54606b73808d939da4aca59d99938f8c8a89898a8c8f93999ea5aea79f9791857b6e615a504533291f1409000000000000000000000000000814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000003101d293643505c6976828d8d8d8d8d8d8d8d8d8d8f949eaab4a79a8e8174675b4e4134281b0e000a1723303d4a5663707d899595959595897d7063564a3d3023170a00091623303c4956636f7c89969f9f9f978a7d7164574a3e3124170b000000000000050e18242f3a434c565d666d747d848a8f92999a9c9e9e9f9f9e9d9c9a99938f8a837c736c665c544a42382e22190f00000000000a1723303d4a5663707d89969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b00000000000000000e1b2835414e5b6874818e9ba7b3a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171714110c050000000000000013202c3946535f6c7986929facada093867a6d6053473a2d201a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a171714110c0500000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e0400000000000000000000000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d0100000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724313d4a5764707d8a97a3b0a79a8d8074675a4d4134271a0e010000000000000105090b0b121111100f0e0d09080603000000000000000000000000000000000000000000000000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b00000000000000000000000000040b17222d38414a545c606d727b81878d9196989a9c9d9e9f9f9f9e9d9d9b9898928e8a837d756d685e574d443a3023190f000000000000000000000000000000000000000000000000000007111a242d373f464a4c5353535353535353524846423b33291f160c0200000000000000000000000000000000000000000000000000000b17222d38424f59606c78818d929ea0a8aba49f9c9997969696999c9fa4abaaa29f9590857c6f695e53483e3420170d02000000000000000000000000000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000003101d293643505c6976838f9a9a9a9a9a9a9a9a9a9c9ea6b0b4a79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a2a2a296897d7063564a3d3023170a00091623303c4956636f7c8993939393938a7d7164574a3e3124170b0000000000000007131d28313a444c545c606b70787e82868a8d8f9192929291918f8d8a86827d786f6a605b544a423930261c100700000000000a1723303d4a5663707d899393939393939393939393939393939393939393939393939393939393939393939393939393938a7d7164574a3e3124170b00000000000000000e1b2734414e5a6774818d9aa7b3a69a8d8073675a4d4034271a0d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a2d27272727272727272727272727272727272727272727272727272727272423211c17100800000000000013202c3946535f6c7986929facada093867a6d6053473a2d27272727272727272727272727272727272727272727272727272727272423211c171008000000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c0000000000000000000000000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e13080000000000000000000000000000000203101d2a3643505d69768390908376695d5043362a1d100302000000000000000a1724303d4a5763707d8a96a3b0a79a8d8074675a4d4134271a0e010000000000060c111517181f1e1d1c1b1a191615130f0a04000000000000000000000000000000000000000000000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d12070000000000000000000000000006111b262f38424a505b62696e757b8084888b8d8f90929292929191908e8b8985817d78706b605d564d453b32281e110700000000000000000000000000000000000000000000000000000008121b252d343a3e3f4646464646464646453b3a36302921170d0400000000000000000000000000000000000000000000000000000006111c262f3d44505b666d78808a91969d9fa7a7a9a6a4a3a2a3a5a9a7a8a09e98928c837b6f6a5f574d42362c220e0500000000000000000000000000000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000003101d293643505c6976838f9ca6a6a6a6a6a6a6a6a9aab0acaca79a8e8174675b4e4134281b0e000a1723303d4a5663707d8996a3aca396897d7063564a3d3023170a00091623303c4956636f7d868686868686867e7164574a3e3124170b00000000000000010c161f28323a424b515960666c71767a7d808284858686858483807d7a75706c666058504a423930271e140a0000000000000a1723303d4a5663707d86868686868686868686868686868686868686868686868686868686868686868686868686868686867e7164574a3e3124170b00000000000000000d1a2734404d5a6773808d9aa6b3a79a8d8174675a4e4134271b09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343431302d28221a1208000000000013202c3946535f6c7986929facada093867a6d6053473a34343434343434343434343434343434343434343434343434343434343431302d28221a12080000000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e04000000000000000000000000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c0200000000000000000000000000050a0f12101d2a3643505d69768390908376695d5043362a1d10120f0a0500000000000a1623303d495663707c8996a3afa79a8e8174675b4e4134281b0700000000000911181d2124252c2b2a2928272622211f1b150e0600000000000000000000000000000000000000000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c00000000000000000000000000000a141d2630383f4451575f61696e73787b7e80828485858685858483817f7c7a75706d666059524c443b332920160c000000000000000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d2a251f170f0500000000000000000000000000000000000000000000000000000000000a141d28333f4a545c666d747d848b9095979a9c9e9f9f9f9f9e9d9a9896918c857f786e695f584e453b31241a100000000000000000000000000000000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000003101d293643505c6976838f9c9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e000a1723303d4a5663707d89969f9f9f96897d7063564a3d3023170a000915222f3b4854606b6f79797979797979716c6155493c3023170a0000000000000000040d162028303940454f545b6064686e7174767778797978777673716e6863605b544e443f382f271e150c020000000000000916232f3c4855616b707979797979797979797979797979797979797979797979797979797979797979797979797979797979716c6155493c3023170a00000000000000000d192633404c5966737f8c99a6b2a89b8f8275685c4f4230251a0e020000000000000000000000000000000000000000000000000000010203000000000000000000000000000000000013202c3946535f6c7986929facada093867a6d605347404040404040404040404040404040404040404040404040404040404040403e3c39332c241a10050000000013202c3946535f6c7986929facada093867a6d605347404040404040404040404040404040404040404040404040404040404040403e3c39332c241a100500000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000009121c252e363e454d52575f62666a6e71737577787879797978777573706d67636059534d453e362d251b110800000000000000000000000000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e04000000000000000000000000010910161b1e20202a3643505d69768390908376695d5043362a20201e1b161009010000000815222f3b4855626e7b8895a9b3a89b8f8275685c4f422e23180c0000000009121b22292e3132393837363534332f2e2b262018100600000000000000000000000000000000000000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c100400000000000000000000000000020b151e262e343f454d53575f6266696e71747677787979797877767472706d6763605c544f45413a322921170e040000000000000000000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d2d2b21201e1a140d05000000000000000000000000000000000000000000000000000000000000020b17222d38424a545c606b70797e83878b8d8f919292929291908e8b88847f7a736d665f574e463c33291f12090000000000000000000000000000000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000003101d293643505c6976838f939393939393939393939393939393938e8174675b4e4134281b0e000a1723303d4a5663707d899393939393897d7063564a3d3023170a0007131f2c38434f5960636c6c6c6c6c6c6c64615a5045392d211408000000000000000000040d161e272e343d424a5053565e616467696b6b6c6c6b6a696764615e5653504a423c332d261d150c03000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d21140800000000000000000b1825313e4b5864717e8b97a4b1a99d9083766a574d42362a1e1105000000000000000000000000000000000000000000000003080c0e0e0f0b0707040100000000000000000000000013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49453e362c22170c0000000013202c3946535f6c7986929facada093867a6d60534d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4a49453e362c22170c00000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000a131c242c333b42464d5355575f626466696a6b6b6c6c6c6b6a686663605d55544f47423c332d241b1309000000000000000000000000000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c000000000000000000000000010a131b21272b2d2d2d3643505d69768390908376695d5043362d2d2d2b27211b130a0100000714212e3a4754616d7a8797a2ada99c90837669544a4034281c1004000006111b242d343a3d3e454444434241403c3b37322a22180e0400000000000000000000000000000000000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f13060000000000000000000000000000030c151c2328333c42464d5355575f626567696a6b6c6c6c6b6a6a686563605d5553504a423d35302820170f050000000000000000000000000000000000000000000000000000000000000000060d1216181920202020202020201f1514120e0902000000000000000000000000000000000000000000000000000000000000000006111c262f38424a505961666d71767b7e818384858686858483817f7b77736d68605c544d453c342a21170d000000000000000000000000000000000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c0000000000000000000000000000000000000000000000000000000003101d293643505c6976828686868686868686868686868686868686868174675b4e4134281b0e000a1723303d4a5663707d868686868686867d7063564a3d3023170a00030f1b27323d474f545660606060606060575550483e33281c110400000000000000000000040c151d23282f383f44464c5254575a5c5e5f5f5f5e5e5c5a5754524c46443f382f28221c140b03000000000000000004101c27333d474f55566060606060606060606060606060606060606060606060606060606060606060606060606060606060575550483e33281c110400000000000000000a1723303d4a5663707d8996aab4ab9f928578695e52463a2d20140700000000000000000000000000000000000000000001090f14181a1b1c181413110d08050100000000000000000013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c110500000013202c3946535f6c7986929facada093867a6d605a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a575550483e33281c1105000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000010a121a212930363c4247484e5355596063676a6b6c6b6a666260585653514b48433d37312a211b1209010000000000000000000000000000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e0400000000000000000000000009131c252c33373939393943505d69768390908376695d50433939393937332c251c130900000713202d3946525d687885929fabaa9e918477665c5144382c1f120600010c18222d363f454a4b5251504f4e4d4c4947433c342a20150a000000000000000000000000000000000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d201307000000000000000000000000000000030a1117212a31373c4247484d5355585a5c5d5f5f5f5f5e5e5d5b585653514b46443f383029241e160e05000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313131313131313120807050200000000000000000000000000000000000000000000000000000000000000000000000a141d2630383f444f545c6064696e7174767778797978787674726f6a66605d56514a423c332a22180f05000000000000000000000000000000000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b00000000000000000000000000000000000000000000000000000000020f1c2835414e5a667076797979797979797979797979797979797979746f64594c4033271a0d000916232f3c4855616b7079797979797979706b6155483c2f23160900000a16212b353d434849535353535353534a49453e362c22170c000000000000000000000000030b12181d262d33383b4146474a4d4f515253535251504d4a4746413b38332d261d17110a02000000000000000000000b16212c353d44484a53535353535353535353535353535353535353535353535353535353535353535353535353535353534a49453e362c22170c0000000000000000000815222e3b4855616e7b8898a2aeada297877b6e6154473b2e21140a0000000000000000000000000000000000000000030b131a20242728292521201d1913110d08020000000000000013202c3946535f6c7986929facada093867a6d6767676767676767676767676767676767676767676767676767676767676767676764615a5045392d21140800000013202c3946535f6c7986929facada093867a6d6767676767676767676767676767676767676767676767676767676767676767676764615a5045392d211408000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000080f171f252a31373e4850585f626b6f737778797877736f6a615f574f473d38322b2620180f090000000000000000000000000000000000000000000009121c252e363e454d52575f62666a6e71737577787879797978777573706d67636059534d453e362d251b110800000000000000000000000005101b252e373e434646464646505d69768390908376695d504646464646433e372e251b10050005111d2935414c566a7683909da9ac9f9286796d6053463a2d2013070005111d29343f485056585f5e5d5c5b5a5955534e463c32261b0f0300000000000000000000000000000000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e2114080000000000000000000000000000000000060f181f262b31373a3c4247484b4d4f51525253525251504e4c494745403a38342e261e19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141e262e343e424a5153575e616467696b6c6c6c6c6b6a6765625f5854524c444039302a21181006000000000000000000000000000000000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e22160900000000000000000000000000000000000000000000000000000000000d1926323e49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b000714202c38444f5961636c6c6c6c6c6c6c6361594f44382c2014070000040f19232b32383b3c464646464646463e3c39332c241a10050000000000000000000000000000070b141c22282b3036393b3e414344454646454443403e3b3936302b28221c140b0600000000000000000000000005101a232c33383c3d46464646464646464646464646463f44464f4f4f4f4f4f4f46444046464646464646464646464646463e3c39332c241a10050000000000000000000613202d394653606c7985929facb3a9968a7d7063574a3d31261b0f01000000000000000000000000000000000000000b151d252b30343536312d2c2924201d19130c0701000000000013202c3946535f6c7986929facada09386797373737373737373737373737373737373737373737373737373737373737373737373716c6155493c3023170a00000013202c3946535f6c7986929facada09386797373737373737373737373737373737373737373737373737373737373737373737373716c6155493c3023170a000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000050d15202a333e47505a616a6f767c808385868583807c756e6960594f473d32291f150e060000000000000000000000000000000000000000000000000a131c242c333b42464d5355575f626466696a6b6b6c6c6c6b6a686663605d55544f47423c332d241b1309000000000000000000000000000a16212c3740494f5353535353535d69768390908376695d5353535353534f4940372c21160a00010d192430414e5b6774818e9aa7afa399887b6f6255483c2e23180c060615212e3a45505a62656c6b6a69686766625f584e43372b1f13060000000000000000000000000000000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d201407000000000000000000000000000000000000060e141a1f262b2e31373a3b3e41434445464646454443413f3d3a39352f2b28231c140c0802000000000000000000000000000000000000000000000000030608090f1112131313110f0c0707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c141c232830394044464d5254585a5c5e5f5f5f5f5e5d5b5855534e4745413a342e271e180f06000000000000000000000000000000000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e120600000000000000000000000000000000000000000000000000000000000915212d38424c545a5c6060606060606060606060606060606060605b59534a41362b2014080004101c27333d474f55566060606060606056554f473d33271c100400000007101921272c2f303939393939393931302d28221a120800000000000000000000000000000000020a11171c1f252a2d2e3134363838393938373634312e2d2a251f1c17110a02000000000000000000000000000008111a21272c2f3039393939393939393939392d38424a50535c5c5c5c5c5c5c53514a42392e393939393939393939393931302d28221a12080000000000000000000006121f2b3844505b667683909ca9b3a79a8d807467584e43372b1e1308000000000000000000000000000000000000060f1d272f373c4041423e3a39352f2d29251e18120b030000000013202c3946535f6c7986929facb3a79a8d8080808080808080808080808080808080808080808080808080808080808080808080807e7164574a3e3124170b00000013202c3946535f6c7986929facb3a79a8d8080808080808080808080808080808080808080808080808080808080808080808080807e7164574a3e3124170b000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000020e1a26313c454f59616c707c82898d90929291908d88827b706b60594f443b3025190e02000000000000000000000000000000000000000000000000010a121a212930363c4247484e5355585a5c5d5e5f5a61646c6c6c6c66635c5248433d37312a211b120901000000000000000000000000000f1b27333e49525a5f60606060606069768390908376696060606060605f5a52493e33271b0f0000081825313e4b5864717e8b97a7b1ab988b7e7165554b4034281d1413131624313d4a56626c71787777767574736f6a5f53473b2e211508000000000000000000000000000000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e11050000000000000000000000000000000000000003090e151a1e21262b2e2f32343637383939393837373532302d2c29241f1c17110a02000000000000000000000000000000000000000000000000030a0f1215151c1e1f1f201f1e1c181413110d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e272e34383b4246484b4e50515253535251504e4c4847433c39353028231c150c06000000000000000000000000000000000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d01000000000000000000000000000000000000000000000000000000000005101b26303a42494e505353535353535353535353535353535353534e4c4841382f251a0f0300000b16212c353d44484a535353535353534a48443d352c21160b0000000000070f161b1f22232d2d2d2d2d2d2d2423211c17100800000000000000000000000000000000000000060b0f14191e20212427292b2c2c2c2b2b29272421201e19140f0b0600000000000000000000000000000000000810161c2023232d2d2d2d2d2d2d2d2d2d28333f4a545b6068686868686868605c544a4034282d2d2d2d2d2d2d2d2d2d2423211c1710080000000000000000000000030f1c28333f4a546774808d9aaab4aa9d9184776a5f53473a2f24190b0200000000000000000000000000000000030e18212f3941484d4e4f4b4745413a39353029241d150d0300000013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8174675b4e4134281b0e01000013202c3946535f6c7986929facb9a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8174675b4e4134281b0e010000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000006121e2b37424d57616c707e868f949a9c9998999c99938f857d706b60564d42362a1f14080000000000000000000000000000000000000000000000000000080f171f252a31373a3c4247484b4d4f4a505b636c7079797979736e63574b3f322b2620180f09000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c7683909083766c6c6c6c6c6c6c6c645a4f43372b1e1200000815212e3b4854616e7b87959faba89b8e8175675c5145392e2521201f202935404b5565717e8584838281807f7c6f6255493c2f2216090000000000000000000000000000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e0200000000000000000000000000000000000000000003090e12151a1e21222527292a2c2c2c2c2b2b2a282523201f1d1812100b0600000000000000000000000000000000000000000000000000060e151b1f2122282a2b2c2c2c2b292521201d19130d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c23282c30363a3b3e414344454646454543413f3c3a37312c29241e18120b03000000000000000000000000000000000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b1107000000000000000000000000000000000000000000000000000000000000000a141e2830383e414346464646464646464646464646464646464641403c362f261d130800000005101a232c33383c3d464646464646463d3c38332c231a1005000000000000040a0f13151620202020202020171714110c050000000000000000000000000000000000000000000003080d111414171a1c1e1f20201f1e1d1a171414110e08030000000000000000000000000000000000000000050b101416172020202020202020201f2b3844505b666c757575757575756d665c5144382c1f202020202020202020171714110c05000000000000000000000000000b17222d3d4a5763707d8a98a2aeaca095887c6f62564c4135291d140a000000000000000000000000000000000915202a33414b53595b5c5854524c4746413a352f271f150b01000013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8e8174675b4e4134281b0e01000013202c3946535f6c7986929facb9aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a8e8174675b4e4134281b0e010000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000814212e3a47535f69707e87929899938f8c8b8c90949e9792877d6f695e52463b3025190e020000000000000000000000000000000000000000000000000000050d141a1f262b2e31373a3b3e444c545c606d727e868686868073665a4d4033271a150e060000000000000000000000000000000013202d3946535f6c767979797979797979839090837979797979797979766c5f5346392d201300000714202d3a46525e697783909daaab9f9285796d60544b4036312d2c2c2d323a45515d6775818e91908f8e8d897c6f6356493c3023160900000000000000000000000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e14080000000000000000000000000000000000000000000000000206090e121415181a1c1e1f1f201f1f1e1d1b19161413100c0703000000000000000000000000000000000000000000000000000006101820262b2e2f3537383939393835322e2d2a251e19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f252a2d2e3134363839393939383734322f2e2b26201d19130c07000000000000000000000000000000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b13090000000000000000000000000000000000000000000000000000000000000000030c161e262d3235363939393939393939393939393939393939393433302b251d140b010000000008111a21272c2f3039393939393939302f2c27211a110800000000000000000003070909131313131313130b0a08040000000000000000000000000000000000000000000000000000010507080b0e10111213131211100d0b080705020000000000000000000000000000000000000000000000000407090a131313131313131313202d394653606c7881828282828281796d6053463a2d201313131313131313130b0a08040000000000000000000000000000000614202d3a4753606d7985929facb1a79a8d8073685d52453b2f261b1106000000000000000000000000000006101a26313c45535d64686964605d5654524c45403931271d1207000013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8e8174675b4e4134281b0e01000013202c3946535f6c7986929facacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a69a8e8174675b4e4134281b0e010000000000000000020714202d3a4753606d7a8693a0acac9f9286796c5f5346392c2013070502000000000000000000000000000000000006121f2b37434e58626e7b869299959187827f7f80838991969992857b6e61564d41362a1e110500000000000000000000000000000000000000000000000000000002090e151a1e21262b343d454d565d666d747f87929892857b6e6154473b2e21140903000000000000000000000000000000000013202d394653606c798686868686868686909494908686868686868686796c605346392d2013000005121e2a36424d5765727f8c98a2aea2988b7e71665c5146423b3a39383a3d444d57606d7a85929e9d9c9b9285796d6053463a2d2013070000000000000000000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d02000000000000000000000000000000000000000000000000000000020608080b0e1011121313131211100e0c0a07060400000000000000000000000000000000000000000000000000000000030e18222a31373a3c42444546464644423f3a39363029241e160e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10141a1e20212527292b2c2c2c2c2b2a282522211f1b15110d08020000000000000000000000000000000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e18110901000000000000000000000000000000000000000000000000000000000000000000040c141b212628292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282724201a130b020000000000000810161c2023232d2d2d2d2d2d2d2323201c161008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060606060606060713202d3a4653606d79868f8f8f8f8f867a6d6053473a2d201407060606060606060000000000000000000000000000000000000006131f2c3845515c6775828f9ba8b2ab9f92857a6d60574d41382d2217110a020000000000000000000001081018222b37424e57646f7475716d6865615e56514b43392f24180c000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e01000013202c3946535f6c7986929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9a8e8174675b4e4134281b0e0100000000000003090e1214202d3a4753606d7a86939f9f9f9f9286796c5f5346392c201514120e09030000000000000000000000000000000815212e3a47535f6a75828f989691837c76737273767d849197978e8174685e5246392d2014070000000000000000000000000000000000000000000000000000000000050c151d2328363e464f575f686d78818c939993877d70695e52463a2d20140700000000000000000000000000000000000013202d394653606c7986939393939393939c9f9f9c9393939393939386796c605346392d20130000020e1a25303b4754616d7a86929fa9aa9e9184796d605b534d4847454546484f565e69727f8c98a2aaa69b8e8275665c5044382c1f1206000000000000000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343c4347484f5152525352514f4b4746413a35302820191108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e121415181b1d1e1f20201f1e1d1b191515120f0a0401000000000000000000000000000000000000000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d07000000000000000000000000000000000000000000000000000000000000000000000000030a1015191c1d2020202020202020202020202020202020201b1a18140f08010000000000000000050b1014161720202020202020171614100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a0500000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939b9b9b93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000004101c2934404b5563707d8a96a1acaea2988c7f73695e53493f3327221b140b090603000001000205080d1319222a343c47535f6a7481827e7a76716d68605d554b4035291d10040013202c3946535f6c79869293939393939393939393939393939393939393939393939393939393939393939393939393939393938e8174675b4e4134281b0e01000013202c3946535f6c79869293939393939393939393939393939393939393939393939393939393939393939393939393939393938e8174675b4e4134281b0e010000000000050d141a1e21212d3a4753606d7a8693939393939286796c5f5346392d2d21211e1a140d0500000000000000000000000000000915222f3c4855626f7b88949e91847a6f6a6665666b6f7b85929e93877b6e6154473b2e21140800000000000000000000000000000000000000000000000000000000060e161e272e344048505960696e7a828e939f948c7f736b60574d42362a1e110500000000000000000000000000000000000013202d394653606c7986939f9f9f9f9f9fa9ababa99f9f9f9f9f9f9386796c605346392d20130000000914202d3946525d6874808d97a2aca0968d80746d615e575554515153555960686e7b86929faaab9f94897c6f63544a3f34281c100300000000000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d05000000000000000000000000000000000000000000000000000000000000000000000406070a0d0f11121313131212100e0c090606030000000000000000000000000000000000000000000000030f1b26313c464e53555b5d5e5f5f5f5e5c5854524c46413a322b231a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e10111213131212100e0c0908060300000000000000000000000000000000000000000000000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000005090d0f101313131313131313131313131313131313130e0d0b08030000000000000000000000000407090a131313131313130a090704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a030000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0a8a093867a6d6053473a2d2014070000000000000000000000000000000000000000000000000000000c18232f394653606c7884919ea8b2aa9f92867b6e655b50443e332d261d1a1312100b060e090e1214191e2429343c46505a626e7b878f8b86827e7a766d675d5145392c1f13060013202c3946535f6c7987868686868686868686868686868686868686868686868686868686868686868686868686868686868686868174675b4e4134281b0e01000013202c3946535f6c7987868686868686868686868686868686868686868686868686868686868686868686868686868686868686868174675b4e4134281b0e0100000000050f171f252a2d2e393a4753606d798686868686868687796c5f53463939392e2d2a251f170f05000000000000000000000000000d192633404c5966737f8c99968a7d70685f5858596069717e8b98998b7e7165584b3e3225180b000000000000000000000000000000000000000000000000000000070f18202830394045525a616b6f7b838f949d968f82776c60594f453b30251a0e0200000000000000000000000000000000000013202d394653606c7986939facacacacacb6b7b7b6acacacacac9f9386796c605346392d201300000005111d2935414c56616d7a85929fa5a89d928c7f756e696461605d5c6062656b6f7a839198a2aea3999083766b605442382e23170c00000000000000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e0802000000000000000000000000000000000000000000000000000000000000000001070c10131416191c1d1f1f20201f1e1d1b191613120f0b0600000000000000000000000000000000000000000006121f2b37434e585f62686a6b6c6c6c6b6865615e56524c443d352c241a110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d0400000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d798693a0aca093867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000007121f2b3844505b66727f8b96a1acaea2988f82776c605a50443f382f2b26201f1c171b1a1b1a1e2124292f353e464e58626c75828f9999928f8b8682796d6053473a2d20140700121f2c3845525e6a757979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746f64594c4033271a0d010000121f2c3845525e6a757979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746f64594c4033271a0d01000000030d17212931363a3b464645515c67767979797979797979756a5e52464646463b3a36312921170d030000000000000000000000020f1c2935424f5c6875828f9b9184786b61564e4c4f57606d7a86929a8e8174675b4e4134281b0e0100000000000000000000000000000000000000000000000000071019212a323a434b515b636c717d8591959f9991847a6d655b50473d33291f14090000000000000000000000000000000000000013202d394653606c7986939facb9b9b9b9c3c4c4c3b9b9b9b9ac9f9386796c605346392d2013000000010d1924303a46525e68727e8b939ea7a49c918c827b75716e6d67666d6f71767d849195a0aaa69f92877c6f63594f4330261c1106000000000000000000000000000000000000000000000000000000000000000002050708121313131313131313080705020000000000000000000000000000000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b2a282523201f1c17110f0a030000000000000000000000000000000000000815212e3a47535f6a6f7577787979797775726d68615d564f473e362c231a1006000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b09060100000000000000000000000000000000000000000000000000020507080b0d0f1112131313131211100e0b08080602000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a0500000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a050000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a0500000000000000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d03000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986939f9f9f93867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000030f1c28333f4a54606d7984919ea6b0aa9e948c7f726c615a5049413c37312d2b2823272728252a2d2f353a41454f585f6a717e8b939ea39f9c998f8275675d5145392c1f130600111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b000000111d2a36424e59636a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c67645d53483c3024180b0000000009141f29333b4246485353534b555c6c6c6c6c6c6c6c6c6c6a635953535353534846423b33291f1409000000000000000000000004101d2a3743505d6a7683909c8f827669594f443f45515d677784919c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000000040f19222b333c444c555c606d737e869297a09f92877c6f685d53493f352b20170d020000000000000000000000000000000000000013202d394653606c7986939facb9c6c6c6cfd0d0cfc6c6c6b9ac9f9386796c605346392d20130000000008131e2a36414c56626d75818e959fa6a49c948f86827e7b7a7979797b7e83899196a0a7a59e948c7f736b6054473d321e150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1d23292c2d303335373839393939383635322f2d2b28221c1b150e0903000000000000000000000000000000000915222f3c4855626f7c81848585868584827e7a746d68605950483e352c22180d0300000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d060000000000000000000000000000000000000000000205090e121415181a1c1e1f1f20201f1f1e1c1a181514120e09060300000000000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a03000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869393939393867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000b17222d3845515c67717e8b949ea9b0a69f92877e716c605b534d47423c3a38342e34343531363a3b41454c5159616a6f7c86929fa5aea99f93877c6f62554b4035291d1004000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b59534a41362b2014080000000e1a26313d4751595e5f606060606060606060606060606060606060606060606060606060606060606060606060606060606060605b59534a41362b201408000000020e1a25313b454d535f6060606060605d606060606060605f5e5c6060606060605f534d453b31251a0e020000000000000000000004101d2a3743505d6a7683909c8f827669594f454045515d677784909c8f8275695c4f4236291c0f030000000000000000000000000000000000000000000000000a16212b343d454d565e676d757f8a9298a19e938b7f726a60564c41382d23190e05000000000000000000000000000000000000000013202d394653606c7986939facb9c6d2d2dcdddddcd2d2c6b9ac9f9386796c605346392d201300000000020d1925303a44515b606d798390949da5a69e98928f8b8887858586888b90949ea1a8a39f938e82786d60594f43352b210c0300000000000000000000000000000000000000000000000000010406070a0d0f11121313131212100f0d0a070704010000000000000000000000000000000000000000000000000000000000000000060b151b21272c2f34383a3d40424445464646454543413f3c3938332d2b26201a150b060000000000000000000000000000000a1724313d4a5764707d8a9091929292918f8b86807a706b615a50473e342a1f150b01000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d18110901000000000000000000000000000000000003090e12141a1e21212527292a2b2c2c2c2c2c2a29272522211e1a15120f0a0400000000000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d0400000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d040000000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d0400000000000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c11050000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7886868686868686796d6053473a2d2014070000000000000000000000000000000000000000000000000000000006111c2834404b55616c75828f97a2abafa39992877e726c655f57534d4946443f41414141424246484c52555d606b707c859298a2aeada2978f82756a5f5343392f24180c00000915202b353f474e52535353535353535353535353535353535353534d545b60666c6c6c6c6c6a5c544a53535353535353535353534e4c4841382f251a0f030000000915202b353f474e52535353535353534d575e6c6c6c6c6c6c6c6a665f55535353545e66696c6c6c6c6c6c6c5e574d5353535353534e4c4841382f251a0f0300000005121e2a36424d575e6c6c6c6c6c6c6c6a665f55535353545e66696c6c6c6c6c6c6c5e574d42362a1e120500000000000000000000020f1c2935424f5c6875828f9b9184786b61574f4d5058606d7a86929a8e8174675b4e4134281b0e010000000000000000000000000000000000000000000000030f1b27323d464e575f686d79818c929fa3a0958e81756d62584e443a2f261b110800000000000000000000000000000000000000000013202d394653606c7986939facb9c6d2dfe9eaeae9dfd2c6b9ac9f9386796c605346392d2013000000000008131e28323f45515d676d7a828e939da0a7a39f9b97949892929895989c9fa6a7a099928d81786d665c50463d3223190f00000000000000000000000000000000000000000000000004080d111314171a1c1d1f1f20201f1f1d1c1a171413110d080400000000000000000000000000000000000000000000000000000000020a111720262b323839404547494c4f50525253535251504e4c4946443f3837312b262017110a02000000000000000000000000000a1724313d4a5764707d8a979e9f9f9f9e9b98928d847d716c61594f463c31271d12070000000000000000000000000000000000000000000000000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b130900000000000000000000000000000003090e141a1e21252a2d2e31343637383939393938373634322f2e2b26211f1b150f0a0400000000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d030000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d03000000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d0300000000000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a00000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66767979797979797976675c5145382c1f130600000000000000000000000000000000000000000000000000000000000c18232e3943505a616e7b859299a3afaba39992877f776e69615f575553504a4e4e4d4e4f4d5354565d60676d747d859297a1aaaea49e92857b6e61584e4331271d12070000040f19242d353d424546464646464646464646464646464646424651575f666c72797979797975665c50444646464646464646464641403c362f261d130800000000040f19242d353d424546464646464646535e69767979797979797771665b4f464e5a66707679797979797976695e5346464646464641403c362f261d1308000000000714212d3a46535e69767979797979797771665b4f464e5a66707679797979797976695e53463a2d21140700000000000000000000000d192633404c5966737f8c99968a7d706960595a5a616a727e8b98998b7e7265584b3f3225180c00000000000000000000000000000000000000000000000007131f2c38434e5860696e7a828e939ca4a2989183796d605b51463d32281d140a0000000000000000000000000000000000000000000013202d394653606c7986939facb9c6d2dfecf6f6ecdfd2c6b9ac9f9386796c605346392d20130000000000020c16202935404b555d686d78818991959c9fa3aba4aaa29f9fa2aaa4aba49f9c95908780786d665c544a3f342b21100700000000000000000000000000000000000000000000070c1013191d20212426292a2b2c2c2c2c2b2a28262421201d1913100c0701000000000000000000000000000000000000000000000000040b141c222832373d43484b515356595b5d5e5f5f5f5f5e5d5b585653504a47433c373127221b140b030000000000000000000000000a1724313d4a5764707d8a979e9ea2a9a9aaa39f9691877e716b61584e43392f23180c030000000000000000000000000000000000000000000000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b110600000000000000000000000000060b151a1f262a2d31363a3b3e4042444546464646454443413e3b3a37312e2b26201b150c070000000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a00000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a0000000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a00000000000000000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d01000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c5c554b4034291c1004000000000000000000000000000000000000000000000000000000000007121d27303e46525e69707d87929fa4acaba399938c827b746e696562605c545b5a5a5b5c575e6164686d737a808a9297a1a9afa59d928a7e70695e52463c321f150b0100000008121b242b31363839393939393939393939393930353e444d525b62696e787f8686868687796d6053463a3939393939393939393433302b251d140b01000000000008121b242b31363839393939393b4854616e7b86868686868683776a5d50444f5c6976828686868686867b6e6154483b393939393433302b251d140b01000000000815212e3b4854616e7b86868686868683776a5d50444f5c6976828686868686867b6e6154483b2e21150800000000000000000000000916222f3c4955626f7c88949e91847b706b6766676c717c85929f93877b6e6154473b2e2114080000000000000000000000000000000000000000000000000915222e3b4854606a6f7b8490949ea5a49f92867c6e675d51493f342b20160b020000000000000000000000000000000000000000000013202d394653606c7986939facb9c6d2dfececececdfd2c6b9ac9f9386796c605346392d2013000000000000050e18242f3a434c565d666d747d848a8f92999a9c9e9e9f9f9e9d9c9a99938f8a837c736c665c544a42382e22190f000000000000000000000000000000000000000000060b12181c1f24292c2d31333537383939393938373533302d2c29241f1c18120c0700000000000000000000000000000000000000000000040d161d262d333c43474f54555c606366686a6b6c6c6c6c6b69686562605b54534e47423c332d261d150d0300000000000000000000000a1724313d4a5764707d8a92919297979c9fa6a9a19992877d706a5f554b4034291f140900000000000000000000000000000000000000000000000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d0100000000000000000000020a11171f262b31363a3b4246484b4d4f51525253535252514f4d4b4847423c3a37312b262018120b0300000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c110500000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c11050000000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c1105000000000000000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f030000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424a505f606060606060605f514b43392f23180c000000000000000000000000000000000000000000000000000000000000000b151e2a36424d56606b717f8b939aa3ababa49f948f86817b76726f6d6668686767686869696e71757a7f858d929ea2a9afa59e938d80746c61574d42342a200d03000000000009121920262a2c2c2d2d2d2d2d2d2d2d2429323a414650565e616d727b828c929992877e71665c5044382b2d2d2d2d2d2d2d2d282724201a130b020000000000000009121920262a2c2c2d2d2d2e3b4854616e7b87939393939083776a5d50444f5c6976828f93939393877b6e6154483b2e2d2d2d282724201a130b0200000000000815212e3b4854616e7b87939393939083776a5d50444f5c6976828f93939393877b6e6154483b2e21150800000000000000000000000815212e3b47535f6a76828f989691847d77747374777e859297978e8174695e52463a2d2014070000000000000000000000000000000000000000000000000916232f3c4956626f7c85919693939393928a7e716a5f554b40372d22190e04000000000000000000000000000000000000000000000013202d394653606c7986939facb9c6d2dfdfdfdfdfdfd2c6b9ac9f9386796c605346392d20130000000000000007131d28313a444c545c606b70787e82868a8d8f9192929291918f8d8a86827d786f6a605b544a423930261c100700000000000000000000000000000000000000020a11171c23282c2f35393a3d4042444546464645454342403d3a39352f2c29231d18120b0300000000000000000000000000000000000000030c161f282f383f444e54596063676d707375777879797978787674726f6c66625f58534d443f382f271f150d03000000000000000000000a1724313d4a5764707d87858585868a8f949fa2aaa39992867c6f675c51453b31261a0e030000000000000000000000000000000000000000000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d1206000000000000000000040c141c232831373b4246484d5354585a5c5d5e5f5f5f5f5f5d5c5a5855534d4847433c373228231d150c0500000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a0000000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a000000000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a00000000000000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f4453535353535353535345403931271d120700000000000000000000000000000000000000000000000000000000000000030c1925303b444f59626d727f889299a1a8afa69f99928e88837f7c797775747474747576787b7e82868c92979da4adaba39f938e81786d605a50453b3022180e00000000000000080f151a1d1f202020202020191f282f353e444c525a61696e767f8690949a93877e716c61544a3f34281c202020202020201b1a18140f0801000000000000000000080f151a1d1f202020212e3b4854616e7b87949f9f9d9083776a5d50444f5c6976828f9c9f9f94877b6e6154483b2e2120201b1a18140f08010000000000000815212e3b4854616e7b87949f9f9d9083776a5d50444f5c6976828f9c9f9f94877b6e6154483b2e211508000000000000000000000006131f2b37434e58626f7c86929a96918984818081848a92979892857a6e61564d42362a1e11050000000000000000000000000000000000000000000000000d1a2633404d59667380868686868686868680746c61574e43392f251b100700000000000000000000000000000000000000000000000013202d394653606c7986939facb9c6d2d2d2d2d2d2d2d2c6b9ac9f9386796c605346392d201300000000000000010c161f28323a424b515960666c71767a7d808284858686858483807d7a75706c666058504a423930271e140a00000000000000000000000000000000000000050b141c22282e34383a4145474a4d4f50525253535252504f4d4a4745413a38342f28231d150c070000000000000000000000000000000000000b151e283139424a50585f626b6f75797d7f828385858686858483817f7c79746f6a625f575049413931271f150b010000000000000000000714202d3a4753606d79797878787a7d828a9298a1a9a2989083796d60574d42362a20150a00000000000000000000000000000000000000000000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e2215090000000000000000050e161e262e343c42474d5355575e616467696a6b6c6c6c6c6b6a696765625f5755534e47433c342e271e170e05000000000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d0100000000000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d010000000000000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d01000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000000000000000000000000a151e262e343846464646464646464638342f271f150b01000000000000000000000000000000000000000000000000000000000000000009141f29323d47505a626d727e8791969ea5acaba39f9a95908c8885848281818081828385878b8f92989fa2a9ada8a099928d81786d665c50483e33291f1006000000000000000004090e1112131313130f19222b313a41454f565e616c717b828b92989a93887e716c615a5042382e23170b1313131313130e0d0b080300000000000000000000000004090e1112131315212e3b4854616e7b8794a1aa9d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e2115130e0d0b080300000000000000000815212e3b4854616e7b8794a1aa9d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e2115080000000000000000000000030f1b26323c47535f6a717e8892989e95908d8d8e91969e9792867d6f685e52443b3025190e020000000000000000000000000000000000000000000000000c1925323f4b57636d737979797979797979746e645a50453c31281d12090000000000000000000000000000000000000000000000000013202d394653606c7986939facb9c6c6c6c6c6c6c6c6c6c6b9ac9f9386796c605346392d20130000000000000000040d162028303940454f545b6064686e7174767778797978777673716e6863605b544e443f382f271e150c02000000000000000000000000000000000000070f171d262d33394044464c525457595c5d5e5f5f5f5f5e5d5b595754524c47454039342e271e1810090000000000000000000000000000000007121d273039434b545b606a6f767c8185898c8e90919292929291908e8b8985817c756e69605b534b433931271d120700000000000000000006131f2c3845515c676d6d676b676d70767e869297a1aaa0958c8073695f53463c31261a0f0300000000000000000000000000000000000000000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b00000000000000050e17202830383f444d53575f6166696e71737577787979797978777674716e6967625f58544e454039302920170e050000000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f0300000000000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f030000000000000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f03000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c3939393939393939392c29231d150d03000000000000000000000000000000000000000000000000000000000000000000020d17202b353f48515b626c717d848e939da0a7abaca79f9d989892908f8e8d8d8e8f909298979c9fa3aaada9a29f96918780786c665c544a3f362c21170d00000000000000000000000104060606000a16212b343d434b515961686d757e858f949f9f93887f716c625a50483e30261c110600060606060601010000000000000000000000000000000000010406060815212e3b4854616e7b8794a1a99d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e211508010100000000000000000000000815212e3b4854616e7b8794a1a99d9083776a5d50444f5c6976828f9ca9a194877b6e6154483b2e2115080000000000000000000000000a15202b37434e58616c717e868f949a9d9a999a9d99938f857d706b60564d4132291f1409000000000000000000000000000000000000000000000000000a16232f3b47525b63666c6c6c6c6c6c6c6c67645c52483e332a1f160c000000000000000000000000000000000000000000000000000013202d394653606c7986939facb9b9b9b9b9b9b9b9b9b9b9b9ac9f9386796c605346392d2013000000000000000000040d161e272e343d424a5053565e616467696b6b6c6c6b6a696764615e5653504a423c332d261d150c0300000000000000000000000000000000000007101921292f383f444a5153565d606466686a6b6c6c6c6c6b6a686663605d5653514b454039302a221a12090000000000000000000000000000040d18232e39434b555d666c737c83898e9298999b9d9e9f9f9f9f9e9c9b9897918d88827b736c655d554b43392f24180e05000000000000000004101c2934404b555c60605c555d60646c717c859298a3a79f92867b6e61584e43372b1f14090000000000000000000000000000000000000000000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c000000000000030c172029323a424a50575f62696e73777b7e8082848585868685858482807e7b78736f6a625f58514b423a322920170c030000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2d1f1c18120b030000000000000000000000000000000000000000000000000000000000000000000000050e19232d363f49515a626b6f7a818990959c9fa6a9aca9aaa29f9d9b9b9a9a9b9b9c9fa2aaa8acaaa9a19e97928c847c736c665b544a42382e241a0f0500000000000000000000000000000000030f1b27323d464e555d606b707a818a92979f9b918b7f726d625a50483e362c1e140a0000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87949c9c9c9083776a5d50444f5c6976828f9c9c9c94877b6e6154483b2e211508000000000000000000000000000815212e3b4854616e7b87949c9c9c9083776a5d50444f5c6976828f9c9c9c94877b6e6154483b2e211508000000000000000000000000040f1b26313c46505a616c717c82898d90929291908d88827b706b60594f443b3020170d020000000000000000000000000000000000000000000000000007131e2a35404952575960606060606060605a58524a40362c21180d04000000000000000000000000000000000000000000000000000013202d394653606c7986939facacacacacacacacacacacacacac9f9386796c605346392d201300000000000000000000040c151d23282f383f44464c5254575a5c5e5f5f5f5e5e5c5a5754524c46443f382f28221c140b03000000000000000000000000000000000000071119222b333b424a50545c6064686d70737577787979797878767573706d6864605c55514b423c342c241b1209000000000000000000000000010c161f2834404b555d676d78808790949b9fa2a9a29e9c9b9a9a9b9d9fa3a9a19e9a948f877f776d675d554b40352920170d0200000000000000000c18232f39434b515353514b51535a616a6f7c86929fa7a3988e81756a5f53473b30251a0e01000000000000000000000000000000000000000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d20130000000000000b151e29323a444c545c60696e757b8084878b8d8f90919292929292908f8d8b8884807c766f6a605c544c443b32291e150b0000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000000000000060c101220202020202020202013100c07010000000000000000000000000000000000000000000000000000000000000000000000000008111b242d373f48505960686d757d83898f94989c9fa3aba7a8aaa8a7a7a7a7a8a9a9a7a5a8a09e9a97918c8580796f6b605b544a423830261c1108000000000000000000000000000000000007131f2c38434e5860676d747d858e939fa29b918b7f726d625a50483f362d241a0c020000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b878f8f8f8f8f83776a5d50444f5c6976828f8f8f8f8f877b6e6154483b2e211508000000000000000000000000000815212e3b4854616e7b878f8f8f8f8f83776a5d50444f5c6976828f8f8f8f8f877b6e6154483b2e211508000000000000000000000000000a15202a343e48505a616a6f767c808385868583807c756e6960594f473d32291f0e050000000000000000000000000000000000000000000000000000020d19242e3740474b4d53535353535353534d4c4740382f241a0f0600000000000000000000000000000000000000000000000000000013202d394653606c7986939f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9386796c605346392d20130000000000000000000000030b12181d262d33383b4146474a4d4f515253535251504d4a4746413b38332d261d17110a02000000000000000000000000000000000000060f19232b343d454d545b60666d71767a7d8082838585868685858382807d7a76716d67605c544e463e362d241b1108000000000000000000000008131e28313a45515c676d79828d92999fa6a39f9a97928f8e8d8e8e9092989b9fa3a69e99928c82796d675d51453f32291e1408000000000000000007121d27313940454747454045475058606a727f8c959faa9f93877c6f62574d42362a1d120700000000000000000000000000000000000000000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d2013000000000007121d27303a444c565d666d737b81878c9196979a9c9d9e9f9f9f9f9e9d9c9a9896918d88827c746d665e564c443b30271d120700000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000000000000000003061313131313131313130604000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d363f474f565e616b70787d82878b909299989a9c9d9e9f9f9f9e9e9d9c9b999696918d89857f7a736d676059504a42382f261e140a0000000000000000000000000000000000000915222e3b4854606a6f79818a91979ea39c918c7f726d625b51483f362d241b1208000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8283838383828074675a4e414d5a6673808283838383827a6e6154473b2e211408000000000000000000000000000814212e3b4754616e7a8283838383828074675a4e414d5a6673808283838383827a6e6154473b2e21140800000000000000000000000000030e18222c363e4850585f626b6f737778797876736f6a615e574f473d342b20170d0000000000000000000000000000000000000000000000000000000007121c252e353b3f404646464646464646413f3c362f261d12080000000000000000000000000000000000000000000000000000000013202d394653606c798693939393939393939393939393939393939386796c605346392d201300000000000000000000000000070b141c22282b3036393b3e414344454646454443403e3b3936302b28221c140b0600000000000000000000000000000000000000030c18212b353d464f575e666c71797e82868a8c8f90919292929291908e8c8a86837e79726d665f5850483f362d231a0e05000000000000000000010d19242f3a43505a606d79828f949fa3a7a099928e898583818181828386898e92999fa7a39f948f82796d605b51443b3025190e0200000000000000010b151f272f34383a3a3835393e464e58606c7883909da6a49a8e8175695e5246392f23180c0000000000000000000000000000000000000000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d201300000000000c18232e39434c565e686d7880868e93999da0a8aba39f9d9d9c9c9c9d9fa2aaa8a19e9a948f8780786d685e564c42392e23180c03000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b242d353d444c525960656c70767b7f8386898b8d8f9091929292929190908e8c8a8784807c79726d67605d554f443f382f261d140c020000000000000000000000000000000000000916232f3c4956626f7c848e9393939393918c7f726d625b51493f362d241b120900000000000000000000000000000000000000000000000000000000000000000714202d3946525e686e767676767676746e64584c404b58636e737676767676766e685e5246392d201407000000000000000000000000000714202d3946525e686e767676767676746e64584c404b58636e737676767676766e685e5246392d201407000000000000000000000000000006101a242c363e464e53596063676a6b6c6b6a66625f58534d453d352b22190e0500000000000000000000000000000000000000000000000000000000000a131c242a2f323339393939393939393433302b241d140b000000000000000000000000000000000000000000000000000000000013202d394653606c798686868686868686868686868686868686868686796c605346392d20130000000000000000000000000000020a11171c1f252a2d2e3134363838393938373634312e2d2a251f1c17110a0200000000000000000000000000000000000000000a151e2a333d474f5960696e787e848a8f9299999b9d9e9f9f9f9f9e9d9b9999928f8b857f796f6a615a50483f352b20170d02000000000000000004111d2935414c56616c74818e949ea6a69f959087817c79767474747577797d818790959ea5a69e948e81756d62564c41362a1e14080000000000000000030d151d23292c2d2d2c292c343d44505b666f7c89949eac9f92877b6e61554b4034291c10040000000000000000000000000000000000000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d20130000000004101c2834404b555e686d7a828c92999fa4a9a19e99999291908f8f90909298989da0a8a69e99928d837a6e685e544b40342820150a000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000010406070a0d10111213131211100d0a070604000000000305050606060606060000000000000000000000000000000000000000000000000000000000000000000000000000000000000109121b232b323a41464f535b6063696e7276797c7f8182848585868685848483817f7d7b7773706d66605d55514b433d332d261d140b02000000000000000000000000000000000000010e1b2734414e5a67748186868686868686867f736d635b51493f372d241b120900000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6169696969696967645c52473c47525c6366696969696969615e564c41362a1e11050000000000000000000000000005111e2a36414c565e6169696969696967645c52473c47525c6366696969696969615e564c41362a1e110500000000000000000000000000000008121a242c343c43474f54565a5d5f5f5e5d5a55534e46423b332b23191007000000000000000000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d2726241f19130b02000000000000000000000000000000000000000000000000000000000013202d3946535f6c767979797979797979797979797979797979797979766c5f5346392d201300000000000000000000000000000000060b0f14191e20212427292b2c2c2c2b2b29272421201e19140f0b0600000000000000000000000000000000000000000006111c26303c454f59606b6f7b828b91969c9fa3a9a19e9c9b9a9b9c9d9fa2aaa39f9c97928c847c716c625a50473d32291e130800000000000000000613202c3945525d68717e8a939da6a89f948f837c746f6c6668676768666d70757c838f939ea7a69e938b7f72685e52463b3025190d010000000000000000030b12181c1f20201f1d2228333f4a54606b75828f9ca8a3998d8073675c5145382c1f14090000000000000000000000000000000000000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a000000020d17202c3845515c676d7a838f949fa3aaa29f97918c898684838282838485888b91969ea1a9a39f9590837a6e665c51453c31261a0f020000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000001080d111314171a1d1e1f1f201f1e1c1a171413100c07010c0f11121313131313130909070300000000000000000000000000000000000000000000000000000000000000000000000000000000091019202830363d41495053575e6165676d6f7274757778787979787877767472706e696763605c54514c45403a3128221c140b0200000000000000000000000000000000000000010d1a2733404c58646e747979797979797979736d635b51493f372d251b120900000000000000000000000000000000000000000000000000000000000000000000010d1925303b444c52545c5c5c5c5c5c5a58524a4136404a52585a5c5c5c5c5c5c54524c443b3025190d0100000000000000000000000000010d1925303b444c52545c5c5c5c5c5c5a58524a4136404a52585a5c5c5c5c5c5c54524c443b3025190d010000000000000000000000000000000008121a222a31373d4348494d50525352504d4947433c36312921191107000000000000000000000000000000000000000000000000000000000000000000070d1316191a20202020202020201a1a17130e0801000000000000000000000000000000000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1200000000000000000000000000000000000003080d111414171a1c1e1f20201f1e1d1a171414110e080300000000000000000000000000000000000000000000000c17232e38424d57606b707d8590949ea1a8a29e9997918f8e8e8e8f909298999ea2a9a19e9691867e716c62594f443a3025190d0400000000000004111d2935414c55606d7a85929ea5aca0968f82796e6a62605b545a5b545c60636a6e78818f959faba59f92857a6e61564c41362a1e110500000000000000000001070c10131414131017222d38424f5963707d8995a0ab9e9285796d6053473b31261a0e000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f23160900000009141f2b37434e58606d798390959fa6a8a098928b85807c79777675757677797c7f848a92979fa7a79f959083786d60584e43372b1e13080000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292724201f1c18120e181c1e1f2020202020201615130f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000070e161e252a2f383f44464d5354555c60636567696a6b6c6c6c6b6b6a69686663615e575653504a45413a352f281f17110a020000000000000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c6c66635b51493f372d251b130900000000000000000000000000000000000000000000000000000000000000000000000008141e29323b4146475050505050504e4c4741382f3840474b4d5050505050504746413b32291e140800000000000000000000000000000008141e29323b4146475050505050504e4c4741382f3840474b4d5050505050504746413b32291e140800000000000000000000000000000000000008101820262b32383b3c404445464543403c3b37322a251f170f07000000000000000000000000000000000000000000000000000000000000000000000002070a0c0d13131313131313130e0d0b070300000000000000000000000000000000000000000000000000000000000000000f1b27333e49525a5f60606060606060606060606060606060606060605f5a52493e33271b0f0000000000000000000000000000000000000000010507080b0e10111213131211100d0b0807050200000000000000000000000000000000000000000000000003101c28343f4a545f69707d8692979fa6a49d97928c888583828181828385898c92979fa3a8a09892887e716b60564c41362a20150a0000000000000613202c3945515d6773808d97a1ada69e91847a6d675f5853504a4e4e4b5153585f666d79839099a3ada2978d8174685e5246392d201409000000000000000000000000040607070606111c262f3d4854606b7784919daba2978a7e7164574d42362a1b11060000000000000000000000000000000000000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c2014070000020e1925303a47535f6a73808d959fa7aaa09691867f79736f6d676a696969666d6f72787d8590959fa9a79f958d80736a5f53473a3025190d0100000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000060e141a1e24292c2d3033363738393939383634302d2c29231d1a24282b2c2d2d2d2d2d2d23221f1b160f07000000000000000000000000000000000000000000000000000000000000000000000000000000050c13191d262d33373b4246484b515356585a5c5d5e5f5f5f5f5e5d5d5b595754534d4946443f38352f29241d160d0600000000000000000000000000000000000000000000000814202b36414a53585a60606060606060605957514940372e251b130900000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393b43434343434341403c362f262e353b3f404343434343433b3936302920170d02000000000000000000000000000000020d1720293036393b43434343434341403c362f262e353b3f404343434343433b3936302920170d0200000000000000000000000000000000000000060e151b21272c2f30343738393837332f2e2b26201a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212c3740494f535353535353535353535353535353535353535353534f4940372c21160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c666e7b859298a2a9a49f928d857f7c78767574747576797c80858c9299a2aaa39a92877d70685e52463c32261b0f0200000000000714212d3a4754606d7a85929fa9aa9e94897d70685d554e46443f41414045464e545c676f7c87929faca99f92867a6e6154473c31261a0e0200000000000000000000000000000000000a141d2c38444f5965727f8c99a3a99c8f8276695f5346382d22170b000000000000000000000000000000000005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c1004000005111e2a36424d56626f7c87929fa7aea29891847c726d6763605c555c5c545c6062656c707a839097a1ada79f92877c6f62564c41362a1e110500000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000070f181f262a2f35393a3d404344454646454443403d3a38342f2a252f3437383939393939392f2e2c272119100700000000000000000000000000000000000000000000000000000000000000000000000000000002080b141b22272b31363a3b404547494c4e4f5152525353525151504e4c4a4846423d3a38342e29241e18130c04000000000000000000000000000000000000000000000000030f1a252f3841484c4e53535353535353534c4b4640372e251c1309010000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3636363636363433302b241d242a2f32333636363636362e2d2a251e170e050000000000000000000000000000000000050e171e252a2d2e3636363636363433302b241d242a2f32333636363636362e2d2a251e170e05000000000000000000000000000000000000000000040a0f161b1f2223272a2c2c2b2a2722211f1b150e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005080a0b13131313131313090806030000000000000005101b252e373e4346464646464646464646464646464646464646464646433e372e251b10050000000000000000000000030613131313131313130d0c0a07020000000000000000000000000003060809131313131313130b0b090501000000000000000004111d2935414c56606d78839097a2aaa49a938b807a736f6a6968676869666d6f737a80879298a2aba39992857a6d61584e43372b1e14080000000005111e2a36424d5765727f8b98a2aea99c8f82756b60564c433c38332d2e34383c424b555f6a74818e9ba8aea3988c7f7266574d42372b1e12050000000000000000000000000000000000020b1c27333d4754616d7a86929fac9f93877b6e6153493f33271b0f03000000000000000000000000000000000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b0000000714202d3a46525e6975828e99a3afa89f92867c6f6a605c5553514b4f4f4a5053535b60686e7a85919ea7afa3998e8175685e5246392d20130700000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000030b1218212a31363a4145474a4d505152525352514f4d4a4745403936313a4044454646464646463c3b38322b22190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f252a2d2f34383a3c3f4142444545464645454443413f3d3b3a36312d2c28231c19130d0701000000000000000000000000000000000000000000000000000008131d262f363c40414646464646464646403e3b352e251c130a0100000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e20212929292929292726241f1a13191f23262729292929292921201e19140d0500000000000000000000000000000000000000050d14191e20212929292929292726241f1a13191f23262729292929292921201e19140d05000000000000000000000000000000000000000000000000040a0f1315161a1d1f201f1d1a1615130f0a040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c11151718202020202020201615130f0a0400000000000009131c252c33373939393939393939393939393939393939393939393937332c251c130900000000000000000000060c101220202020202020201a1917130e0800000000000000000000040a0f13151620202020202020181715110c06000000000000000713202c3945525d68727f8c95a0a9a69f93887f746d68625f585b5b5b545c6063676d737d869299a4aba2978e81756a5f54473b3025190d010000000714202d3a46525e697683909daaada196897d7063594f433a312b282223282c3039434e58626f7c8895a0acaa9d908477695f53463a2d2114070000000000000000000000000000000000000b13202d3a4653606d7985929eaba49a8c8073655b5044372b1f1207000000000000000000000000000000000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a10050000000814212e3b4754616e7b87939fabaca0958a7e716a5f58514b47454042423f44464950565e68707d8a95a0acab9f92867a6d6154473a2e21140700000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000030c151c2328333b42464c5254575a5c5e5e5f5f5f5e5c5a5753514b46423b454c50525353535353534948433d342b21160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f141a1e2123292c2d303234363738393939383837363533302e2d2a25201f1c17110d080100000000000000000000000000000000000000000000000000000000010b141d252b303334393939393939393933322f2a231c130a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1114141d1d1d1d1d1d1b1a17140e080e1317191a1d1d1d1d1d1d1414110d080200000000000000000000000000000000000000000002080d1114141d1d1d1d1d1d1b1a17140e080e1317191a1d1d1d1d1d1d1414110d0802000000000000000000000000000000000000000000000000000000030709090d11121312100d090806030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000911171d2124252d2d2d2d2d2d2d22211f1b150e060000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000000000030a11171c1f2d2d2d2d2d2d2d2d2726231f19120a0200000000000000070f161b1f22232d2d2d2d2d2d2d2524211d1811090000000000000714212d3a4754606d7a85929fa7ab9f948c7f726d605d56534e4f4e4e4a5053555d606b707d87939faaa99e93887c6f62564c41362a1e11050000000814212e3b4754616e7b87959fabab9e9184786c6053463d31281f1c17181c1f27313c47535f6a7784919daaaca095887b6e6155483b2e221506000000000000000000000000000000000005111d2a36414c5664707d8a97a1adac9e9184786c605346392f24180c000000000000000000000000000000000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a1108000000000c1925323f4c5865727f8b99a4afaa9d9184786c60574e45403a38342f2e34383a3f444d56616b7783909daaafa3998b7e7265584b3f2f24180d01000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000b151e272e343f454d53565d606366696a6b6c6c6c6b696763605c55534d444f575c5f60606060606056544e463d32271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214181c1f20232527292a2b2c2c2c2c2b2a2a28262421211e1a1312100c060000000000000000000000000000000000000000000000000000000000000000020b131a202427272d2d2d2d2d2d2d2d2625231e19120a01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010507081010101010100e0d0b08030002070a0c0d1010101010100807050100000000000000000000000000000000000000000000000000010507081010101010100e0d0b08030002070a0c0d101010101010080705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b22292d3031393939393939392f2e2b26201810060000000000010910161b1e202020202020202020202020202020202020202020201e1b161009010000000000000000030c151c23282c393939393939393933322f2a241c140a00000000000007101920272b2e2f3939393939393932312e29221b12090000000006131f2b37434e5866727f8c97a2ada79c9083786c605b524c47434241413f44464c5159616b73808d98a2aea59b8f8275685e5246392d2014070000000b1824313e4b5764717e8a97a7b1a79a8e8174665b5044382b1f160f0b0c10151f2b37434e586773808d9aa6b1a7988b7e7165584b3e2d22170b00000000000000000000000000000000000713202d3946525e6875828f9ba9b3aca196897c6f63554b4035291d10040000000000000000000000000000000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c1610080000000004111d2935414c556975828f9cabb2a9988b7e72655b50453c342e2c292323282b2d333b444f5965727e8b98a9b3ab9b8f827568554b4035291d1004000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000007121c273039404451575f61686d7073767778797978777673706d67615e57505761686b6c6c6c6c6c6c6260584e43382c1f13070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205070c10131416191b1c1e1f1f20201f1e1e1d1b19171514120e090603000000000000000000000000000000000000000000000000000000000000000000000001080f14181a1b2020202020202020191916120d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090f1112131313110f0c070705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b242d34393d3e464646464646463c3b37322a22180e04000000000000050a0f1213131313131313131313131313131313131313131313120f0a05000000000000000000000a151e262e34384646464646464646403f3b362e261c120800000000040f19222b32383b3c464646464646463e3d3a342d241b11060000000815222e3b4754606a7784919ea9aca095897d70655b5045413a3732342e34383a41454f59606d7a85929fabac9f92867a6e6154473b2e23180c0000010e1b2834414e5b6774818e9aa7b4aa978a7e7164544a3f3328190d040000040d1b26323d4a5764707d8a97aab4a79b8e81746853493f33271b0f03000000000000000000000000000000000714212e3a4754616d7a86929facb9b2a89a8e8174675d5145382c1f14080000000000000000000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b0500000000000613202c3945515d677885929eabada196887b6e6153493f3328231f1c18171c1f2227323e4855626e7b8897a2adab9e918578675d5145392c201306000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000c18232e39424a515b63696e747a7d808384858586858482807d79746e69605b536873787979797979796f6a6054483b2e22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040607090c0e0f1112121313121211100e0c0a080705020000000000000000000000000000000000000000000000000000000000000000000000000000000003080b0d0e13131313131313130d0c0a0602000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708121313131313130a090704000000000000000000000000000000000000000000000000000000060b0e1011131313131313131313131313131313130b0a080400000000000000000000000000030a0f1215151c1e1f1f201f1e1c181413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222d363e45494b535353535353534947433c342a20150a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f4453535353535353534d4b4740382e24190e020000000a16202b343d434749535353535353534b4a453f362d22180c0100000916222f3c4955626f7c8896a0acaa9d9084776b6053493f35302b262823282c2f353e45525d6874818d9aaaafa3998b7f7265544b4034281c10040005111e2a36414c566a7683909da9aea298887b6e6155483b2d221708000000000a15212e3b4854616e7b8798a2aeaa9d908377655b5044372b1f120500000000000000000000000000000006131f2b37434e5865727f8c99a3aeb7b8ab9f9285796d6053473b3025190e0200000000000000000000000000000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a000000000000000714212d3a4754606d7a8797a1adab9e918578695f5341382d211813100c0b101217202d394653606c7985929fabada196867a6d6053473a2d201407000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000004101c2834404a545c606d727b81868a8d8f9191929292918f8d8a85807b726c655c6b78858686868686867c6f6256493c2f2316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151f202020202020171614100b050000000000000000000000000000000000000000000000040b12171b1d1e20202020202020202020202020202020171714110c0500000000000000000000060e151b1f2122282a2b2c2c2c2b292521201d19130d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343e485056586060606060606055534e463c32261b0f0300000000000000000000000000000000000307090a0e111213131211100e0b090706030000000000000000000c17232e38424a505f606060606060605a58524a40362a1f13070000030f1b27323d464e545660606060606060585650483f34291d110500000d192633404c5966737f8c99a8b2ab998c807366594f41382d241e1b1b171c1f242935414c5663707c8998a2aeab9c8f8276665c5145382c1f1306000713202d3946525e687885929fabac9f9285796c605346392d201306000000000714212d3a46535e697985929facac9f9285796c605346392d2013060000000000000000000000000000000815222e3b4754606a7783909dabacababaea2988a7e7164564c41362a1e110500000000000000000000000000000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a000000000000000915222f3c4855626f7b8895a9b3a99c8f827669574d422f261b0f070400000306121f2b3744505b657683909da9b2a995887b6e6255483b2f221508000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000030e18212c3844515c666d757f878d9298999c9d9e9f9f9f9e9c9a98928d867f776d666679869293939393887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c08030000000000000000000000000000030608090f1112131313110f0c0707050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313120807050200000000000000000000060d141a1e21222c2d2d2d2d2d2c2423201c161008000000000000000000000000000000000000000000050e161d23272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c171008000000000000000006101820262b2e2f3537383939393835322e2d2a251e19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212d3945505a62646c6c6c6c6c6c6c625f584e43372b1f1306000000000000000000000000000000040b101316161a1d1f201f1e1e1d1a18151312100b0600000000000003101c28343f4a545c6c6c6c6c6c6c6c6c66635c52473b2f23170a000006131f2b38434e5860626c6c6c6c6c6c6c65625a50453a2e2115090005111d2935414c566976828f9ca9afa399897c6f6356493d2f261b130f0a0c101319242f3a4653606d7985929facac9f9285796d6053463a2d201307000714212e3a4754616d7a8798a2aeaa9d918477665b5044382b1f12060000000005121e2a36424d576a7784919daaaea298877a6e6154473b2e211408000000000000000000000000000004101c2834404b55626f7c8895a0a8a19e9fa2aa9c8f8275685e5246392d20150a00000000000000000000000000000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a000000000000000916232f3c4956626f7c8995a2afa89b8e8275685b4f423128140a0000000000030f1b27333f49536976828f9ca9afa295897c6f6256493c2f231609000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000915202c38434f59606d78818c92999fa2aaa9a8aaa29f9e9e9e9fa29f98928c81786d6d798699a39f9f94877a6e6154473b2e2114080000000000000000000000000000000000000000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f090100000000000000000000030a0f1215151c1e1f1f201f1e1c181413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020201f1514120e090300000000000000060f181f262a2d2e38393939393939302f2c28211a110800000000000000000000000000000000000000040e1720282e3336373939393939393939393939393939393931302d28221a1208000000000000030e18222a31373a3c42444546464644423f3a39363029241e160e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4956626c7179797979797979766a5f53473b2e2115080000000000000000000000000002090e161b202223272a2c2c2c2b2a29272522201f1c17110a020000000006121f2c3844505c667679797979797979736e63584b3f3226190c00000815222e3b4754606a6f79797979797979716c62564a3d3124170b000713202d3946525e687885929eabac9f92867a6d6053473a2d20140a0200000308131f2c3844505c667683909ca9aea298887c6f6255493c2f221609000915222f3c4855626f7b8895aab4a99c8f837669544a3f33281c0f0300000000020e1a2531434f5c6976828f9ca9b4aa95887b6f6255483c2f221509000000000000000000000000000006131f2c3845515c6774808d9aa7a196919298a29f92867a6e6154473c31261b0f000000000000000000000000000006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a00000000000000091623303c4956636f7c8996a2afa79a8d8174675a4e4134271b080000000000000b17222d424e5b6875818e9ba8afa296897c6f6356493c30231609000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000020e1a26313b4854606b74808d939fa3ababa49f9b979892919192939a989d9f938f82786d7a8794abb4a094877a6d6154473a2e211407000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b030000000000000000060e151b1f2122282a2b2c2c2c2b292521201d19130d0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810161c2023242c2d2d2d2d2d2c22211e1a140d060000000000030d18212931363a3b454646464646463d3c38332c231a10070000000000000000000000000000000000000b16202932393f4344464646464646464646464646464646463e3c39332c241a100500000000000a15202a343c4347484f5152525352514f4b4746413a3530282019110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e868686868686867c6f6255493c2f221609000000000000000000000000050d141a21272c2f30343738393938373634312f2d2b28231c140c020000000713202d3a4653606d78868686868686868073665a4d4033271a0d00000916232f3c4956626f7c868686868686867e7165584b3e3225180b000714212e3a4754616d7a8797a1adaa9e918477675d5145382c1f13020000000003101c28343f4a546774818e9aa7b4aa978b7e7164584b3e3125180b000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422d22170b000000000000091c2835424f5b6875828e9ba8b0a396897d7063564a3d3023170a00000000000000000000000000000713202d3a4653606d7985929fab9e918485929fa3998c7f7265584e43372b1c11060000000000000000000000000004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a000000000000000815222f3b4855626e7b8895aab4a79a8e8174675b4e412f24190d010000000000061b2835424e5b6875818e9ba8b4aa95887b6f6255483c2f221509000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000006121e2b37424e57636f7c87939fa5afa9a199938f8a878584848586888c90959e948d80747b8794a1ada093877a6d6054473a2d2114070000000000000000000000000000000000000000000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b0100000000000006101820262b2e2f3537383939393835322e2d2a251e19130c04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21282c2f30393939393939382e2d2a261f180f060000000009141f29333b424648525353535353534a48443e352c22190f060000000000000000000000000000000006121d28323b444b4f51535353535353535353535353535353534a49453e362c22170c00000000030f1b26313c464e53555b5d5e5f5f5f5e5c5854524c46413a322b231a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b9393939393887c6f6255493c2f2216090000000000000000000000060f171f252a32383b3d4144454646454443413e3c3a38342e261e140a0000000713202d3a4653606d798693939393938d8073665a4d4033271a0d00000916232f3c4956626f7c8993939393938b7e7165584b3e3225180b000915222f3c4855626f7c8895a9b3a99c8f837669554b4035291d100400000000000c17232e3f4c5966727f8c99a5b2a6998c807366594d4033261a0d000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b060000000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a0000000000000000000000000005111e2a36424d5764717e8a97a2a99a8d80818e9baa9d9083776a5f5347382e23170b00000000000000000000000000000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a000000000000000814212e3b4754616e7a8798a2aea89b8f827568564c4135291d11070400010407101d2935404b556976828f9ca9aea398877a6e6154473b2e211408000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000814212e3a47535f6a76828f9aa4afaba1979287827d7a79787778797b7f838a9196928a7e7b8895a1ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d13090000000000030e18222a31373a3c42444546464644423f3a39363029241e160e0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a232c33383c3d464646464646453b3a36312921180d030000020e1a26313b454d53555f60606060605f57554f473e342b21180d040000000000000000000000000000000b17232e39444d565b5e60606060606060606060606060606060575550483e33281c110400000006121f2b37434e585f62686a6b6c6c6c6b6865615e56524c443d352c241a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b979f9f9f95887c6f6255493c2f22160900000000000000000000060f18212930363d4448494d505253525151504d4b4846443f3830261c110600000713202d3a4653606d7986939f9f9f998d8073665a4d4033271a0d00000916232f3c4956626f7c89959f9f9f988b7e7165584b3e3225180b000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422f24180c000000000000061825323e4b5865717e8b98a4b1a79a8e8174675b4e4134281b0e000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b000000000000000000000000000714202d3a46525e6976828f9ca9a297897d7d8a98a2a095887c6f62544a3f34281c1003000000000000000000000000000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a000000000000000613202d394653606c7985929faba99d908376685d5245392c221813100c0d101318202c3945515d677783909daaac9f9286796d6053463a2d201307000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000815222f3b4855626e7b88949facaea39992857d75716e686b6b666d6e72767d84909492857d8996a3aca09386796d6053463a2d20130700000000000000000000000000000000000000000000030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f03000000000a15202a343c4347484f5152525352514f4b4746413a3530282019110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f19222c353e44484a535353535353524846423b33291f1409000005121e2a36424d575f616b6c6c6c6c6c6c6361594f463d332a1f160b0200000000000000000000000000000e1b27333f4b565f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d2114080000000815212e3a47535f6a6f7577787979797775726d68615d564f473e362c231a100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4aca295887c6f6255493c2f221609000000000000000000020c18212a333b42464f54565a5d5f5f5f5e5d5c5a585553504a42382e23170b00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2aca4988b7e7165584b3e3225180b000b1724313e4a5764717d8a97a4b0a79a8e8174675b4e4134281b070000000000000b1724313e4a5764717d8a97a4b0a89c8f8275695c4f4236291c0f000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e0100000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000814212e3b4754616e7b87939fab9e9285797985929fa79a8d8073665c5044382b1f13070000000000000000000000000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a0000000000000006121f2b3844505b6676828f9cabac9f92867a6d6054473e3429241f1c18181d202328323b4753606d7a86929faca99c908376665c5144382c1f1206000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000d192633404c5966737f8c99a6b0ac9f92877c6f6b64615e56545c6062656c707a8290949083909daaaca09386796d6053463a2d201307000000000000000000000000000000000000000000000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b201408000000030f1b26313c464e53555b5d5e5f5f5f5e5c5854524c46413a322b231a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18212b343e474f55575f60606060605f55534d453b31261a0e02000714212d3a46535f696e78797979797979706b61584e453b31281d140a0000000000000000000000000000101d2a36434f5b67717779797979797979797979797979797979716c6155493c3023170a0000000915222f3c4855626f7c81848585868584827e7a746d68605950483e352c22180d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4afa295887c6f6255493c2f2216090000000000000000000a141e2a333b454d52596063676a6b6c6c6b6a69676462605c544a3f34281c1003000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000b1824313e4b5764717e8a97a4b1a79a8d8074675a4d4134271a0e0100000000000a1724313d4a5764707d8a97a3b0a99c8f8376695c504336291d10000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b00000000000000000000000007131f2c38434f5966727f8c99a4aa9b8e817475818e9baa9e9184796d6053463a2f24180d01000000000000000000000000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a00000000000000030f1c28333f4a5466727f8c99a3aea3998a7d71645a50463d352f2c292324292c2e343b444f5963707d8a99a3aea6998d807366544a4034281c1004000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000005111e2a36424d576976838f9ca9b1a79a8d80736a605954524c4a5053555a61676d798290959095a0abaca09386796d6053463a2d201307000000000000000000000000000000000000000000000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c00000006121f2b37434e585f62686a6b6c6c6c6b6865615e56524c443d352c241a1108000000000000000000000000000000000000000000000000000000000000000000000000000000020b16202a333d474f5961636c6c6c6c6c6c6b615f574d42362a1e1205000815222e3b4855616e7b858686868686867d706a60574d433a2f261b110600000000000000000000000000111e2b3744515e6a7784868686868686868686868686868686867e7164574a3e3124170b0000000a1724313d4a5764707d8a9091929292918f8b86807a706b615a50473e342a1f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000000000000000006111c26303b454d575e616b70747778797978777674716f6d665c5044382b1f1206000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000b1824313e4b5764717e8a97a4b1a79a8d8074675a4d4134271a0e0100000000000a1724313d4a5764707d8a97a3b0a99d9083766a5d5043372a1d10000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b0e0100000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a0000000000000000000000000915222f3b4854606b7784919eaba2988a7d70707d8a98a2a197897d7063554b4135291d11040000000000000000000000000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a00000000000000000b17222d3b4754616e7b86929faaab9d9083766c61584e45403a38342f2f35393a40454d56606b75828f9babab9f94887b6f6255483c2e23180c00000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000714202d3a46525e697885929fabaca095877b6e61584f4746413f44464850555d676e7b85929da0a7b1aca09386796d6053463a2d201307000000000000000000000000000000000000000000000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e0000000815212e3a47535f6a6f7577787979797775726d68615d564f473e362c231a100600000000000000000000000000000000000000000000000000000000000000000000000000000a141d28323c454f59616b70797979797979786e695f53463a2d211407000714212d3a46535f696f7c86929a939992867d6f695f554c41382d22170d04000000000000000000000000111e2b3744515e6a77849193939393939393939393939393938a7e7164574a3e3124170b0000000a1724313d4a5764707d8a979e9f9f9f9e9b98928d847d716c61594f463c31271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4afa295887c6f6255493c2f22160900000000000000000b17232e38424d575f696e767c8083858685848483807e7c786d6053463a2d201307000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b070000000000000b1724313e4a5764717d8a97a4b0a99d9083766a5d5043372a1d10000a1723303d4a5663707d8996a3b0a89b8e8175685b4e4235281b090000000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a000000000000000000000004101d2935404b55636f7c8996a0ab9f9285796d6d7985929fa99b8e8175675d5145392c20140900000000000000000000000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a00000000000000000614202d3946525e6874818e98a2ab9f958a7e716a6058514b47454042434045474b51575f696f7c89939eaaa4998f82766a5f53473a2e1c120700000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000814212e3b4754616e7b8798a2aeaa9d908377695e53463d393634383a3e434c555e69717e8b97a1adb9aca09386796d6053463a2d201307000000000000000000000000000000000000000000000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e0000000915222f3c4855626f7c81848585868584827e7a746d68605950483e352c22180d0300000000000000000000000000000000000000000000000000000000000000000000000006111c262f3a444d57606b707d868686868686857b6e6155483b2e2215080005121e2a36424d57606a707e88939fa29892857b6e675d53493f33271f160c010000000000000000000000111e2b3744515e6a7784919d9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b0000000a1724313d4a5764707d8a979e9ea2a9a9aaa39f9691877e716b61584e43392f23180c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000204050606060504020b1825313e4b5864717e8b97a4afa295887c6f6255493c2f2216090000000000000003101c28343f4a545f696e7b82898d9092929291908f8d8b887e7164584b3e3125180b000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e422e23180c0000000000000b1825313e4b5864717e8b97a4b1a99c8f8376695c504336291d10000916222f3c4955626f7c8895aab4a99c8f8276695c4f4330251a0e0200000000030f1c2936424f5c6975828f9ca8b5ab95897c6f6256493c2f23160900000000000000000000000613202c3945515d6774818e9aa8aa9b8e8175676775818e9baa9f92867a6d6054473b31251a0e020000000000000000000000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a000000000000000005111e2a36414d56616e7b85929fa4a79f92867c6f6a605d5553514b4f4f4b5153545c60696e7b84919ea6a69f93877c6f63584e43372b1f0b0000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000091623303c4956636f7c8996aab4a79a8e817467574d42342d2a282b2d313a434d57606d7985929eabb8aca09386796d6053463a2d201307000000000000000000000000000000000000000000000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c302316090000000a1724313d4a5764707d8a9091929292918f8b86807a706b615a50473e342a1f150b0100000000000000000000000000000000000000000000000000000000000000000000040d17222d38424c565f696f7d869299939a92867c6f695f53463a2d21140700020e1a26313b454e58616c73808c949ea1979183796d655b50443d31281d13070000000000000000000000111e2b3744515e6a7784919daab0a69e9b98989898989898978a7d7164574a3e3124170b0000000a1724313d4a5764707d8a92919297979c9fa6a9a19992877d706a5f554b4034291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000020608080c0f111213131312110f0c1825313e4b5864717e8b97a4afa295887c6f6255493c2f2216090000000000000006121f2b3844505c666e7b848f949a9d9e9f9f9e9d9c9a978b7e7164584b3e3125180b000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000916222f3c4955626f7c8895a9b3a99c8f827669544a4034281c100400000000000c1926333f4c5966727f8c99a5b2a89c8f8275695c4f4236291c0f000814212e3b4754616e7b8798a3aeaa9d9084776a574d42362a1e12050000000005111d2935414c566a7783909daaafa399877b6e6154483b2e21150800000000000000000000000714202d3a4753606d7a85929faca3988a7d716464707d8a98a2a2988b7e7165574d42362a1e120500000000000000000000000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a0000000000000000020e1925303b46535e69717e8b929da4a29891847c726d6763605c555c5c555d6063666d727b839096a1a69f948d80736b6054463c31261a0f0000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f31261e1c1f2028313b45515c6673808d99aab4aca09386796d6053463a2d201307000000000000000000000000000000000000000000000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f2215090000000a1724313d4a5764707d8a979e9f9f9f9e9b98928d847d716c61594f463c31271d1207000000000000000000000000000000000000000000000000000000000000000000010c161f28333f4a545d686e7b859298a29f93887e706a60574d42362a1e1205000009141f29333d46505a606c77828f96a1a0958f82776c60594f433a2f24180c0300000000000000000000111e2b3744515e6a7784919daaaa9e938f8b8b8b8b8b8b8b8b8a7d7164574a3e3124170b0000000a1724313d4a5764707d87858585868a8f949fa2aaa39992867c6f675c51453b31261a0e0300000000000000000000000000000000000000000000000000000000000000000000000003090e121415191b1d1f1f201f1f1d1b191825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000000000000000713202d3a4653606d788390969fa6aaababa5a1a0a0a1978b7e7164584b3e3125180b000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000814212e3b4754616e7a8797a2adaa9d918477665c5144382c1f120600000000000e1b2734414e5a6774818d9aa7b4a89b8e8175685b4e4235281b0f000713202d3a4653606d7986929facab9f928578695e52463a2d201407000000000713202d3946525d687885929eabac9f9286796d6053463a2d2013070000000000000000000005121e2a36424d5764717e8b98a2ac9f92867a6d60606d7985929faa9c8f8376695e53463a2d21160a0000000000000000000000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a00000000000000000008141f2a36424d57626c74808d929fa2a19691877f79736f6d676969696a676d6f73797f869095a0a49f949082796d60594f43342a20150a0000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1824313e4b5764717e8a97a4b0a4978a7d7164574a3e3124171012161f2834404b54626f7c8998a3aeaca09386796d6053463a2d2013070000000000000000000000000000000000000000000007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f13070000000a1724313d4a5764707d8a979e9ea2a9a9aaa39f9691877e716b61584e43392f23180c03000000000000000000000000000000000000000000000000000000000000000008131e28313a44505b666d7a849197a29e948c80736c61584e453b31261a0e020000030d18212b343e44505b656d7a849199a49e948c7f726b60554b4135291e150b00000000000000000000111e2b3744515e6a7784919daaa89b8f817f7f7f7f7f7f7f7f7f7b6e6155483b2e2215080000000714202d3a4753606d79797878787a7d828a9298a1a9a2989083796d60574d42362a20150a00000000000000000000000000000000000000000000000000000000000000000000060b0f151a1e212225282a2c2c2d2c2b2a28262225313e4b5864717e8b97a4afa295887c6f6255493c2f22160900000000000004101c2834404b5564717e8a959fa8b0a9a19e9894939394968b7e7164584b3e3125180b000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000714202d3946525e687885929fabac9f9286796d6053463a2d20130a0400000006121f2b37434e586976828f9ca9b4a79a8e8174675b4e4134281b0e0006121f2b3844505c667784909daaaea298877b6e6154483b2e21150a000000000714212e3a4754616d7a8797a1adaa9e918477665c5145382c1f1306000000000000000000000714212d3a46535f6976838f9caaaa9b8f8275675d5d6775828e9baa9f93877b6e6154483d32271b0f0000000000000000000000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a000000000000000000020e1a25313b45505a646e74808b92989fa199928c85807c797776757676777a7c80858b9298a09f9a938d82796d675d51473d3222180e030000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825313e4b5864717e8b97a4b0a396897d7063564a3d3023170a060d18232e3a4653606d7986929facaca09386796d6053463a2d20130700000000000000000000000000000000000000000000030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f030000000a1724313d4a5764707d8a92919297979c9fa6a9a19992877d706a5f554b4034291f140900000000000000000000000000000000000000000000000000000000000000030d19242f3a434f59606c78828f96a0a1968f82776c605a50463d33291f140900000000060f192227333f49535e68707d87939fa69f92877d6f675d51453d30271d1207000000000000000000111e2b3744515e6a7784919daaa5998c7f7272727272727272726e695f53463a2d21140700000006131f2c3845515c676d6d676b676d70767e869297a1aaa0958c8073695f53463c31261a0f0300000000000000000000000000000000000000000000000000000000000000020a11171b1f262b2e2f32353738393939383735322f2e313e4b5864717e8b97a4afa295887c6f6255493c2f22160900000000000006131f2c3845515c6776828f9ca7b1aaa197928b88868687898b7e7164584b3e3125180b000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0005111e2a36414c56697683909ca9aea399897c6f6256493d32271b13100c090e1117212e3a47535f6a7885929eabb3a6998d8073665a4d4033271a0d0003101c28343f4a546875818e9ba8b3aa978a7d7064574a3d32271b0d04000001081623303d495663707c8996a9b3a89c8f827569544b4034281c1004000000000000000000030f1c28333f4a54616e7b87939faca2988a7e7164555564717e8a98a3a49a8c7f7366584e43372b1d1207000000000000000000000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a0000000000000000000009141f29333f48525c646e747e868e92999c9f97928d898684838282838486898d92979f9c99948f8780796d675d554b40342b211006000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa296897c6f6356493c302316090007131f2c3845515c667683909da9aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a000000000a1724313d4a5764707d87858585868a8f949fa2aaa39992867c6f675c51453b31261a0e030000000000000000000000000000000000000000000000000000000000010b151f2935414c56606b737f8c949ea49991847a6d655b50483e342b21180d030000000000071017222d38414c56606b74808d96a0a3999184796d60594f42392e23180c020000000000000000111e2b3744515e6a7784919daaa5998c7f726665656565656565615f574d42362a1e120500000004101c2934404b555c60605c555d60646c717c859298a3a79f92867b6e61584e43372b1f1409000000000000000000000000000000000000000000000000000000000000060b141b22272b31373a3b3f4244454646464544423f3b3a373e4b5864717e8b97a4afa295887c6f6255493c2f2216090000000000000713202d3a4653606d7986929facaea39892857f7b79797b7c7f7c6f6256493c2f231609000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00010d192530404d5a6673808d99a9b2ab998c7f7266584e43372b251f1c181b1a1b2228343f4a54626f7c8897a2adb1a4978b7e7164584b3e3125180b00000b17232e3f4b5865727e8b98a8b2a69a8d807367584e43372b1f15100c090e131e2a36414c5666727f8c99a5b3aa998c7f7366594c402e23180c0000000000000000000006121f2b3844505b6673808c9aa4ac9f92867a6d605454606d7a86929fac9d9184776a605447392e23180c00000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a00000000000000000000030d17212d36414a525c646c717b81868c8f92979e99999291908f8f90919299999e9892908c88827d746d675d554b43392f22190f00000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090004101c2834404b546875828f9ba8aca09386796d6053463a2d201307000000000000000000000000000000000000000000000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f04000000000714202d3a4753606d79797878787a7d828a9298a1a9a2989083796d60574d42362a20150a000000000000000000000000000000000000000000000000000000000007121d27313945525d68707d87939fa69f93877d6f685e53493f362c22190f060000000000000006111b262f3a444f59606d7984919ea5a0968e81746b60544b4034281e13080000000000000000111e2b3744515e6a7784919daaa5998c7f72665958585858585855534d453b31261a0e02000000000c18232f39434b515353514b51535a616a6f7c86929fa7a3988e81756a5f53473b30251a0e0100000000000000000000000000000000000000000000000000000000080f181d262d33373c4247484c4e505252535252504e4c4847433e4b5864717e8b97a4afa295887c6f6255493c2f2216090000000000000916232f3c4956626f7c8999a3aeac9f92867c726e6d6d6e70726f6a6054473b2e221508000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000081623303c4956636f7c8997a1adaa9d9083776a6054473f36302c282328252a2d333c44505c6673808c99a9b3b3a996897c6f6356493c3023160900000615222f3c4855626f7b8896a0acaa9d9184776a6054473c31271f1c181b1a1e242d3946525e6876838f9ca9aea298897c706356493d30231607000000000000000000000613202d394653606c7884919eaca99b8e8175675d51515d6775828f9caba096897c6f62544b4034281c100400000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a0000000000000000000000050f1b242f38414a525a62696e747b7f8285929faba39f9d9c9c9c9d9d9fa3ab9f928682807b766f6b605d554b433a31271d100700000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000c18232e414e5b6874818e9ba7aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f241907000000000006131f2c3845515c676d6d676b676d70767e869297a1aaa0958c8073695f53463c31261a0f03000000000000000000000000000000000000000000000000000000000c18232f39434f59606d7a849199a4a0968d80736b60564c41382d231a10070000000000000000000a141d28323d45515d67707d89939ea89d93897d70665c51453a3025190d0200000000000000111e2b3744515e6a7784919daaa5998c7f7266594c4c4c4c4c4c4846423b332a1f1409000000000007121d27313940454747454045475058606a727f8c959faa9f93877c6f62574d42362a1d120700000000000000000000000000000000000000000000000000000008111a212a2f383f44464d5355585b5d5f5f605f5e5d5b5955534e464b5864717e8b97a4afa295887c6f6255493c2f2216090000000000000a1724313d4a5764707d8a97abb5a79a8e81746a6160606163656260584e43372b1f1306000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000713202d3a4653606d7984919eaaab9f95897c6f625b5146413a38342e343136383f444d57606d7984919eabb7ada297877a6d6154473a2e21140700000815212e3a47535f6a7784919eabaca095887c6f62584e4339312c282327262b2f35414c56616d7a86929facab9f9285796d6053463a2d20130700000000000000000004111d2935414c5663707d8996a1aca1978a7d7063554b4b5564717e8b99a3a89a8d8174665c5145382c1f13080000000000000000000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f231609000000000000000000000000091217232e38424a535b606a6f767c8084919eaaa7a4a2a1a0a0a1a2a4a7a99c8f837f7b756e6a625b514b433a31281f150b0000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090000071a2734404d5a6773808d9aa6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e1308000000000004101c2934404b555c60605c555d60646c717c859298a3a79f92867b6e61584e43372b1f140900000000000000000000000000000000000000000000000000000004101c2934404b55606b74818e96a1a59d9184796d60594f443a2f261b110800000000000000000000020b16202935404b55606b75818e98a2a59d9184796d60564c41362a1f140800000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3f3f3f3f3b3a36312a21180e030000000000010b151f272f34383a3a3835393e464e58606c7883909da6a49a8e8175695e5246392f23180c000000000000000000000000000000000000000000000000000008111a232c333c41495053575f6265686a6b6c6c6c6b6a6865625f5853505864717e8b97a4afa295887c6f6255493c2f2216090000000000000b1825313e4b5864717e8b97a4b1a4978a7e716458535354565856544e463d32271b0f03000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000006121f2b3844505c6673808d98a2aea79c8f82766d625b524c46454041414242464950575f69727e8b96a1adb8ab9e928578685e5246392d201307000006121f2b37434e586673808d99a3afa89b8e81756a5f554b433c38342e3431373a4145525d68737f8c99a3afa79b8e8175675c5145382c1f13060000000000000000000613202c3945525d6875818e9ba8ab9e9285796d6053464754616d7a86929fab9e9285796d6053463a3025190d010000000000000000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f2215080000000000000000000000020c162028343f4a545c656c737c82888c9196a09f9a97959493939495979a9e9f948f8b86817b726d645d534a40352c1f150b0100000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c010000000000000c18232f39434b515353514b51535a616a6f7c86929fa7a3988e81756a5f53473b30251a0e0100000000000000000000000000000000000000000000000000020d17212c3845515c67707d89939da89e93897d6f675c51473d32281d140a000000000000000000000000050e18242f39434f59616e7b86929fa9a0968c7f72685e52463b3025190e01000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f333232322e2d2a261f180f0600000000000000030d151d23292c2d2d2c292c343d44505b666f7c89949eac9f92877b6e61554b4034291c1004000000000000000000000000000000000000000000000000060f1a232c353e454d535b6064696e72757778797979787775726e6a64605c5464717e8b97a4afa295887c6f6255493c2f2216090000000000000c1825323f4b5865727e8b98a5afa295897c6f6256494648494c4947433d342b20150a00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000003101c28343f4a54616e7b86929fa8ab9f948b7f726d615e5653514b4e4e4f4d53535b60696e7b85929fa8b2b5a89c8f827569564c4135291d11050000030f1a26313c4854616e7b87929faaac9f92877c6f675d554e46454041414142474c515b606d7a85929eabaca095897d7063554b4034281c10040000000000000000000714212d3a4754606d7a86929faca89a8d8174665c514446525d6876828f9caba2978a7d7064564c4135291d11050000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d211407000000000000000000000008131e28323a44505c666d777f878f94999e9f97928e8b8887868687888b8d92979e9c99928e867f746f645c52473e31271d120700000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c2013040000000000000007121d27313940454747454045475058606a727f8c959faa9f93877c6f62574d42362a1d12070000000000000000000000000000000000000000000000000009141f2a36414c56606d7984919ea5a2988e81756b60554b40352b20160b020000000000000000000000000007121d27313d46525e6973808d97a2a89f92857a6d61564d41362a1e1308000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326252522211e1a140e06000000000000000000030b12181c1f20201f1d2228333f4a54606b75828f9ca8a3998d8073675c5145382c1f14090000000000000000000000000000000000000000000000030e18212c353e474f575f656c71767b7f8183858586858583817f7b77716d665f64717e8b97a4afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea195887b6e6255483b3b3d3f3c3b37322b22190f0400000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000b17232e3846525e6973808d96a0aaa69f93877f746d6863605c545b5b5c575e61656c717b849198a2aebab3a9988c7f7265594c3f3025190d010000000a15212d3a46535e6975818e98a3aea3999083796d675f5853514b4e4e4e4d53555d606d74818e97a1ada69d9083776b605443392e23180c00000000000000000006121f2b37434e5865727e8b98a2aca096897c6f63544a40414c5665727e8b99a4a99b8f8275685e5246392d2015090000000000000000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c20130600000000000000000000010d1924303a44505a606d78818c93999fa098928c85817e7b7a797a7a7b7e81858b92979f9f99928b81746e63594f43392f24180c00000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d110400000000000000010b151f272f34383a3a3835393e464e58606c7883909da6a49a8e8175695e5246392f23180c000000000000000000000000000000000000000000000000020e1a25303946525e68737f8c96a0a99f92867a6e61594f43392f23190e040000000000000000000000000000010b151f2a36424d57606d7a85929eaaa2978d8074685e52463a2f24190d010000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f332619191514120e0903000000000000000000000001070c10131414131017222d38424f5963707d8995a0ab9e9285796d6053473b31261a0e000000000000000000000000000000000000000000000009141f2a333e474f5961696e787e83888b8e909292939291908e8c88847e786e6a64717e8b97a4afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e30322f2e2b27201910070000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000006111c2a36424d56606d79849198a2aba499938b807a736f6d666968676869696e71787e859196a1aab3b9ada297887c6f6255493c2f2216080000000005121e2a36424d57616e7b86929fa6aba0958f82796f6a63605c555b5a5b575f62676d747f8c939ea9a99f948a7d7064594f4430271d12070000000000000000000814212e3a47535f6a7683909daaaa9e9184776b605442393b4754616e7b86939fac9f92867a6d6154473c31261a0e0000000000000000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d11040000000000000000000004111d2935414c56616c74808d939fa4a09591867f7a74716f6e6d6d6e6f7174797e8590959fa39f938d80736b61554b4035291d1004000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d010000000000000000030d151d23292c2d2d2c292c343d44505b666f7c89949eac9f92877b6e61554b4034291c1004000000000000000000000000000000000000000000000005121e2a36424d57616e7a86929fa8a1978c8073685e52473d31271d110700000000000000000000000000000000030d1a25303b45525d6873808c98a2a99f92867b6e61554c4135291d11040000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0807050200000000000000000000000000000000040607070606111c262f3d4854606b7784919daba2978a7e7164574d42362a1b1106000000000000000000000000000000000000000000020b1a26313b454f59616b707b838a9095989b9d9e9f9f9f9e9d9b9895908b837c6f6b717e8a97a4afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e232523221f1b150f07000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000e1925303b45515d676f7c869299a2aaa49f928d86807c79767574747576787b7e838a9297a1a8b2bcb8ab9e9285796c605346392d20130600000000020e1a25313b46535f69737f8c949fa7a79f948f837c75706d676867676869696e737a818c919ca5aaa1978f82766c6155473d331e150b00000000000000000003101c28343f4a54626e7b88959faba7998c807366594f43303946525e687683909ca9a3998b7f7265574d42372b1b1106000000000000000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d01000000000000000000000713202c3945525d68717e8a929da5a19791837b726d676462616060616264676d717a839096a1a59c928a7d70675d5145392c1f150a000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e130800000000000000000000030b12181c1f20201f1d2228333f4a54606b75828f9ca8a3998d8073675c5145382c1f140900000000000000000000000000000000000000000000000714202d3a46525e6974818d98a2aa9e92857a6d60564c41352b1f150b00000000000000000000000000000000000009141f2935414c56616d7a86929faca3988d8073675d5145392c20150a0000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000a141d2c38444f5965727f8c99a3a99c8f8276695f5346382d22170b0000000000000000000000000000000000000000000a141d2a36424d57616b707d8690959d9fa7a8aaaaa39f9e9e9e9fa3a09d9590867d6f717d8a97a4afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e22191615130f0a0400000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000009141f2935404b55606a707e879298a0a7a49d98928d898583828181828384878b90959ea1a9b2babeb2a99b8e8175665b5044382b1f1206000000000009141f2a36424d57606d78828f959fa7a69f959087817d79777574747476787b80858e939ca3aaa29892857b6e615a5044352b210c0300000000000000000006121f2c3844505c6673808d9aa7ab9f95887b6e6255483d3236414d5665727f8c98a7ab9d908376695f5347382d22170b0000000000000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e2114070000000000000000000003101c28343f4a54606d7a85929ea4a79e91857b6e69605d55555453535455555c60686e7a84919ea8a49e9184796d6053473c31261b0f030000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c01000000000000000000000001070c10131414131017222d38424f5963707d8995a0ab9e9285796d6053473b31261a0e0000000000000000000000000000000000000000000004111d2935414c56616e7b86929faaa2988c7f73675d51443b3023190d03000000000000000000000000000000000000020d19242f3a46525e6874808d9aa6aa9f92857a6d6054473c31261b0f0300000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000020b1c27333d4754616d7a86929fac9f93877b6e6153493f33271b0f030000000000000000000000000000000000000006111b262f3846535f69707d8792989fa7aba8a09d9898929191919299989d9f9892867c707d8a96a3afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221509080603000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000000020c18242f39434e58616c707d8690959ea1a9a29f9a9892908f8e8e8f8f9196989da09f9da0a8b2b9ada1978a7d7063544a3f33281c0f030000000000030e1a26313b44505c666d7a8390959da5a7a099938e898683828181818385888c92979da5a7a09892867d70695e52483e3323190f000000000000000000000713202d3a4653606d7985919eabab9d908377695f53473a2b303b4854616e7b8795a0ab9f95887b6e6253493f33271b0f0300000000000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d2013070000000000000000000006121f2b3844505c66737f8c97a1ab9f958a7d70695f57514b4847464747484b51565e68717e8a96a0aca1968b7f7265584e43372b1f12060000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c201304000000000000000000000000000000040607070606111c262f3d4854606b7784919daba2978a7e7164574d42362a1b11060000000000000000000000000000000000000000000713202c3945525d6874808d99a3ab9f92857a6d60554c4132291e1107000000000000000000000000000000000000000008131e2935414c56626f7b88949faba2988b7f7265584e43372b1f120600000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000000000b13202d3a4653606d7985929eaba49a8c8073655b5044372b1f1207000000000000000000000000000000000000000b17222d3841505a616e7b859299a2aaaba39f96918c888584848586888c90959e9891847a7d8996a3afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000007121d27313d46505a616b707c838b91979c9fa3aaa29f9d9c9b9a9b9c9ea1a29f9a939196a0acb8ab9e9184796d6053463a2d22170b0000000000000009141f28343f4a545e686d7a838e929d9fa7a49f9b9892908e8e8d8e8f9197999ea1a9a29e9590867d706b60574d42362c22110800000000000000000005111d2a36414c5663707d8a97a1ada3998c7f7265574d42372b2d3a46535e697783909daaa7998d8073655b5044372b1f1207000000000000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d1105000000000000000000000713202d3a4653606d7984919ea9a99d9083766b61574d45403c3b3a3a3b3c40454c56606c7884919eaaa89d9184776a5f53473a2e2115080000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d11040000000000000000000000000000000000000000000a141d2c38444f5965727f8c99a3a99c8f8276695f5346382d22170b0000000000000000000000000000000000000000000714212d3a4754606d7a86929faba69a8d8074685d52433a2f20170d000000000000000000000000000000000000000000010d1925303a47535f6a7683909cacaa9d9184776a5f53473a2e21150a00000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adac9e9184786c605346392f24180c000000000000000000000000000000000000030f1b27333f4953616c76828f97a2ababa399928c847f7b79787778797b7f838a9197968e817d8996a3afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000010b151f2b343e485059616a6e787e858a8f9299999b9d9e9f9f9f9e9e9c9998928e8684919daab0a69a8d8073665c5044382b1c110600000000000000030b17232e38424c565e686d79818990959b9fa2aaa39f9d9b9a9a9b9c9ea1a9a49f9c97928c837b706b60594f453b30241a10000000000000000000000713202d3946525e6875828f9ba9ac9f92867a6e6154473c31262a36424d5766737f8c99a7ab9e9184786c605346392f24180c0000000000000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d0100000000000000000000091623303c4956636f7c8996a1adab988b7f7265594f453c352f2e2d2d2e2e343b44505b6674808d9aa7aca095887b6f6255483c2f2215090000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d01000000000000000000000000000000000000000000020b1c27333d4754616d7a86929fac9f93877b6e6153493f33271b0f030000000000000000000000000000000000000006131f2b37434e5865727f8c98a2ab9f94887b6e62564c4131281e0e050000000000000000000000000000000000000000000008131e2b37434e5865727f8b9aa4aca095887b6f6255483c32261b0f03000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000713202d3946525e6875828f9ba9b3aca196897c6f63554b4035291d1004000000000000000000000000000000000005121f2b3744505b65717e8a949fa9aea39992877f78726e6c666b666d6f72777e859095938c7f8c99a6afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000000030d19222c363e474f575f666d72797e82868a8c8e909192929292918f8d8a86817c838f9ca9aa9e93887b6e62544a3f34281c0a00000000000000000006111c26303a444c565e676d747c83898e9298999b9d9e9f9f9f9f9e9d9b999993908b857f786e6960594f473d33291f1208000000000000000000000714212e3a4754616d7a86929facaa9c8f8276685e5246392a2025313b4855626e7b8895a0aca196897d7063554b4035291d100400000000000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e130800000000000000000000000c1926333f4c5966727f8c99a8afa499887b6e6255483e332924212020212328333f4a5464717d8a97a4b1a7988b7e7265584b3f3225180c0000000000000000000203101d2a3643505d69768390908376695d5043362a1d10030200000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e130800000000000000000000000000000000000000000000000b13202d3a4653606d7985929eaba49a8c8073655b5044372b1f1207000000000000000000000000000000000000000815212e3b47535f6a7784919daaac9c8f83766a5f53443a301f160c0000000000000000000000000000000000000000000000020f1a26313c4754616e7b87939faca7998c807366584e43372b1f1306000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9b2a89a8e8174675d5145382c1f140800000000000000000000000000000000000613202d394653606c7883909da6b0a79f92877d726d6662605b545c6062656c717a8390969285929facafa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000007101a232c353e454e545c60676d71767a7d7f828385858686858482807d79757d89949faba69b8f82756a5f5342382e23170b000000000000000000000a141e28323a444c555c606b6f777d8185898c8e90919292929291908f8d8a86837e79726d665f574f473d352b20170d0000000000000000000006131f2b37434e5865727f8b99a3aea2988b7e7164564c41362a18212e3a47535f6a7784919daaa89b8e8174675d5145392c1f14090000000000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c0200000000000000000000020f1c2935424f5c6875828f9ba8ac9f9386796c605346392d20181413141418222d3c4956626f7c8995a2afa79a8e8174675b4e4134281b0e01000000000000050a0f12101d2a3643505d69768390908376695d5043362a1d10120f0a050000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000305101d2a3643505d69768390908376695d5043362a1d1005030000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c010000000000000000000000000000000000000000000005111d2a36414c5664707d8a97a1adac9e9184786c605346392f24180c000000000000000000000000000000000000000916222f3c4955626f7c8896a0aca49a8b7e7265574e4232281e0d040000000000000000000000000000000000000000000000000a15202d3a46525e697683909da9aa9e9184776a5f54473b2e221506000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000006131f2b37434e5865727f8c99a3aeb7b8ab9f9285796d6053473b3025190e02000000000000000000000000000000030f1c28333f4a5463707c8995a0acab9f958b7f726b605c5453504a5153555a61686e7a8491989298a2aeafa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0600000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000000000008111a232c333c424a50555c6064676d707375767878797978777673716d7883909da6ac9e93887c6f62584e4330261c110600000000000000000000020c162029323a434b515960636b7075797c7f82838485868685858382807d7a76726d67605c544d453d352b23190e05000000000000000000000815222e3b47545f6a7783909dabac9f92867a6d6054473b3025191e2b37424e576673808c99a8ab9f9285796d6053473b3025190e0200000000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e04000000000000000000000003101d2a3643505d697683909ca9ab9e928578665b5044382b1f120707070715222e3b4855616e7b8894a1aea89b8f8275685c4f4235291c0f0200000000010910161b1e20202a3643505d69768390908376695d5043362a20201e1b16100901000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000060b0f12131d2a3643505d69768390908376695d5043362a1d13120f0b06000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c20130400000000000000000000000000000000000000000000000713202d3946525e6875828f9ba9b3aca196897c6f63554b4035291d1004000000000000000000000000000000000006131f2b37434e586673808d99a8ac9f93877b6e6154473c3121160c0000000000000000000000000000000000000000000000000005111e2a36424d5765727f8c98a9aca096887c6f6255493c2d22170b000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000000000815222e3b4754606a7783909dabacababaea2988a7e7164564c41362a1e110500000000000000000000000000000006121f2b3844505b6674818e9ba7b1a99d9083786c6059504a46444044464850565e68707d89939fa2aab4afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca79a8d8174675a4e412d22170b00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000000000000000008111a212a30383f444b5153555d606366686a6b6c6c6c6b6b696668717e8b95a0aca49a8f82756a5f54463c311e140a000000000000000000000000050e172029313940454f54596063676d70727576787879797878777573706d6865605d55504a423c332b231911070000000000000000000004101c2834404b55626f7c8895a0aca99b8e8175675d514539291e141a26313c4955626f7c8896a0aca2988a7e7164564d42362a1e11050000000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c00000000000000000000000004111e2b3744515e6a7784919daaab9e9184786b554b4034281c100400000814212e3b4754616e7a8794a1ada99c908376695d5043362a1d1003000000010a131b21272b2d2d2d3643505d69768390908376695d5043362d2d2d2b27211b130a010000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000020a11171b1f202a2d3643505d69768390908376695d5043362d2a201f1b17110a0200000000000000000000000000101d2a3643505d69768390908376695d5043362a1d10000000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000714212e3a4754616d7a86929facb9b2a89a8e8174675d5145382c1f140800000000000000000000000000000000000815222e3b4754606a7784919eaaa99c908376685e5246392d20140400000000000000000000000000000000000000000000000000020e1a25303b4855616e7b8896a1ada8998c7f7366544a3f33281c0f030000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000004101c2834404b55626f7c8895a0a8a19e9fa2aa9c8f8275685e5246392d20150a0000000000000000000000000000000613202d394653606c7985929eabada1978a7d70655b50443f393834383a3e444c56606b75828f9ba8b1bcafa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca89b8e827568544a3f33281c0f03000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000000000000030e1a242f3841474c4e4c474c515457595b5d5e5f5f5f5f5e59616d7a85929ea7a89f93877c6f62584e43342a200c0200000000000000000000000000050e171f272f343d43484f54555c606366686a6b6c6c6c6c6b6a686664615e5653514b443f38302a21191108000000000000000000000006131f2c3845515c6774808d9aa7ada1978a7d7063554b413529170d15212e3b47535f6a7784919eaaaa9c8f8276695e52463a2d20150a00000000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e0400000000000000000000000004111e2b3744515e6a7784919daaab9f928578675c5145382c1f130f0b0c1015222f3b4855626e7b8895a1aea99c8f8376695c504336291d100300000009131c252c33373939393943505d69768390908376695d50433939393937332c251c13090000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000020b141b22272b2d37393943505d69768390908376695d50433939372d2b27221b140b0200000000000000000000000811192a3643505d69768390908376695d5043362a1911080000000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d010000000000000000000000000000000000000000000006131f2b37434e5865727f8c99a3aeb7b8ab9f9285796d6053473b3025190e02000000000000000000000000000000000916222f3c4955626f7c8896a0aca8988c7f7265564d41362a1e110500000000000000000000000000000000000000000000000000000914212d3a46535f697884919eaba99c8f8276665b5044382b1f12060000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000006131f2c3845515c6774808d9aa7a196919298a29f92867a6e6154473c31261b0f0000000000000000000000000000000916222f3c4955626f7c8897a1adab9e9285796d6053493f342e2b282c2d323b444f59626f7c8995a0acb8afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0aca99c8f8376665b5044382b1f120700091623303c4956636f7c8996a2afa4988b7e7165584b3e3225180b00000000000000000008141f2b36414a52585a5954524c474a4c4f50525253534c56616b74818e97a1ada1968d81746a5f54463c3222180e000000000000000000000000000000050d151d232932383d44484b515356595b5d5e5f5f5f5a61646c6c6c6c66635c524739342e261e180f080000000000000000000000000713202d3a4653606d7985929eabab9e9285796d6053463a2f241807131f2b37434e586773808d9aa8ac9f93877b6e6154473c32261b0f0000000000000000000009121c252e363e454d52575f62666a6e71737577787879797978777573706d67636059534d453e362d251b11080000000000000000000000000003101d2a3643505d697683909ca9aea29886796d6053463a2f241f1c17181c1f262f3d495663707c8996a3afa89b8f8275685c4f4235291c0f02000005101b252e373e434646464646505d69768390908376695d504646464646433e372e251b100500000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000a141d262d33373943464646505d69768390908376695d50464646433937332d261d140a0000000000000000000009111a232b3443505d69768390908376695d5043342b231a110900000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e130800000000000000000000000000000000000000000000000815222e3b4754606a7783909dabacababaea2988a7e7164564c41362a1e110500000000000000000000000000000003101c28343f4a546673808c99a8ada196887b6e6155483b3025190e02000000000000000000000000000000000000000000000000000005121e2a36424d576875828f9ba8ab9f9285796c605346392d2013060000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000000000713202d3a4653606d7985929fab9e918485929fa3998c7f7265584e43372b1c110600000000000000000000000000000c1926323f4c5965727f8c98a9b3a89b8e8175665c5041382d231f1c1f2029323d4854606a7784919daab7afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acab9f9285796c605346392e23180d060a1723303d4a5663707d8996a3b0a4978b7e7164584b3e3125180b0000000000000000000b1724303c47525c646766615e56544e46454045453f49535d68707d8a939da9a59e91847a6d60584e43342a200f0600000000000000000000000000000000030b121821272c323839404546494c4f50514a505b636c7079797979736e63574b3f32231c150c0600000000000000000000000005111e2a36424d5664717d8a97a2ada89a8d8174665c514438281d13070f1b26323c4956626f7c8996a1ada4998c7f7265584e43372b1c1106000000000000000000000a131c242c333b42464d5355575f626466696a6b6b6c6c6c6b6a686663605d55544f47423c332d241b13090000000000000000000000000000020e1b2835414e5b6874818e9ba7b3aa96897c6f63554b40352f2b282223282c3038414e5865727f8c98a5b5ab9a8d8073675a4d4034271a0d0100000a16212c3740494f5353535353535d69768390908376695d5353535353534f4940372c21160a00000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000006111b262f383f444650535353535d69768390908376695d535353535046443f382f261b1106000000000000000006121b232c353d464e576976839090837669574e463d352c231b1206000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c010000000000000000000000000000000000000000000004101c2834404b55626f7c8895a0a8a19e9fa2aa9c8f8275685e5246392d20150a00000000000000000000000000000006121f2b3844505c6676828f9ca9ab9e918478695f53463a2d1f1408000000000000000000000000000000000000000000000000000000020e1a26313f4c5965727f8c98abaea298887c6f6255483c2f2215090000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000005111e2a36424d5764717e8a97a2a99a8d80818e9baa9d9083776a5f5347382e23170b00000000000000000000000000020f1b2835424e5b6875818e9ba8b5ab988b7e7165544a3f2f261b12101217202c38434e586673808d99abb5afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acada297887c6f62544a4034281f1612101724313e4a5764717d8a97a4b0a4978a7e7164574b3e3124180b0000000000000000000d1a2633404c58646e74736e6862605853514b464244505b656d7a84919ea5a79e938a7d70675d51463c3222190e00000000000000000000000000000000000001070c161b21272c2e34383a3d3f42444c545c606d727e868686868073665a4d4033271a0a03000000000000000000000000000714202d3a46525e6975828f9ca9aca096897c6f63544a403428160c010a13202d394653606c7884919eabab9d9084776a5f5347382e23170c00000000000000000000010a121a212930363c4247484e5355585a5c5d5e5f5f5f5f5e5d5b595653514b48433d37312a211b1209010000000000000000000000000000000c1925323f4c5865727f8b98a7b1a6998c8073675d5145403938332d2e34383a4149535f6a76828f9ca9afa4998a7e7164574b3e3124180b0000000f1b27333e49525a5f60606060606069768390908376696060606060605f5a52493e33271b0f00000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000b17222d38414950535d6060606060697683909083766960606060605d53504941382d22170b000000000000020a1117242d363e474f585f69768390908376695f584f473e362d2417110a0200000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c201304000000000000000000000000000000000000000000000006131f2c3845515c6774808d9aa7a196919298a29f92867a6e6154473c31261b0f0000000000000000000000000000000713202d3a4653606d7985929faba89b8e827568574d42362a1e0d0200000000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3aeaa988b7e7265584b3f322518070000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000714202d3a46525e6976828f9ca9a297897d7d8a98a2a095887c6f62544a3f34281c100300000000000000000000000005111d2a36414c566a7784909daaafa499887c6f6255483c2e22140a04060e1b27323d495663707c8999a4afafa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acb3a9998c7f73665c51443b3128201f1c1f25323f4c5865727f8b98a5b0a3968a7d7063574a3d3024170a0000000000000000010e1b2734414e5a6774807f7a756f6a64605c55524d505a606c77828f96a1a9a0958e81756b61554c41342a2010070000000000000000000000000000000000000000040a0f161b1d23282c2d343d454d565d666d747f87929892857b6e6154473b2e21140800000000000000000000000000000814212e3b4754616e7b86929facaa9e9184776b605442392e2318040005121f2b3744505b6574808d9aa9aca095887c6f62544a3f34281c10030000000000000000000000080f171f252a31373a3c4247484b4d4f51515253535252504f4c4a4745403938322b2620180f0900000000000000000000000000000000000815222f3b4855626e7b88959fabab9e9185796d605a514b46443f42424045464c525b656e7b87939facac9f93867a6e6154473b2e211408000000121e2b37434f5a646c6c6c6c6c6c6c6c7683909083766c6c6c6c6c6c6c6c645a4f43372b1e1200000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000030f1b27333f49535b606a6c6c6c6c6c6c7683909083766c6c6c6c6c6c6a605b53493f33271b0f0300000000020b141b2227363f485059606a6f7b859191857b6f6a605950483f3627221b140b02000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000713202d3a4653606d7985929fab9e918485929fa3998c7f7265584e43372b1c110600000000000000000000000000000916222f3c4955626f7c8898a2aeab988c7f7265594c3f31261a0e02000000000000000000000000000000000000000000000000000000000714202d3a4753606d7986929faca79b8e8174685b4e412e23180c0000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000814212e3b4754616e7b87939fab9e9285797985929fa79a8d8073665c5044382b1f13070000000000000000000000000713202d3946525e687985929facac9f93867a6d6053473a2d20140700000a14202d3a4753606d7a86939facafa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acb8ab9e9184796d60574d433a322d2c282b2d36414c566774808d9aa7b3aa95897c6f6256493c2f2316090000000000000000020f1c2935424f5c6875828c86817c76716d67615e5759616c727f8c949ea9a2979083796d60594f433a2f22190e0000000000000000000000000000000000000000000000040b0c151d2328363e464f575f686d78818c939993877d70695e52463a2d2014070000000000000000000000000007131f2c38434f5966727f8c99a3afa7998c807366594f4330271c120700030f1b27333f495363707c8997a1ada79a8d8074665c5044382c1f1206000000000000000000000000050d141a1f262b2e31373a3b3e4042444545464646454442403d3a38352f2c27211a150e060000000000000000000000000000000000000814212e3a47535f6a7683909da6ada1978c80736c605c5553504a4e4f4b5153565d616c77828f99a4afa69c8f8276685e5246392d20140700000013202d3946535f6c767979797979797979839090837979797979797979766c5f5346392d201300000000000000000000101d2a3643505d69768390908376695d5043362a1d0a0000000000000000000005121f2b3744505b656c76797979797979798390908379797979797979766c655b5044372b1f1205000000000a141d262d334048505a616b6f7c8591979791857c6f6b615a504840332d261d140a000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d010000000000000000000000000000000000000000000005111e2a36424d5764717e8a97a2a99a8d80818e9baa9d9083776a5f5347382e23170b00000000000000000000000000000c1825323f4b5865727e8b98aaaea399897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000006131f2c3845515c677784919eaaa99c90837669554b4034281c100400111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000007131f2c38434f5966727f8c99a4aa9b8e817475818e9baa9e9184796d6053463a2f24180d0100000000000000000000000714212e3a4754616d7a8798a2aeab9e918478675c5145382c1f1306000006131f2c3945515d677784919eaaafa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acb9ada1968b7e71695e554c443e3a383437393e46525e687683909ca9aea298877a6e6154473b2e2114080000000000000000020f1c2935424f5c6875828f928e89837e79736e6963606b707e88939fa6a39992857b6e675d51473e31281e10070000000000000000000000000000000000000000000000060e161e272e344048505960696e7a828e939f948c7f736b60574d42362a1e1105000000000000000000000000000915222f3b4854606b7784919d9f9f9f95887b6e6255483d3222150b0000000b17222d3a4653606d7985929e9f9f9e9185796d6053463a2d2013070000000000000000000000000002090e151a1e21262b2e2f31333637383839393938373533302d2c29241d1b160e09030000000000000000000000000000000000000006121e2b37424e5764707d8a949fa9a99c928b7e746d6762605b545b5b555c6062686d75808d949eaba99e94897d7063564c41362a1e110500000013202d394653606c798686868686868686909494908686868686868686796c605346392d2013000000000000000000020b142a3643505d69768390908376695d504331261a0b020000000000000000000613202d394653606c798386868686868686909494908686868686868683796c605346392d20130600000006111b262f383f44515a626c707d8591938e8e9391857d706c625a51443f382f261b11060000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e130800000000000000000000000000000000000000000000000714202d3a46525e6976828f9ca9a297897d7d8a98a2a095887c6f62544a3f34281c1003000000000000000000000000020e1b2835414e5b6874818e9ba7ac9f9286796d6053473a2d201407000000000000000000000000000000000000000000000000000000000004101c2934404b556976828f9ca9ab9e918478675c5145382c1f130600111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000000000000000915222f3b4854606b7784919eaba2988a7d70707d8a98a2a197897d7063554b4135291d110400000000000000000000000915222f3c4855626f7b8895aab4a99d9083766a554b4034291c1004000004101d2935404b556976828f9ca9afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acb1a8a09d92857b6e675e56504846443f4446484f58616d7a86929facab9f928578695e52463a2d2014070000000000000000020f1c2935424f5c6875828f999b95908b85807b756f6b6f7d86929aa4a49f92877d70695f554b41352c1f160c0000000000000000000000000000000000000000000000070f18202830394045525a616b6f7b838f949d968f82776c60594f453b30251a0e0200000000000000000000000000091623303c4956636f7c8996939393939083776a5f53473a2e21140300000006121f2b3844505c6674818e93939393978a7d7063574a3d3024170a00000000000000000000000000000003090e12151a1e21222527292a2b2c2c2c2c2b2a282623201f1d18120f0a04000000000000000000000000000000000000000000020e1a26313c4955616c76828f97a1aaa49f93888079736f6c6669686869676d6f747a818d929ca6aaa1978f82766b6055443b3025190e0200000013202d394653606c798693939393939393969696969393939393939386796c605346392d20130000000000000000000a141d2b37434e586976839090837669584e43372b1d140a00000000000000000005121f2b3744505b656f7c899393939393939c9f9f9c939393939393897c6f655b5044372b1f12050000000b17222d384149505b636c717e8692928c81818c9292867e716c635b504941382d22170b0000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c0100000000000000000000000000000000000000000000000814212e3b4754616e7b87939fab9e9285797985929fa79a8d8073665c5044382b1f130700000000000000000000000004101c2934404b55697683909ca9aa9e918477675c5145382c1f13060000000000000000000000000000000000000000000000000000000000000c18232f414e5b6774818e9aa7ac9f9386796d6053463a2d20130700111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000004101d2935404b55636f7c8996a0ab9f9285796d6d7985929fa99b8e8175675d5145392c20140900000000000000000000000a1623303d495663707c8996a3afa89c8f8275695c4f422f23180c000000000c18242f414e5a6774818d9aa7afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508000000000000000000000713202d3a4653606d798693a0acaca09591959082796d68615a5553504a50535459616a73808c99a3afa99c8f827669564d42362a1e11050000000000000000000d1a2633404d59667380878c91979c97928c86827c777c859298a2a49a938b7f726b60574d433a2f231a0d0400000000000000000000000000000000000000000000071019212a323a434b515b636c717d8591959f9991847a6d655b50473d33291f140900000000000000000000000000000e1b2834414e5b677481868686868686867f7265574e42372b1e120600000003101c28343f4a5463707d868686868686868175685b4f4235281c0f00000000000000000000000000000000000206090e121415181a1c1e1e1f20201f1f1d1c19171413100c07010000000000000000000000000000000000000000000000000915202d3944505a616e7b859298a1a9a49a938d85807b79767575757677797c81858e939ca4a9a19892857b6e61594f4432291e14080000000013202d394653606c798693928d8989898989898989898989898d929386796c605346392d2013000000000000000006111b262f3847535f6a7683909083766a5f53473d2f261b11060000000000000000030f1b27333f4953606b75828f99a39f9f9fa9ababa99f9f9fa3998f82756b6053493f33271b0f030000030f1b27333f49535b606d737e8792928b807474808b9292877e736d605b53493f33271b0f0300000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c201304000000000000000000000000000000000000000000000007131f2c38434f5966727f8c99a4aa9b8e817475818e9baa9e9184796d6053463a2f24180d01000000000000000000000006131f2c3845515c677885919eaba99c8f827669554b4034291c1004000000000000000000000000000000000000000000000000000000000000071926333f4c5966727f8c99a5afa49a887b6e6255483b2f22150800111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000613202c3945515d6774818e9aa8aa9b8e8175676775818e9baa9f92867a6d6054473b31251a0e02000000000000000000000a1724313d4a5764707d8a97a3b0a89b8e8175685b4e4235281b0700000000071a2633404d596673808c99a6afa295887c6f6255493c2f2216090000000000000c1925323f4c5865727f8b98a5aea194887b6e6155483b2e221508080400000000000000000713202d3a4653606d798693a0acaa9d9184919590837a716c6662605c545b6061646b707c87929fabb0a6998c7f7266594c3f3025190e020000000000000000000c1926323f4b57636e737b80858a90949a99928e8984869297a2a49a93887f726d62594f453b3128221c140b020000000000000000000000000000000000000000040f19222b333c444c555c606d737e869297a09f92877c6f685d53493f352b20170d0200000000000000000000000000000d1a2733404c59646f7479797979797979726d6256453c31261a0e02000000000b17232e384855616b7079797979797979756f65594d4034271b0e0000000000000000000000000000000000000000020608080b0d0f11121213131312110f0d0a07060400000000000000000000000000000000000000000000000000000003101c28333e46525e696f7c8692979fa6a49f97918c888583828182828386898d92989ea5a69f9792867c6f695e52473d3320170d020000000013202d394653606c7986938d807d7d7d7d7d7d7d7d7d7d7d7d808d9386796c605346392d201300000000000000000b17222d38414f59626f7c879292877c6f62594f41382d22170b0000000000000000000b17222d38414f59616e7b86929fa9b3acb6b7b7b6acb3a99f92867b6e61594f41382d22170b00000005121f2b3744505b656c747f8b9292877e736d6d737e8792928b7f746c655b5044372b1f120500000b1825323e4b5865717e8b98a4aca295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000915222f3b4854606b7784919eaba2988a7d70707d8a98a2a197897d7063554b4135291d110400000000000000000000000714202d3a4753606d7a86939faca79a8e8174675b4e412f23180c000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b6ac96897d7063564a3d3023170a00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000000000714202d3a4753606d7a85929faca3988a7d716464707d8a98a2a2988b7e7165574d42362a1e1205000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000c1926323f4c5965727f8c98a5afa295887c6f6255493c2f2216090000000000050c1925323f4c5865727f8b98a5aea194887b6e6155483b2e22171614100b050000000000000713202d3a4653606d798693a0aca4978a7e85929590847e77726f6d666b656c6e71767d859299a3aeac9f94887b6e6155483b2e221509000000000000000000000a17232f3b47525c63696e73797e83888d92989b95909298a2a99f93887f726d625b514c47433c332d261d140a00000000000000000000000000000000000000000a16212b343d454d565e676d757f8a9298a19e938b7f726a60564c41382d23190e050000000000000000000000000000000b1824303c48535d64676c6c6c6c6c6c6c65625b5146332a201509000000000006111c2c38444f5961636c6c6c6c6c6c6c68655d53483d3125180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222a36424d57606a6f7c858f949ea1a8a19e999892908f8e8e8f9092999a9fa2a8a09e948f857c6f6a60564d42352c210e05000000000013202d394653606c7986938b7e7270707070707070707070727e8b9386796c605346392d201300000000000000030f1b27333f4953606b75828f99998f82756b6053493f33271d1207000000000000000006111b262f3d46535f6974808d97a2adbac3c4c4c3b9ada2978d8073695f53473d2f261b11060000000613202d394653606c77808c9192867d716c63636c717d8692918c80776c605346392d20130600000b1825323e4b5865717e8b989f9f9f95897c6f6256493c2f23160900000d1a2733404d5a6673808d999f9f9f9386796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d010000000000000000000000000000000000000000000004101d2935404b55636f7c8996a0ab9f9285796d6d7985929fa99b8e8175675d5145392c20140900000000000000000000000815222f3b4855626e7b889aa4afa5998c7f7266594c3f3326190700000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afa4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2ac9f92867a6d60606d7985929faa9c8f8376695e53463a2d21160a000000000000000000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e010000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f221609000000000810171c25323f4c5865727f8b98a5aea194887b6e6155483b2e262423201c17100800000000000713202d3a4653606d798693a0aca4978a7e7e8b9296918a837f7b79787778797b7e828a9297a2abafa49a8f8276695f53473a2d2114080000000000000000000007131f2a35404a52575e61666d71767c81869196a09d9fa2aaa6998c8075706b65605d55534e443f382f261c1106000000000000000000000000000000000000030f1b27323d464e575f686d79818c929fa3a0958e81756d62584e443a2f261b1108000000000000000000000000000000000814202b36414a53595b60606060606060595651493f3521180e03000000000000101c28333e474f5557606060606060605b59534b41372c2014080000000000000000000000000000000000000000000000000406070a0d0f11121313131212100e0c0906060300000000000000000000000000000000000000000000000000050e1a25303b454e58606a6f7b828b91969c9fa3aaa29f9d9c9b9b9c9d9fa3aba39f9b96918a827b6f6a60584e443b30231a0f00000000000013202d394653606c7986938b7e7265636363636363636365727e8b9386796c605346392d2013000000000000010c161f2b3744505b65707d89949e9e94897d70655b5044392e23180c0100000000000000000a141d2b37424d57606d7a85929fa8b2bdc8c8bdb2a89e92857a6d60574d42352b1d140a000000020f1b2835424e5b6875818d9292857c706b625a5a626b707c8592928d8175685b4e4235281b0f02000b1825323e4b5865717e8b9393939393897c6f6256493c2f2316110b0b101a2733404d5a6673808d939393939386796d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e130800000000000000000000000000000000000000000000000613202c3945515d6774818e9aa8aa9b8e8175676775818e9baa9f92867a6d6054473b31251a0e02000000000000000000000a1724303d4a5763707d8a96acb6a4978a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000000714212d3a46535f6976838f9caaaa9b8f8275675d5d6775828e9baa9f93877b6e6154483d32271b0f000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000b1825323e4b5865717e8b98a4afa295887c6f6255493c2f22160900000008121a22282d323f4c5865727f8b98a5aea194887b6e6155483b333331302d28221a1108000000000713202d3a4653606d798693a0aca4978b7e74818e949e95908c888685848585878b8f949fa2a9aea59f93877c6f62574d42372b1e120600000000000000000000020e19242e3840454d52545c60646a6f747b84919eaba39f9da09f9287827d77726d67625f58504a42382d22170b00000000000000000000000000000000000007131f2c38434e5860696e7a828e939ca4a2989183796d605b51463d32281d140a0000000000000000000000000000000000030f1a252f3841484c4e535353535353534c4a463f372d230f06000000000000000b16212c353e44484a535353535353534f4d4841392f251a0f0400000000000000000000000000000000000000000001070c10131416191c1d1f1f20201f1e1d1b191613120f0b0600000000000000000000000000000000000000000000000009141f29333d464e5860696e767e848a8f9299999b9d9e9f9f9f9f9e9d9b9999928f8a847e766e6960584e463d32291f110800000000000013202d394653606c7986938b7e7265585656565656565865727e8b9386796c605346392d201300000000000008131e2834404b54606c7883909da6a69d9083786c60544b4034281e13080000000000000000020b1a26313c45525d68727f8c96a0acb9c2c7b8aca0968b7f72685d52453b3123190b02000000000b1724313e4a5764717e869293877f746d665d5d666d747f879392867e7064574a3d3124170a00000b1825323e4b5865717e868686868686867c6f6256493c2f23221d16161b202733404d5a66738086868686868686786d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c0100000000000000000000000000000000000000000000000714202d3a4753606d7a85929faca3988a7d716464707d8a98a2a2988b7e7165574d42362a1e1205000000000000000000000b1825313e4b5864717e8b97a4afa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aea5988c7f7265594c3f3226190c00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000000030f1c28333f4a54616e7b87939faca2988a7e7164555564717e8a98a3a49a8c7f7366584e43372b1d12070000000000000000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e010000000b1825323e4b5865717e8b98a4afa295887c6f6255493c2f221609000005101a242c33393c3f4c5865727f8b98a5aea194887b6e6155484040403d3c39332c231a10050000000713202d3a4653606d798693a0aca5988b7e7278828e939f9d999a939291919298979c9fa6adaba39f938d80736a6054453c31261a0e0200000000000000000000030e18212a31373e434b51575e666c727c849196a1a0999290959b99928f89847f7a746f6a605b544a3f33281c0f0300000000000000000000000000000000000915222e3b4854606a6f7b8490949ea5a49f92867c6e675d51493f342b20160b0200000000000000000000000000000000000008131d262f363c4041464646464646463f3e3a352d251b11000000000000000005101a232c33383c3d4646464646464642403d372f271e13090000000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b2a282523201f1c17110f0a03000000000000000000000000000000000000000000020d17212b343d464e565e616c71787e82868a8c8f90919292929291908e8c8986827d78716c615e574e463d342b20170d0000000000000013202d394653606c7986938b7e7265584b4a4a4a4a4b5865727e8b9386796c605346392d20130000000000010d19242f3845515c66717e8a959fabab9f958a7e71665c51453a2f24190d02000000000000000009141f2935414c56606d7984919ea6b0bebeb0a69e9184796d60564c41332a1f100700000000000a1623303c4955616c717d8692938c80786d67676d78808c9392867d706c6155493c3023160a00000b1724313d4a56626c71797979797979796f6a6054473b36332e272021272c2f303f4b58636e737979797979797976665c5044382c1f1206000000000000000000000000000000000000000000000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c201304000000000000000000000000000000000000000000000005121e2a36424d5764717e8b98a2ac9f92867a6d60606d7985929faa9c8f8376695e53463a2d21160a000000000000000000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aea6998c7f7366594c403326190d00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000006121f2b3844505b6673808c9aa4ac9f92867a6d605454606d7a86929fac9d9184776a605447392e23180c0000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f22160900000c17222c363e45494a4d5865727f8b98a5aea194887b6e61554d4d4d4d4a49443e362c22170b0000000713202d3a4653606d798693a0aca5988b7f726d78818b92989fa29f9e9e9e9fa3aaa9a9aaa29f99928b81786d60584e43332a1f1509000000000000000000000009151f2a333c42474f555c60696e787f879196a09f95918684898e92989b95918b85817c766c665b5044382b1f120600000000000000000000000000000000000916232f3c4956626f7c85919693939393928a7e716a5f554b40372d22190e0400000000000000000000000000000000000000010b141d252b3033343939393939393932312e29231b130900000000000000000008111a21282c2f30393939393939393534312c251e150c02000000000000000000000000000000000000040a0f161b1d23292c2d303335373839393939383635322f2d2b28221c1b150e09030000000000000000000000000000000000000000050f19222b343c444d525a61666d71757a7d80828385858686858483827f7d7a75716d66615a524d453d342b22190e050000000000000013202d394653606c7986938b7e7265584b3f3d3d3f4b5865727e8b9386796c605346392d2013000000000004111d2935414c56606d7984919ea7b1b1a79e9184796d60564c4135291f14090000000000000000030d1924303a44515c66707d8a949facb6b6ac9f948a7d70665c51443a3021180e0000000000000814212d3944505a616b707c8591928d82796e6e79828e9291857c706b615a5044392d20140800000915212e3a45505a62656c6c6c6c6c6c6c6260584e4344433f3932292b32383b3d4647525c63666c6c6c6c6c6c6c6c5c544a3f34281c10030000000000000000000000000000000000000000000000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000714212d3a46535f6976838f9caaaa9b8f8275675d5d6775828e9baa9f93877b6e6154483d32271b0f000000000000000000000c1926323f4c5965727f8c98a5aea195887b6e6255483b2f221508000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8794a0ada6998d8073665a4d4033271a0d00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000000000613202d394653606c7884919eaca99b8e8175675d51515d6775828f9caba096897c6f62544b4034281c100400000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b07000000000c1926323f4c5965727f8c98a5afa295887c6f6255493c2f2216090005111c28333e48505557595965727f8b98a5aea194887b6e615959595959575550483e33281c100400000713202d3a4653606d798693a0aca5998c7f72666d757f868d92989a9c9e9e9f9f9e9d9c9998928d867f746d665c50463d3221180e0300000000000000000000020e1a26313c454d535961676d727b828c92999f99928d837c777c81868c91969c98928d8882786c605346392d20130600000000000000000000000000000000000d1a2633404d59667380868686868686868680746c61574e43392f251b1007000000000000000000000000000000000000000000020b131a202427282d2d2d2d2d2d2d2625221e18110901000000000000000000000810161c2023242d2d2d2d2d2d2d282725201a130c03000000000000000000000000000000000000060b151b21272c2f34383a3d40424445464646454543413f3c3938332d2b26201a150b060000000000000000000000000000000000000000071019222b323b424650545c6064676d70737577787979797878767573706d6764605c545046423b332b22191007000000000000000013202d394653606c7986938b7e7265584b3f3d3d3f4b5865727e8b9386796c605346392d201300000000040e18222c3945525d68727f8b96a0acb9b9aca0968b7f72685d52453b30251a0e04000000000000000008131e2834404a54616c7682909aa4afafa49a9082766c61544a4032281e0f0600000000000004101c28333e485059606a6f7b8490948f837a7a838f9490847b6f6a605950483e33281c1004000005111d29343f485056586060606060606056544e5353514f4a443b32353d44484953535352585a606060606060605f504a42382e23170c000000000000000000000000000000000000000000000000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000030f1c28333f4a54616e7b87939faca2988a7e7164555564717e8a98a3a49a8c7f7366584e43372b1d12070000000000000000000d192633404c5966737f8c99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada79a8d8074675a4d4134271a0e00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000004111d2935414c5663707d8996a1aca1978a7d7063554b4b5564717e8b99a3a89a8d8174665c5145382c1f130800000000000000000916232f3c4956626f7c8995acb6a89c8f8275695c4f422e23180c000000000d1a2633404d596673808c99a6afa295887c6f6255493c2f221609000814212d3945505a6164666666727f8b98a5aea194887b6e66666666666664615a5044392d20140800000713202d3a4653606d798693a0aca6998c7f7366606d727b80858a8d8f9192929291908f8c8985807b726d605c544a3f342b200f06000000000000000000000006121e2b37424d575f616b70797f868f949f9d948f8780796f6a6f747a7f84898f93999a9486796d6053463a2d20130700000000000000000000000000000000000c1925323f4b57636d737979797979797979746e645a50453c31281d1209000000000000000000000000000000000000000000000001080f14181a1b20202020202020191816120d0700000000000000000000000000050b10141617202020202020201c1b18140f09020000000000000000000000000000000000020a111720262b323839404547494c4f50525253535251504e4c4946443f3837312b262017110a0200000000000000000000000000000000000000071019202930363e424a5053555d606366686a6b6c6c6c6c6b6a686663605d5553504a423e3630292119100700000000000000000013202d394653606c7986938b7e7265584b4a4a4a4a4b5865727e8b9386796c605346392d2013000000000a15202a36424d57606d7a85929ea8b2bdbdb2a89e92857a6d60574d42362a20150a0000000000000000020c18232e3942505a626f7c87939faaaa9f93877c6f625a5042392e20160c00000000000000000b17222c363e474f585f696e7a839094908484909490837a6e695f584f473e362c22170b000000010c18222d363f454a4b5353534c525f6060606060605d5b554d44393d474f54566060606060605a58535353535353443f3830261c11060000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e1308000000000000000000000000000000000000000000000006121f2b3844505b6673808c9aa4ac9f92867a6d605454606d7a86929fac9d9184776a605447392e23180c0000000000000000000d1a2734404d5a6773808d9aa6ada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0ada79a8d8074675a4d4134271a0e00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000613202c3945525d6875818e9ba8ab9e9285796d6053464754616d7a86929fab9e9285796d6053463a3025190d01000000000000000815222e3b4855616e7b889aa4afa99d9083766a554b4034281c10040000010e1b2834414e5b6774818e9aa7afa295887c6f6255493c2f221609000a1723303c4955616c71737373737f8b98a5aea194887b73737373737373706c6155493c3023160a00000713202d3a4653606d798693a0aca6998d8073665b62686e74797d808284858685858482807d7a746e69625b504a42382e22190f0000000000000000000000000814212d3a47535f696e757d848c92989395908a827c736d676062686d72787d82878d929786796d6053463a2d20130700000000000000000000000000000000000a16232f3b47525b63666c6c6c6c6c6c6c6c67645c52483e332a1f160c000000000000000000000000000000000000000000000000000003080b0d0e131313131313130c0b090601000000000000000000000000000000000407090a131313131313130f0e0c0804000000000000000000000000000000000000040b141c222832373d43484b515356595b5d5e5f5f5f5f5e5d5b585653504a47433c373127221b140b0300000000000000000000000000000000000000070e171f252a30383f44464c515457595c5d5e5f5f5f5f5e5d5b595653514b46443f38302a251f170f070000000000000000000013202d394653606c7986938b7e7265585757575757575865727e8b9386796c605346392d2013000000020b1b26313a46525e6973808d97a1adbac4c4b9ada1978d8073695e52463c31261b0b02000000000000000007121c27303e4754606a75818e98a2a2988e81756a6054483e30271c0e04000000000000000005101a242c353d464e575f686e7a828f949191948f827a6e685f574e463d352c241a10050000000006111b242d343a3d3e46414c565e6c6c6c6c6c6c6c6a675f554a3f444f5960636c6c6c6c6c6c67645c534846464638342e261e150a0000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000000000000000613202d394653606c7884919eaca99b8e8175675d51515d6775828f9caba096897c6f62544b4034281c100400000000000000000e1a2734414d5a6774808d9aa7ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8794a0ada6998d8073665a4d4033271a0d00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000000000714212d3a4754606d7a86929faca89a8d8174665c514446525d6876828f9caba2978a7d7064564c4135291d1105000000000000000714202d3a4753606d7a86939facab9e918478675c5145382c1f1306000004111d2935414c566976828f9ca9afa295887c6f6255493c2f221609000b1724313e4a5764717e80808080828f9ca8b3a79a8d80808080808080807e7064574a3d3124170a00000713202d3a4653606d798693a0aca6998d8073665a565e61666d7073757778797978777673706d67615e5751443f3830261c10070000000000000000000000000815222e3b4855616e7b8286868686868686837d766f6a605c55565d61656c70757b80858a867a6d6053473a2d201407000000000000000000000000000000000007131e2a35404952575960606060606060605a58524a40362c21180d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d262d333c43474f54555c606366686a6b6c6c6c6c6b69686562605b54534e47423c332d261d150d0300000000000000000000000000000000000000050d14191e262e34383a4145474a4d4f50525253535251504f4c4a4745403a38342e261e1a140d05000000000000000000000013202d394653606c7986938b7e7265646464646464646465727e8b9386796c605346392d20130000000a141d2b37434e58616e7b86929fa9b3becccabeb3a99f92867b6e61584e43372b1d140a0000000000000000000b151e2b37434e58616e7b86929f9f92867b6e61584e43362c1e150b0000000000000000000008121a232b343c454d565e686d79828e93938e82796d685e564d453c342b231a120800000000000009121b22292e31323946525e68767979797979797771675b4f434854606b70797979797979746e64584c4039392c28231c150c0300000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c201304000000000000000000000000000000000000000000000004111d2935414c5663707d8996a1aca1978a7d7063554b4b5564717e8b99a3a89a8d8174665c5145382c1f130800000000000000000e1a2734414d5a6774808d9aa7ada093867a6d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1aea6998c7f7366594c403326190d00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000006121f2b37434e5865727e8b98a2aca096897c6f63544a40414c5665727e8b99a4a99b8f8275685e5246392d2015090000000000000006131f2c3845515c677885919eabac9f9286796d6053463a2d20130600000713202c3945525d687884919eabafa295887c6f6255493c2f221609000f1c2835424f5b6875828c8c8c8c8f949eaab5a99d928d8c8c8c8c8c8c8c8174685b4e4135281b0e02000713202d3a4653606d798693a0aca6998d8073665a4d52545c606367696b6b6c6c6b6a696663605d55534d453f342e261e140a000000000000000000000000000814212d3a47535f696e757979797979797976706b625f58514b4c52535b6063696e73797e83796d6053473a2d2014070000000000000000000000000000000000020d19242e3740474b4d53535353535353534d4c4740382f241a0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d10111213131211100d0a07060400000000030505060606060606000000000000000000000000000000000000030c161f282f383f444e54596063676d707375777879797978787674726f6c66625f58534d443f382f271f150d030000000000000000000000000000000000000002090c151c23282c2f35393a3d4042444546464645454342403d3a39352f2b28231c140c090200000000000000000000000013202d394653606c7986938b7e7270707070707070707070727e8b9386796c605346392d2013000006111b262f3847535f6a74818e98a2aebbb9b9b9b9baaea2988e81746a5f53473d2f261b11060000000000000000030c1b27323c46525e6973808d97978c8073695e52463c32241a0c030000000000000000000000081119222a333c444d565d676d78818d8d81786d675d564d443c332a2219110800000000000000000911181d21212e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e4134271f1c17110a0300000000000000000000000000000000000000000000000000000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d110400000000000000000000000000000000000000000000000613202c3945525d6875818e9ba8ab9e9285796d6053464754616d7a86929fab9e9285796d6053463a3025190d01000000000000000d1a2734404d5a6773808d9aa6ada094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1aea5988c7f7265594c3f3226190c00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000000000814212e3a47535f6a7683909daaaa9e9184776b605442393b4754616e7b86939fac9f92867a6d6154473c31261a0e0000000000000004101c2934404b55697683909ca9afa399887b6f6255483c2e23170b00010714212d3a4754606d7a8796a1acafa295887c6f6255493c2f221609000f1c2835424f5b6875828e9999999c9ea6b0b9aea49d9a9999999999998e8174685b4e4135281b0e02000713202d3a4653606d798693a0aca6998d8073665a4d464b5153575a5c5e5f5f5f5e5d5c595654514b46423b3328231c140c020000000000000000000000000006121e2b37424d575f61696c6c6c6c6c6c6c6a636159534e45404146495053575e61666d71766d675d5145392c1f130600000000000000000000000000000000000007121c252e353b3f404646464646464646413f3c362f261d1208000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d111314171a1d1e1f1f201f1e1c1a171413100c07010c0f11121313131313130909070300000000000000000000000000000b151e283139424a50585f626b6f75797d7f828385858686858483817f7c79746f6a625f575049413931271f150b010000000000000000000000000000000000000000030a11171c1f24292c2d30333537383939393938373533302d2c29241f1c17110a02000000000000000000000000000013202d394653606c7986938d807d7d7d7d7d7d7d7d7d7d7d7d808d9386796c605346392d201300000b17222d38414f59626f7c87939faab4acacacacacacb4aa9f93877c6f62594f41382d22170b0000000000000000000a15202a36424d57606d7a85919185796d60574d42342b20110800000000000000000000000000071019212a323b444c555d666d748080746d665d554c443b322a2118100700000000000000000000060c1114212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271b100c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000000714212d3a4754606d7a86929faca89a8d8174665c514446525d6876828f9caba2978a7d7064564c4135291d1105000000000000000d192633404c5966737f8c99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000003101c28343f4a54626e7b88959faba7998c807366594f43303946525e687683909ca9a3998b7f7265574d42372b1b1106000000000000000c18232f414d5a6774808d9aa7b5ab988b7e7165544a3f34281c100b0e131c2834404a5464707d8a97a8b2afa295887c6f6255493c2f221609000f1c2835424f5b6875828e9b9f9fa0acaeb5bdb1a9a3a19f9f9f9f9f9b8e8174685b4e4135281b0e02000713202d3a4653606d798693a0aca6998d8073665a4d404045464a4d4f5152535252514f4d4a4745413a3631292117110a020000000000000000000000000000020e1a26313c454d53555c606060606060605d57554f47433c3435383f44464d53545c606469605d554b4035291d1004000000000000000000000000000000000000000a131c242a2f323339393939393939393433302b241d140b0000000000000000000000000000000000000000000000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292724201f1c18120e181c1e1f2020202020201615130f0a04000000000000000000000007121d273039434b545b606a6f767c8185898c8e90919292929291908e8b8985817c756e69605b534b433931271d120700000000000000000000000000000000000000000000060c1013191d20212426292a2b2c2c2c2c2b2a282623201f1d1812100b060000000000000000000000000000000013202d394653606c798693928d8a8a8a8a8a8a8a8a8a8a8a8a8d929386796c605346392d201300030f1b27333f4953606b76828f99a49f9f9f9f9f9f9f9f9f9fa4998f82756b6053493f33271b0f030000000000000000040e1a25303b45515d67727e8b8b7e71675d51453b3022190f000000000000000000000000000000070f182029323a434b545c606e73736e605c544b433a322920180f07000000000000000000000000010814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e1308000000000000000000000000000000000000000000000006121f2b37434e5865727e8b98a2aca096897c6f63544a40414c5665727e8b99a4a99b8f8275685e5246392d201509000000000000000c1926323f4c5965727f8c98a5aea195887b6e6255483b2f22150800000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2afa4978b7e7164584b3e3125180b00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000006121f2c3844505c6673808d9aa7ab9f95887b6e6255483d3236414d5665727f8c98a7ab9d908376695f5347382d22170b00000000000000071824313e4b5764717e8a97a7b1a79b8e8174665c5044382b221b171a1d242c3844515c6674818d9aa7b4afa295887c6f6255493c2f221609000f1c2835424f5b6875828e939393939fa3abb5a99f98949393939393938e8174685b4e4135281b0e02000713202d3a4653606d798693a0aca6998d8073665a4d4034383a3d404244454646454443403d3a39352f2a251f170f06000000000000000000000000000000000009151f2a333c4247484f53535353535353504a48443e373129292d33373b42464b5153575d53514b43392f24180c0000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d2726241f19130b02000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e24292c2d3033363738393939383634302d2c29231d1a24282b2c2d2d2d2d2d2d23221f1b160f07000000000000000000040d18232e39434b555d666c737c83898e9298999b9d9e9f9f9f9f9e9c9b9897918d88827b736c655d554b43392f24180e05000000000000000000000000000000000000000000000003080d111314171a1c1d1f1f20201f1e1d1c19171413100c070300000000000000000000000000000000000013202d394653606c798693939393939393939393939393939393939386796c605346392d20130005121f2b3744505b65707d8994939393939393939393939393939394897d70655b5044372b1f120500000000000000000009141f2935414b55606d788383786d60554b4033291f100700000000000000000000000000000000060e1720283139424a505c636767635c504a4239312820170e0600000000000000000000000000000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000000000000000814212e3a47535f6a7683909daaaa9e9184776b605442393b4754616e7b86939fac9f92867a6d6154473c31261a0e000000000000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f221609000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b6ac96897d7063564a3d3023170a00111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000000000713202d3a4653606d7985919eabab9d908377695f53473a2b303b4854616e7b8795a0ab9f95887b6e6253493f33271b0f030000000000000814212e3b4754616e7b8795a0acab9e9285796d6053463e342b2722262a2f35404b55606d7985929eabb8afa295887c6f6255493c2f221609000f1c2835424f5b68758186868686868b99a3aea3988d88868686868686868174685b4e4135281b0e02000713202d3a4653606d798693a0aca6998d8073665a4d40332c2d3034363838393938373633302d2c29241d1a140d05000000000000000000000000000000000000030e18212a31373a3b4246464646464646433d3c38332b26201b22272b3136394045464b504745403931271d120700000000000000000000000000000000000000000000070d1316191a20202020202020201a1a17130e0801000000000000000000000000000000000000000000000000000000000000000000000000000000070f181f262a2f35393a3d404344454646454443403d3a38342f2a252f3437383939393939392f2e2c272119100700000000000000010c161f2834404b555d676d78808790949b9fa2a9a29e9c9b9a9a9b9d9fa3a9a19e9a948f877f776d675d554b40352920170d02000000000000000000000000000000000000000000000000010406070a0d0f11121313131212100f0d0a07060400000000000000000000000000000000000000000013202d394653606c798686868686868686868686868686868686868686796c605346392d2013000613202d394653606c798386868686868686868686868686868686868683796c605346392d201306000000000000000000030d18242f3a44505c66707d7d70665c50433a2f21170d000000000000000000000000000000000000050d161f2730383f4452585a5a5852443f3830271f160d050000000000000000000000000000000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c201304000000000000000000000000000000000000000000000003101c28343f4a54626e7b88959faba7998c807366594f43303946525e687683909ca9a3998b7f7265574d42372b1b11060000000000000b1825313e4b5864717e8b97a4afa296897c6f6356493c30231609000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5afa49a887b6e6255483b2f22150800111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000005111d2a36414c5663707d8a97a1ada3998c7f7265574d42372b2d3a46535e697783909daaa7998d8073655b5044372b1f12070000000000000714202d3a46525e697784909dabada1978a7d70635a50463d37332d31363a4045515d67717e8b97a1adb9afa295887c6f6255493c2f221609000e1b2834414d59656f75797979797987929faca194887b79797979797979746f64594d4034271a0e01000713202d3a4653606d798693a0aca6998d8073665a4d403327202427292b2c2c2c2b2a29262321201d18130e09030000000000000000000000000000000000000000060f181f262b2d2e363939393939393937302f2c28211b1511171b1f252a2e34383a3e433a39352f271f150b01000000000000000000000000000000000000000000000002070a0c0d13131313131313130e0d0b0703000000000000000000000000000000000000000000000000000000000000000000000000000000030b1218212a31363a4145474a4d505152525352514f4d4a4745403936313a4044454646464646463c3b38322b22190f0400000000000008131e28313a45515c676d79828d92999fa6a39f9a97928f8e8d8e8e9092989b9fa3a69e99928c82796d675d51453f32291e140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013202d3946535f6c767979797979797979797979797979797979797979766c5f5346392d20130005121f2b3744505b656c77797979797979797979797979797979797979776c655b5044372b1f12050000000000000000000007131d28343f4a54606b70706b60544a3f31281d0f0500000000000000000000000000000000000000040d151e262e3440474b4d4d4b4740342e261e150d04000000000000000000000000000000000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d1104000000000000000000000000000000000000000000000006121f2c3844505c6673808d9aa7ab9f95887b6e6255483d3236414d5665727f8c98a7ab9d908376695f5347382d22170b0000000000000a1724303d4a5763707d8a96acb6a4978a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9aa7ac9f9386796d6053463a2d20130700111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000713202d3946525e6875828f9ba9ac9f92867a6e6154473c31262a36424d5766737f8c99a7ab9e9184786c605346392f24180c00000000000005111e2a36424d5666737f8c99a3afa99c9083766c61584f46443f414142464b515b606d7984919ea9afb8afa295887c6f6255493c2f221609000c1925313d48535d65686c6c6c677683909da9a194887b6e6c6c6c6c6c6c68645d53483c3024180c00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a171a1c1e1f201f1f1e1c1a171413110d07010000000000000000000000000000000000000000000000060e151a1e2122292d2d2d2d2d2d2d2a2423201c160f0a060b0f141a1d23282c2d31362d2c29241d150d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c2328333b42464c5254575a5c5e5e5f5f5f5e5c5a5753514b46423b454c50525353535353534948433d342b21160a0000000000010d19242f3a43505a606d79828f949fa3a7a099928e898583818181828386898e92999fa7a39f948f82796d605b51443b3025190e0200000000000000000000000000000000000000000000000002070b0d0d131313131313130f0e0c0804000000000000000000000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e1200030f1b27333f49535b606a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a605b53493f33271b0f0300000000000000000000010b17232e38424f5960636360594f42382e1f160c000000000000000000000000000000000000000000030c151c2328363b3f40403f3b3628231c140c0300000000000000000000000000000000000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000000713202d3a4653606d7985919eabab9d908377695f53473a2b303b4854616e7b8795a0ab9f95887b6e6253493f33271b0f0300000000000815222f3b4855626e7b889aa4afa5998c7f7266594c3f3326190700000000000000000000000000000000000000000000000000000000000004101d2935404b556976838f9ca9ab9e918478675c5145382c1f130600111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000000000714212e3a4754616d7a86929facaa9c8f8276685e5246392a2025313b4855626e7b8895a0aca196897d7063554b4035291d10040000000000020e1925303b4854616e7b87929fabab9f948a7e716a60595350494e4e4d53555d606d74808d969b9ea5afafa295887c6f6255493c2f221609000915202c37424b53595b6060606774808d9aa7a194887b6e6160606060605b59534b41372b20140800000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d0d0f111213131211100d0a07060401000000000000000000000000000000000000000000000000000003090e1214151c202020202020201d171614100b0500000003090e12181c1f20242a201f1d18120b03000000000000000000000000000000000000000000000000000000000000000000010406070a0d10111213131211100d0a07060400000000030505060606060606000000000000000000000000000000000b151e272e343f454d53565d606366696a6b6c6c6c6b696763605c55534d444f575c5f60606060606056544e463d32271b0f030000000004111d2935414c56616c74818e949ea6a69f959087817c79767474747577797d818790959ea5a69e948e81756d62564c41362a1e14080000000000000000000000000000000000000000000001080e1317191a202020202020201b1b18140f0901000000000000000000000000000000000000000000000f1b27333e49525a5f60606060606060606060606060606060606060605f5a52493e33271b0f00000b17222d38414950535d6060606060606060606060606060606060605d53504941382d22170b00000000000000000000000006111c26303d474f555656554f473d30261c0d0400000000000000000000000000000000000000000000030a1117242a2f323434322f2a2417110a020000000000000000000000000000000000000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e1308000000000000000000000000000000000000000000000005111d2a36414c5663707d8a97a1ada3998c7f7265574d42372b2d3a46535e697783909daaa7998d8073655b5044372b1f120700000000000714202d3a4753606d7a86939faca79a8e8174675b4e412f24180c00000000000000000000000000000000000000000000000000000000000006131f2c3845515d677784919eaaa99c90837669554b4034281c100400111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000006131f2b37434e5865727f8b99a3aea2988b7e7164564c41362a18212e3a47535f6a7784919daaa89b8e8174675d5145392c1f14090000000000000914202d3a46525e6975818e99a3afa69f92857c706b62605b535a5b575f61676d747f8b92938f939eaaafa295887c6f6255493c2f22160900040f1b25303942484d4f53535764717e8a97a9a194887b6e6155535353534e4d4841392f251a0f0300000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d01030505060605040300000000000000000000000000000000000000000000000000000000000000000000020608080f13131313131313100a0907040000000000000000070c101313181d1413100c0701000000000000000000000000000000000000000000000000000000000000000001080d111314171a1d1e1f1f201f1e1c1a171413100c07010c0f111213131313131309090703000000000000000000000007121c273039404451575f61686d7073767778797978777673706d67615e57505761686b6c6c6c6c6c6c6260584e43382c1f1307000000000613202c3945525d68717e8a939da6a89f948f837c746f6c6668676768666d70757c838f939ea7a69e938b7f72685e52463b3025190d010000000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d282724201a130b030000000000000000000000000000000000000000000a16212c3740494f535353535353535353535353535353535353535353534f4940372c21160a000006111b262f383f4446505353535353535353535353535353535353535046443f382f261b1106000000000000000000000000000a141e2c353d44484a4a48443d352c1e140a00000000000000000000000000000000000000000000000000060c191f2326272726231f190b0600000000000000000000000000000000000000000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000000000000000713202d3946525e6875828f9ba9ac9f92867a6e6154473c31262a36424d5766737f8c99a7ab9e9184786c605346392f24180c000000000006131f2c3845515d677885919eaba99c8f827669554b4035291d100400000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86929faca79b8e8174685b4e412e23180c0000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000000000815222e3b47545f6a7783909dabac9f92867a6d6054473b3025191e2b37424e576673808c99a8ab9f9285796d6053473b3025190e02000000000005121e2a36424d57626e7c87929fa7ada29792857d756f6c6568676869696e7379818b91948f828f9ba8afa295887c6f6255493c2f221609000009141e2730373d4142464854616e7b8796a1a194887b6e61554846464641403c372f271d13090000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060606060606060400000000000000000000000000000406070b1007060400000000000000000000000000000000000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292724201f1c18120e181c1e1f2020202020201615130f0a040000000000000000000c18232e39424a515b63696e747a7d808384858586858482807d79746e69605b536873787979797979796f6a6054483b2e22150900000004111d2935414c55606d7a85929ea5aca0968f82796e6a62605b545a5b545c60636a6e78818f959faba59f92857a6e61564c41362a1e110500000000000000000000000000000000000000010a141c242b2f3334393939393939393534312c251d150b01000000000000000000000000000000000000000005101b252e373e4346464646464646464646464646464646464646464646433e372e251b10050000000a141d262d33373944464646464646464646464646464646464646443937332d261d140a0000000000000000000000000000020c1a232c33383c3d3d3c38332c231a0c020000000000000000000000000000000000000000000000000000080e1317191a1a1917130e0800000000000000000000000000000000000000000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c2013040000000000000000000000000000000000000000000000000714212e3a4754616d7a86929facaa9c8f8276685e5246392a2025313b4855626e7b8895a0aca196897d7063554b4035291d10040000000004101d2935404b55697683909ca9aa9e918477675d5145382c1f13060000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8999a3afaa988b7e7265584b3f322518070000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000004101c2834404b55626f7c8895a0aca99b8e8175675d514539291e141a26313c4955626f7c8896a0aca2988a7e7164564d42362a1e11050000000000020e1a25303b47535f6a73808d95a0a8a9a1979288817c797674747476787b7f858d929790827d8996a3afa295897c6f6256493c2f2316090000020c151e252c3134353a46535e697884919ea194887b6e6155483b39393534302b251d150b010000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e24292c2d3033363738393939383634302d2c29231d1a24282b2c2d2d2d2d2d2d23221f1b160f070000000000000004101c2834404a545c606d727b81868a8d8f9191929292918f8d8a85807b726c655c6b78858686868686867c6f6256493c2f2316090000000613202c3945515d6773808d97a1ada69e91847a6d675f5853504a4e4e4b5153585f666d79839099a3ada2978d8174685e5246392d2014090000000000000000000000000000000000000008121c262e363b3f404646464646464642403d372f271d130900000000000000000000000000000000000000000009131c252c33373939393939393939393939393939393939393939393937332c251c130900000000020b141b22272b2d37393939393939393939393939393939393939372d2b27221b140b0200000000000000000000000000000008111a21272c2f30302f2c27211a11080000000000000000000000000000000000000000000000000000000002070a0d0d0d0d0a070200000000000000000000000000000000000000000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d1104000000000000000000000000000000000000000000000006131f2b37434e5865727f8b99a3aea2988b7e7164564c41362a18212e3a47535f6a7784919daaa89b8e8174675d5145392c1f140900000000000c18242f414e5b6874818e9ba7ac9f92867a6d6053473a2d20140700000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99abaea298887b6f6255483c2f2215090000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000006131f2c3845515c6774808d9aa7ada1978a7d7063554b413529170d15212e3b47535f6a7784919eaaaa9c8f8276695e52463a2d20150a00000000000009141f2b37434e58606d79839096a0a8a9a19a938e8985828181818284888c91979992857b7c8996a2afa296897c6f6356493c30231609000000030c141b2025282a36424d576875828e9ba194887b6e6155483b2e2d282724201a130b03000000000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406070a0d0f11121313131212100e0c090606030000000000000000000000000000000000000000000000000000000000070f181f262a2f35393a3d404344454646454443403d3a38342f2a252f3437383939393939392f2e2c27211910070000000000030e18212c3844515c666d757f878d9298999c9d9e9f9f9f9e9c9a98928d867f776d666679869293939393887b6e6255483b2f2215080000000714212d3a4754606d7a85929fa9aa9e94897d70685d554e46443f41414045464e545c676f7c87929faca99f92867a6e6154473c31261a0e020000000000000000000000000000000000020e19242e3840474c4d535353535353534e4d4841392f251a0f040000000000000000000000000000000000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000020a11171b1f202a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a201f1b17110a020000000000000000000000000000000000080f161c2023232323201c160f08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000000000815222e3b47545f6a7783909dabac9f92867a6d6054473b3025191e2b37424e576673808c99a8ab9f9285796d6053473b3025190e0200000000071925323f4c5865727f8b98aaafa399897c6f6356493c302316090000000000000000000000000000000000000000000000000000000006121e2b37424d576875828f9ba8ab9f9285796c605346392d2013060000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000000000713202d3a4653606d7985929eabab9e9285796d6053463a2f241807131f2b37434e586773808d9aa8ac9f93877b6e6154473c32261b0f000000000000030f1a26313c45515c676e7b8491969fa4aca49f9b97928f8e8d8e8f9196999e9892877d707b8895a2aea396897c706356493d3023160a0000000002090f15191a25313f4c5965727f8c989f94887b6e6155483b2e221b1a18140f090100000000000713202d3a4653606d7986939f9f9f998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070c10131416191c1d1f1f20201f1e1d1b191613120f0b0600000000000000000000000000000000000000000000000000030b1218212a31363a4145474a4d505152525352514f4d4a4745403936313a4044454646464646463c3b38322b22190f04000000000915202c38434f59606d78818c92999fa2aaa9a8aaa29f9e9e9e9fa29f98928c81786d6d798699a39f9f94877a6e6154473b2e211408000005111e2a36424d5765727f8b98a2aea99c8f82756b60564c433c38332d2e34383c424b555f6a74818e9ba8aea3988c7f7266574d42372b1e1205000000000000000000000000000000000007131f2b36404a52585a606060606060605b59534b41372c201408000000000000000000000000000000000000000000010910161b1e202020202020202020202020202020202020202020201e1b161009010000000000000000060b0f12131d2020202020202020202020202020202020201d13120f0b060000000000000000000000000000000000000000050b10141617171614100b050000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d090500000000000000000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e1308000000000000000000000000000000000000000000000004101c2834404b55626f7c8895a0aca99b8e8175675d514539291e141a26313c4955626f7c8896a0aca2988a7e7164564d42362a1e1105000000000916222f3c4955626f7c8898a2aeab988c7f7265594c3f31261a0e020000000000000000000000000000000000000000000000000000000814212d3a47535f697885919eaba99c8f8276665b5044382b1f12060000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000005111e2a36424d5664717d8a97a2ada89a8d8174665c514438281d13070f1b26323c4956626f7c8996a1ada4998c7f7265584e43372b1c11060000000000000a15202934404b555e696e7b848e939a9fa3aba9a19e9c9b9a9b9c9ea09d9590867d706e7b8894abb5a396897d7063564a3d3023170a0000000000000409091623303c4956636f7c89999393887b6e6155483b2e2215080c0803000000000000000713202d3a4653606d798693939393938d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b2a282523201f1c17110f0a03000000000000000000000000000000000000000000030c151c2328333b42464c5254575a5c5e5e5f5f5f5e5c5a5753514b46423b454c50525353535353534948433d342b21160a000000020e1a26313b4854606b74808d939fa3ababa49f9b979892919192939a989d9f938f82786d7a8794abb4a094877a6d6154473a2e21140700000714202d3a46525e697683909daaada196897d7063594f433a312b282223282c3039434e58626f7c8895a0acaa9d908477695f53463a2d21140700000000000000000000000000000000000b17232f3b47525c64676c6c6c6c6c6c6c68655d53483d3124180c0000000000000000000000000000000000000000000000050a0f1213131313131313131313131313131313131313131313120f0a0500000000000000000000000003050611131313131313131313131313131313131313110605030000000000000000000000000000000000000000000000000407090a0a0907040000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201c1c1915100a02000000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b1309000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3221160c02000000000000000000000000000000000000000000000006131f2c3845515c6774808d9aa7ada1978a7d7063554b413529170d15212e3b47535f6a7784919eaaaa9c8f8276695e52463a2d20150a000000000713202d3a4653606d7985929faca89b8f827568574d42362a1e12050000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada8998c7f7366544a3f33281c0f030000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000714202d3a46525e6975828f9ca9aca096897c6f63544a403428160c010a13202d394653606c7884919eabab9d9084776a5f5347382e23170c000000000000030c18232f39434d575e696e7981878f92999b9d9e9f9f9f9e9d9b9895908b837c706b6d7a8799a49f9f978a7d7064574a3d3124170a00000000000000000713202d3a4653606d7987868686867b6e6155483b2e221508000000000000000000000713202d3a4653606d78868686868686868073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161b1d23292c2d303335373839393939383635322f2d2b28221c1b150e0903000000000000000000000000000000000000000b151e272e343f454d53565d606366696a6b6c6c6c6b696763605c55534d444f575c5f60606060606056544e463d32271b0f03000006121e2b37424e57636f7c87939fa5afa9a199938f8a878584848586888c90959e948d80747b8794a1ada093877a6d6054473a2d21140700000814212e3b4754616e7b87959fabab9e9184786c6053463d31281f1c17181c1f27313c47535f6a7784919daaaca095887b6e6155483b2e22150600000000000000000000000000000000000d1926333f4c58646e7379797979797979756f65594d4034271b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d292825211b140c04000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e181109010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040906111c2a36424d5763707d8a96a1acaaa8aab0a79b8e8174685d5245392c20130f0c07010000000000000000000000000000000000000000000713202d3a4653606d7985929eabab9e9285796d6053463a2f241807131f2b37434e586773808d9aa8ac9f93877b6e6154473c32261b0f0000000006121f2b3844505c6676838f9ca9ab9e918578695f53463a2d211409000000000000000000000000000000000000000000000000000005121e2a36424d5766727f8c99a9aca096887c6f6255493c2d22170b000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000000814212e3b4754616e7b86929facaa9e9184776b605442392e2318040005121f2b3744505b6574808d9aa9aca095887c6f62544a3f34281c100300000000000007121d27313b454d575e676d747c82868b8e909192929291908e8b88837e786f6a606c798693939393938a7e7164574b3e3124180b000000000000000006131f2c3845515c6775797979797976695f53463a2d2114070000000000000000000006121f2c3844505c667679797979797979736e63584b3f3226190c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151b21272c2f34383a3d40424445464646454543413f3c3938332d2b26201a150b06000000000000000000000000000000000007121c273039404451575f61686d7073767778797978777673706d67615e57505761686b6c6c6c6c6c6c6260584e43382c1f130700000814212e3a47535f6a76828f9aa4afaba1979287827d7a79787778797b7f838a9196928a7e7b8895a1ada093867a6d6053473a2d20140700000b1824313e4b5764717e8a97a7b1a79a8e8174665b5044382b1f160f0b0c10151f2b37434e586773808d9aa6b1a7988b7e7165584b3e2d22170b00000000000000000000000000000000010d1a2734404d5a677380868686868686868175685b4e4235281b0f0200000000000000000000000000000000000000000000000000000000000000060a0e1011131313131313100f0d0a0500000000000000000000000000000000000000000000000000000000060a0e1011131313131313100f0d0a05000000000000000000000000000005090d0f101313100f0d0a050000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f272d32353639393635322c261e160c0200000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f151a1d1a25313b4653606c7884919e9f9f9f9f9fa095897c6f63564c4135291d1e1c18130c050000000000000000000000000000000000000005111e2a36424d5664717d8a97a2ada89a8d8174665c514438281d13070f1b26323c4956626f7c8996a1ada4998c7f7265584e43372b1c110600000003101c28343f4a546673808c99a8ada197887b6e6155483b30251a0e02000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaa9e9184776a5f53473b2e1c1106000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c000000000000000000000007131f2c38434f5966727f8c99a3afa7998c807366594f4330271c120700030f1b27333f495363707c8997a1ada79a8d8074665c5044382c1f1206000000000000010b151f29333b454d555d606a6f757a7e8183858586858583817f7b77716d665f5b6678848686868686867f7265584c3f3225190c000000000000000004101c2834404b555c6a6c6c6c6c6c6c5f574d42372b1e12050000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c66635c52473b2f23170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a111720262b323839404547494c4f50525253535251504e4c4946443f3837312b262017110a020000000000000000000000000000000c18232e39424a515b63696e747a7d808384858586858482807d79746e69605b536873787979797979796f6a6054483b2e22150900000815222f3b4855626e7b88949facaea39992857d75716e686b6b666d6e72767d84909492857d8996a3aca09386796d6053463a2d20130700010e1b2834414e5b6774818e9aa7b4aa978a7e7164544a3f3328190d040000040d1b26323d4a5764707d8a97aab4a79b8e81746853493f33271b0f03000000000000000000000000000000010d1a2734404d5a6773808d93939393938e8175685b4e4235281b0f020000000000000000000000000000000000000000000000000000000000040b11161a1d1e2020202020201d1c1916100a03000000000000000000000000000000000000000000000000040b11161a1d1e2020202020201d1c1916100a0300000000000000000000020a1015191c1c20201d1c1a16110a030000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e4243464643413d3830281e140a0000000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121a20262a2c2d2b3844505b66737f8c999393939393939084776b6054443a30242c2b28241e170f070000000000000000000000000000000000000714202d3a46525e6975828f9ca9aca096897c6f63544a403428160c010a13202d394653606c7884919eabab9d9084776a5f5347382e23170c000000000b17232e3c4956626f7c8996a0aca9988c7f7265574d42362a1e1205000000000000000000000000000000000000000000000000000815212e3b4854616e7b87959faba8998c807366584e43372b1f0a00000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000915222f3b4854606b7784919d9f9f9f95887b6e6255483d3222150b0000000b17222d3a4653606d7985929e9f9f9e9185796d6053463a2d20130700000000000000030d172129333b434b51586062686e71747678797978787675726e6a64605c5454687278797979797979726d62564a3e3124180b0000000000000000000c18232e39434b51535f6060606055534d453c31261a0e0200000000000000000000000c17232e38424a505f606060606060605a58524a40362a1f130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b141c222832373d43484b515356595b5d5e5f5f5f5f5e5d5b585653504a47433c373127221b140b030000000000000000000000000004101c2834404a545c606d727b81868a8d8f9191929292918f8d8a85807b726c655c6b78858686868686867c6f6256493c2f23160900000d192633404c5966737f8c99a6b0ac9f92877c6f6b64615e56545c6062656c707a8290949083909daaaca09386796d6053463a2d2013070005111e2a36414c566a7683909da9aea298887b6e6155483b2d221708000000000a15212e3b4854616e7b8798a2aeaa9d908377655b5044372b1f1205000000000000000000000000000000010d1a2734404d5a6773808d9a9f9f9f9b8e8175685b4e4235281b0f0200000000000000000000000000000000000000000000000000000000050d151c2227292a2d2d2d2d2d2d292926211c150d0400000000000000000000000000000000000000000000050d151c2227292a2d2d2d2d2d2d292926211c150d040000000000000000040c141b212528292d2d2a2926221c150d040000000000000000000000000000000000000000000000000000000000000000000000000005111c27313a434a4e5053534f4e49423a30261b1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242b3236393939333f4a54616e7a8786868686868686867f7265594f433239393837342f2921190f0500000000000000000000000000000000000814212e3b4754616e7b86929facaa9e9184776b605442392e2318040005121f2b3744505b6574808d9aa9aca095887c6f62544a3f34281c10030000000615222e3b4754606a7784919eaaa99d908376695e52463a2d20150a00000000000000000000000000000000000000000000000006131f2b37434e5865727f8c98a7aca095887c6f6255483c32261b0f00000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0000000000000000000000091623303c4956636f7c8996939393939083776a5f53473a2e211417110b0b10121f2b3844505c6674818e93939393978a7d7063574a3d3024170a0000000000000000050f172129313a40454e54565e6164686a6b6c6c6c6b6a6865625f5753504a5660686b6c6c6c6c6c6c65625b51463a2e22160900000000000000000007121d27303940454653535353534846423c332a1f140900000000000000000000000006111c2630383f4453535353535353534d4b4740382e24190e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d262d333c43474f54555c606366686a6b6c6c6c6c6b69686562605b54534e47423c332d261d150d030000000000000000000000030e18212c3844515c666d757f878d9298999c9d9e9f9f9f9e9c9a98928d867f776d666679869293939393887b6e6255483b2f2215080005111e2a36424d576976838f9ca9b1a79a8d80736a605954524c4a5053555a61676d798290959095a0abaca09386796d6053463a2d201307000713202d3946525e687885929fabac9f9285796c605346392d201306000000000714212d3a46535e697985929facac9f9285796c605346392d201306000000000000000000000000000000010d1a2734404d5a6773808d9aa6aca89b8e8175685b4e4235281b0f02000000000000000000000000000000000000000000000000000000040d171f272e3336373939393939393635322d261f160d030000000000000000000000000000000000000000040d171f272e3336373939393939393635322d261f160d03000000000000020c161e262c32353639393635322d271f160d030000000000000000000000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60605c5a544c42382c211509000000000000000000000000000000000000030608090b0d0f1112121313121211100e0c0a070604010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1a242d363d42454646464646525e686e797979797979797979726d625647454646464544403a332b21170c0100000000000000000000000000000007131f2c38434f5966727f8c99a3afa7998c807366594f4330271c120706040f1b27333f495363707c8997a1ada79a8d8074665c5044382c1f120600000006131f2b37434e586673808d99a8ac9f93877b6e6154483c31261b0f0200000000000000000000000000000000000000000000020c15212e3b47535f6a7683909da9aa9d9184776a5f53473a2a20150a00000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000e1b2834414e5b677481868686868686867f7265574e42372b2a27221d16161b202228343f4a5463707d868686868686868175685b4f4235281c0f000000000000000000050f171f282f353d43474c5254585b5d5e5f5f5f5e5d5b5855534e46443f4e565c5e606060606060585651493f34291e1206000000000000000000000b151e272e34383a46464646463b3a37312a21180e03000000000000000000000000000a151e262e34384646464646464646403f3b362e261c1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c161f282f383f444e54596063676d707375777879797978787674726f6c66625f58534d443f382f271f150d03000000000000000000000915202c38434f59606d78818c92999fa2aaa9a8aaa29f9e9e9e9fa29f98928c81786d6d798699a39f9f94877a6e6154473b2e211408000714202d3a46525e697885929fabaca095877b6e61584f4746413f44464850555d676e7b85929da0a7b1aca09386796d6053463a2d201307000714212e3a4754616d7a8798a2aeaa9d918477665b5044382b1f12060000000005121e2a36424d576a7784919daaaea298877a6e6154473b2e211408000000000000000000000000000000010d1a2734404d5a6773808d9aa6aca89b8e8175685b4e4235281b0f020000000000000000000000000000000000000000000000000000000b151f2931393f424446464646464643423e3831281f150a00000000000000000000000000000000000000000b151f2931393f424446464646464643423e3831281f150a0000000000000a141e2830383d4143464643423e3831281f150a0000000000000000000000000000000000000000000000000000000000000000000000010d1a26323e4a545e66696c6c69665e54493d3225190d00000000000000000000000000000003070a0f121515181a1c1e1e1f1f201f1f1e1d1b19161413110d08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202b363f484e5253535353514d565e616c6c6c6c6c6c6c6c6c65625b514b5253535352504c453d33291e13070000000000000000000000000000000915222f3b4854606b7784919d9f9f9f95887b6e6255483d3222151b1313100c17222d3a4653606d7985929e9f9f9e9185796d6053463a2d201307000000030f1b27323d4955626f7c8896a0aca49a8b7f7265584e43372b1e13080000000000000000000000000000000000000000000008131e2a36414c56626f7c88959faba2988c7f7265584e43372b1f120600000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000d1a2733404c59646f7479797979797979726d6256453c313736332e272021272c2f302e384855616b7079797979797979756f65594d4034271b0e00000000000000000000050d161d242932373b4146474b4e505252535252504e4c4847423c3834454b50515353535353534c4a463f372d23180d0100000000000000000000030c151d23282c2d39393939392e2d2b261f180f060000000000000000000000000000030c151c23282c393939393939393933322f2a241c140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e283139424a50585f626b6f75797d7f828385858686858483817f7c79746f6a625f575049413931271f150b010000000000000000020e1a26313b4854606b74808d939fa3ababa49f9b979892919192939a989d9f938f82786d7a8794abb4a094877a6d6154473a2e211407000814212e3b4754616e7b8798a2aeaa9d908377695e53463d393634383a3e434c555e69717e8b97a1adb9aca09386796d6053463a2d201307000915222f3c4855626f7b8895aab4a99c8f837669544a3f33281c0f0300000000020e1a2531434f5c6976828f9ca9b4aa95887b6f6255483c2f221509000000000000000000000000000000010d1a2734404d5a6773808d9a9f9f9f9b8e8175685b4e4235281b0f02000000000000000000000000000000000000000000000000000006111c27313b434a4f51535353535353504e49423a31261c100500000000000000000000000000000000000006111c27313b434a4f51535353535353504e49423a31261c10050000000005101b26303a42494e4f5353504e4a433a31271c110500000000000000000000000000000000000000000000000000000000000000000000030f1c2935424e5a66707679797670665a4e4135281c0f00000000000000000000000000040a0f13151b1f21222527292a2b2c2c2d2c2b2b2a28262321201d1913100c07010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a26323d4851595e606060605e575552545f606060606060606058565053585f6060605f5c574f453a2f24180c000000000000000000000000000000091623303c4956636f7c8996939393939083776a5f53473a2e2d2d28201f1c18121f2b3844505c6674818e93939393978a7d7063574a3d3024170a000000000a15212e3b47535f6a7784919daaac9c9083766a5f53473a3025190d010000000000000000000000000000000000000000010d1924303946525e6874818e9aa7aa9f92857a6d6054473c31261b0f0300000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000b1824303c48535d64676c6c6c6c6c6c6c65625b5146464644433f3932292b32383b3d4646444f5961636c6c6c6c6c6c6c68655d53483d3125180c0000000000000000000000040c131820272b3036393b3e4143454646454543423f3b3a37312c283a4043454646464646463f3e3a342d251b1106000000000000000000000000030b12181c1f202c2d2d2d2d22211e1a140e0600000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2726231f19120a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d273039434b545b606a6f767c8185898c8e90919292929291908e8b8985817c756e69605b534b433931271d1207000000000000000006121e2b37424e57636f7c87939fa5afa9a199938f8a878584848586888c90959e948d80747b8794a1ada093877a6d6054473a2d21140700091623303c4956636f7c8996aab4a79a8e817467574d42342d2a282b2d313a434d57606d7985929eabb8aca09386796d6053463a2d201307000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422d22170b000000000000091c2835424f5b6875828e9ba8b0a396897d7063564a3d3023170a000000000000000000000000000000010d1a2734404d5a6773808d93939393938e8175685b4e4235281b0f0200000000000000000000000000000000000000000000000000000a16222e39434d555b5d6060606060605c5a544c42382d21160a0000000000000000000000000000000000000a16222e39434d555b5d6060606060605c5a544c42382d21160a000000000915212c38424c545a5c60605d5a544c43382d22160a0000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768286868276695c4f4336291c100000000000000000000000040b10161b1f22262b2e2f3233353738383939393837373532302d2c29241f1d18120b060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a36424e59636b6c6c6c6c6b64615a534d53535353535353534d535b60656c6c6c6c6b6861574c4034281c0f0300000000000000000000000000000e1b2834414e5b677481868686868686867f7265574e4237393939352d2c28231d1c28343f4a5463707d868686868686868175685b4f4235281c0f0000000006131f2b37434e5865727f8c98a2ab9f94887c6f62564c4135291e1308000000000000000000000000000000000000000005111d2935414c56616e7a86929faca3988d8074685d5245392a20150a0000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c00000000000000000000000814202b36414a53595b6060606060606059565153535353514f4a443b32353d444849535353534f5557606060606060605b59534b41372c20140800000000000000000000000001070d151b1e252a2d2e31353738393939383735322f2e2b261f282f34373839393939393932312e29231b1309000000000000000000000000000000070c10131320202020201514120e090300000000000000000000000000000000000000060c101220202020202020201a1917130e0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18232e39434b555d666c737c83898e9298999b9d9e9f9f9f9f9e9c9b9897918d88827b736c655d554b43392f24180e05000000000000000814212e3a47535f6a76828f9aa4afaba1979287827d7a79787778797b7f838a9196928a7e7b8895a1ada093867a6d6053473a2d201407000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f31261e1c1f2028313b45515c6673808d99aab4aca09386796d6053463a2d201307000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b060000000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a000000000000000000000000000000010d1a2734404d5a677380868686868686868175685b4e4235281b0f0200000000000000000000000000000000000000000000000000010e1a27333f4a555f676a6c6c6c6c6c6c69665e54493e3226190d0100000000000000000000000000000000010e1a27333f4a555f676a6c6c6c6c6c6c69665e54493e3226190d010000000d1925323d49545e66696c6c69665e544a3e32261a0d0100000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000000000000000000060c161b21272c2f31373a3c3e4042444545464645454443413f3d3a39352f2c29241d17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3945525e6b757979797978706c615f57514b434646424b51575f656c71787979797873685c5044372b1e110500000000000000000000000000000d1a2733404c59646f7479797979797979726d6256453c45464646413a38342e271e232e384855616b7079797979797979756f65594d4034271b0e00000000030f1b26323c4754606d7a86929faaa69a8d8174685e52463a2f24190d02000000000000000000000000000000000000040d1a232d3946525d6873808d98a3aa9f92867b6e61564c413529180e040000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326190c0807050200000000000000030f1a252f3841484c4e53535353534c525f6060606060605d5b554d44393d474f54566060606060605a585353535353534f4d4841392f251a0f040000000000000000000000000000040a0f14191e202125282a2b2c2c2c2b2a282522211e1a151d23272a2b2d2d2d2d2d2d2524221e1811090100000000000000000000000000000000000406071313131313080705020000000000000000000000000000000000000000000000030613131313131313130d0c0a070200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2834404b555d676d78808790949b9fa2a9a29e9c9b9a9a9b9d9fa3a9a19e9a948f877f776d675d554b40352920170d020000000000000815222f3b4855626e7b88949facaea39992857d75716e686b6b666d6e72767d84909492857d8996a3aca09386796d6053463a2d201307000b1824313e4b5764717e8a97a4b0a4978a7d7164574a3e3124171012161f2834404b54626f7c8998a3aeaca09386796d6053463a2d201307000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b000000000000000000000000000000000d1926333f4c58646e7379797979797979756f65594d4034271b0e010000000000000000000000000000000000000000000000000003101d2936424f5b6771777979797979797670665a4e4235291c0f030000000000000000000000000000000003101d2936424f5b6771777979797979797670665a4e4235291c0f030000000f1c2835414e5a66707679797670665a4e4235291c0f0300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000000000000030a111721272c32383b3c4347484b4d4f5151525253525251504e4c494745413a39352f28221c140b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7987868686847d756e69605c554f46454f545c60696e777e8586868685786b5f5245382c1f120500000000000000000000000000000b1824303c48535d64676c6c6c6c6c6c6c65625b514c50525353534e464540393029202c38444f5961636c6c6c6c6c6c6c68655d53483d3125180c00000000000a15202c3945525d6874808d98a3ac9f92867a6d61564c4135291f14090000000000000000000000000000000000010c161f2a36424d57616d7a85929faaa2988d8074695e52433a2f241906000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f332619191514120e090300000000000008131d262f363c4041464646414c565e6c6c6c6c6c6c6c6a675f554a3f444f5960636c6c6c6c6c6c67645c534846464642403d372f271e1309000000000000000000000000000000000002080e111414181b1d1f1f201f1f1d1b191514120e0912171b1e1e202020202020191816120d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313a45515c676d79828d92999fa6a39f9a97928f8e8d8e8e9092989b9fa3a69e99928c82796d675d51453f32291e14080000000000000d192633404c5966737f8c99a6b0ac9f92877c6f6b64615e56545c6062656c707a8290949083909daaaca09386796d6053463a2d201307000b1825313e4b5864717e8b97a4b0a396897d7063564a3d3023170a060d18232e3a4653606d7986929facaca09386796d6053463a2d201307000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e0100000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b000000000000000000000000000000000b17232f3b47525c64676c6c6c6c6c6c6c68655d53483d3124180c000000000000000000000000000000000000000000000000000004111e2a3744515d6a77838686868686868276695c504336291d10030000000000000000000000000000000004111e2a3744515d6a77838686868686868276695c504336291d1003000000101c2936434f5c69768286868276695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000000000000030c151c232832383d4348494e5355585a5c5d5e5f5f605f5e5e5d5b595654514c47454039332d261d181008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e889396918a827b736d67615953525960666d737b828b929792877e7064574a3d3124170a0000000000000000000000000000000814202b36414a53595b606060606060605956514f575d5f6060605b53514b423a322a28333e474f5557606060606060605b59534b41372c201408000000000004111d2935414c56616e7b86929faaa2988c8073685d52453b30251a0d030000000000000000000000000000000007121d28313946535e6973808d98a2a89f92857a6d61564d4231281e1308000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3326252522211e1a140e060000000000010b141d252b30333439393946525e68767979797979797771675b4f434854606b70797979797979746e64584c4039393534312c251e150c0200000000000000000000000000000000000000020507080b0e101213131212100f0c0808060200070b0f11121313131313130c0b09060100000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a0500000000000000000000000000000000000000000000000000000000000000000000020608080b0e1011121313121211100d0b080705020000000000000000000000000000000000000000000000010d19242f3a43505a606d79828f949fa3a7a099928e898583818181828386898e92999fa7a39f948f82796d605b51443b3025190e020000000005111e2a36424d576976838f9ca9b1a79a8d80736a605954524c4a5053555a61676d798290959095a0abaca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa296897c6f6356493c302316090007131f2c3845515c667683909da9aca09386796d6053463a2d201307000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b0000000000000000000000000000000007131f2b36404a52585a606060606060605b59534b41372c201408000000000000000000000000000000000000000000000000000004111e2a3744515d6a778490939393938f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a778490939393938f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000000000030d151e262e343d44484f5456585f626566686a6b6b6c6c6c6b6a6a686563605d5553514b443f382f2a221a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4956626c717f8b919e948f868079706b615f5d606b6f797f868f949f93887e716c6155493c3023160a000000000000000000000000000000030f1a252f3841484c4e535353535353534c4a4c5761696b6c6c6c68605c544c443c342c2c353e44484a535353535353534f4d4841392f251a0f040000000000010d19242f3a46525e6974808d98a2aa9f92857a6d60574d42362a1f150b010000000000000000000000000000050e18242f39434f59616e7b86929faaa0968c7f72685e52443b301f160c01000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f333232322e2d2a261f180f060000000000020b131a202427282d2e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e41342d282725201a130c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000000000000000000000000000000000000000205090e121415181b1d1e1f20201f1f1e1c1a181514120e090502000000000000000000000000000000000000000004111d2935414c56616c74818e949ea6a69f959087817c79767474747577797d818790959ea5a69e948e81756d62564c41362a1e1408000000000714202d3a46525e697885929fabaca095877b6e61584f4746413f44464850555d676e7b85929da0a7b1aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090004101c2834404b546875828f9ba8aca09386796d6053463a2d201307000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b0e0100000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a00000000000000000000000000000000020e19242e3840474c4d535353535353534e4d4841392f251a0f04000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000000020b151f2730383f444f54596063676a6f7173757778787979787877767472706d6764605d55504a423c342c231a100700000000000000000000000000000000000000000000000000000000000000000000000000000000000815212d3945505a626d727f8b919c98928c847d756e69686d747c838c92989c918b7f726c625a5044392d2014080000000000000000000000000000000008131d262f363c4041464646464646463f44505d697378797979746d665e564e463e35282c33383c3d4646464646464642403d372f271e13090000000000000008131e2a36424d57616d7a85929fa8a2978d8073695e52463d31271d120700000000000000000000000000020b17202935404b55606b75828f98a3a59d9184796d60564c4132291f0d0400000000000000111e2b3744515e6a7784919daaa5998c7f7266594c3f3f3f3f3f3b3a36312a21180e03000000000001080f14181a1b212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271c1b18140f090200000000000000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b09060100000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d04000000000000000000000000000000000000000000000000000002080e11151a1e21222528292b2c2c2c2c2b2b29272522211e1a14120e09020000000000000000000000000000000000000613202c3945525d68717e8a939da6a89f948f837c746f6c6668676768666d70757c838f939ea7a69e938b7f72685e52463b3025190d010000000814212e3b4754616e7b8798a2aeaa9d908377695e53463d393634383a3e434c555e69717e8b97a1adb9aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000c18232e414e5b6874818e9ba7aca09386796d6053463a2d201307000a1723303d4a5663707d8996a3b0a89b8e8175685b4e4235281b090000000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a00000000000000000000000000000000020e1a26313c454e53556060606060606055534e463c31261b0f03000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000000000a141d273139424a505960636b6f74787b7e8082848485858685858483817f7c7a75716d67605b544e463e352c23190d040000000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343e48505a626d727f8c929c9f96918a827b73717a818891959f9d928c7f736d625a50483e33281c100400000000000000000000000000000000010b141d252b303334393939393939393845525f6b788586868681786d685f584f473f342e272c2f30393939393939393534312c251e150c0200000000000000010e1a25303b46525e68727f8c96a0a99f92867b6e61594f43392f24180e040000000000000000000000000a141d29323a45515d67707d89939ea89d93897d70675c51443a3020170d0000000000000000111e2b3744515e6a7784919daaa5998c7f7266594c4c4c4c4c4c4846423b332a1f14090000000000000003080b0814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e0c08040000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d060000000000000000000000000000030d161f272d32353639393635322d271f160d03000000000000000000000000000000000000000000000002080d14191e20262b2e2f323436383939393938373634322e2d2b26201e1a140e090200000000000000000000000000000004111d2935414c55606d7a85929ea5aca0968f82796e6a62605b545a5b545c60636a6e78818f959faba59f92857a6e61564c41362a1e1105000000091623303c4956636f7c8996aab4a79a8e817467574d42342d2a282b2d313a434d57606d7985929eabb8aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090000071a2734404d5a6773808d9aa6aca09386796d6053463a2d201307000916222f3c4955626f7c8895aab4a99c8f8276695c4f4330251a0e0200000000030f1c2936424f5c6975828f9ca8b5ab95897c6f6256493c2f2316090000000000000000000000000000000006121e2b37424e575f6c6c6c6c6c6c6c6c625f584e43372b1f1206000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000006111b262f39434b545c606b70767c8184888b8d8f9091929293929191908e8c8986827e79716c665f584f473e352b1f160c01000000000000000000000000000000000000000000000000000000000000000000000000000000000c17222d363f48515b636d737f8c929ca09e948f867f7d848d939aa09d938d80736d635b51483e362c22170b000000000000000000000000000000000000020b131a202427282d2d2d2d2d2d2d323f4c5965727f8c93938e827a6f6a615951444039302823242d2d2d2d2d2d2d282725201a130c0300000000000000000009141f2a36414c56606d7984919da5a2988e81756b60554b40352920160b020000000000000000000006111c262f3a444f59606d7984919ea5a1968e81746b60554b4032291e0e050000000000000000111e2b3744515e6a7784919daaa5998c7f72665958585858585855534d453b31261a0e020000000000000000000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d181109010000000000000000000000000a151f2831383e4243464643423e3831281f150a00000000000000000000000000000000000000000000040c13191f252a2d31373a3b3e41434445464645454443403e3b3a37312d2a251f1a140d0500000000000000000000000000000613202c3945515d6773808d97a1ada69e91847a6d675f5853504a4e4e4b5153585f666d79839099a3ada2978d8174685e5246392d2014090000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f31261e1c1f2028313b45515c6673808d99aab4aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000814212e3b4754616e7b8798a3aeaa9d9084776a574d42362a1e12050000000005111d2935414c566a7783909daaafa399877b6e6154483b2e211508000000000000000000000000000000000814212e3a47535f6a7679797979797979766a5f53473a2e211508000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000000b17222d38414b555c666d737d82898e919698999b9d9e9e9f9f9f9e9d9d9b9898928f8a857e786f6a61594f473d31281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242d363f49515b636d73808d929da49e98928c8a91969fa49e938e81746e645b51493f362d241a10050000000000000000000000000000000000000001080f14181a1b20202020202025313e4a56626d75818f969490847c706b625b514a423a322a21192020202020201c1b18140f090200000000000000000000020d1925303a45515c67707d89939da89e93897d70675d51453d32281d140a000000000000000000071017222d38424c56606b74808d96a0a3999184796d60594f43392e20170d000000000000000000111e2b3744515e6a7784919daaa5998c7f726665656565656565615f574d42362a1e12050000000000000000000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b1309000000000000000000000005111c27313a434a4e505353504e4a433a31271c11050000000000000000000000000000000000000000080e161e25293036393c4247484b4e50515253535252514f4d4b4846423c3a36302a251f170f08000000000000000000000000000714212d3a4754606d7a85929fa9aa9e94897d70685d554e46443f41414045464e545c676f7c87929faca99f92867a6e6154473c31261a0e0200000b1824313e4b5764717e8a97a4b0a4978a7d7164574a3e3124171012161f2834404b54626f7c8998a3aeaca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000713202d3a4653606d7986929facab9f928578695e52463a2d201407000000000713202d3946525d687885929eabac9f9286796d6053463a2d201307000000000000000000000000000000000815222f3b4855626e7b868686868686867c6f6255483c2f22140a000000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000030f1b27333f49535c676d7880888f949a9ea1a8a6a9a19e9d9d9c9d9d9ea1a9aaa39f9b97918b837c706b61594f433a2f24190d010000000000000000000000000000000000000000000000000000000000000000000000000000000009121b242d373f49525b636e74808d929da5a39f99979ea1a69e948e81786c605c524940372d241b11080000000000000000000000000000000000000000000003080b0d0e131313131316222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a1313130f0e0c08040000000000000000000000000008131e2834404b55606b74818e96a1a59d9184796d60594f443a2f261b110600000000000000060f192228333f4a545e68707d88939fa69f92877d6f675d51473d30271d0e05000000000000000000111e2b3744515e6a7784919daaa5998c7f7272727272727272726e695f53463a2d2114070000000000000000000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e0100000000000000000000000000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b1106000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a000000000000000000000000000000000000020a121a202830353b4146474e5355585b5c5e5f5f5f5f5e5e5c5a5855534d4846423b363029211a120a020000000000000000000005111e2a36424d5765727f8b98a2aea99c8f82756b60564c433c38332d2e34383c424b555f6a74818e9ba8aea3988c7f7266574d42372b1e120500000b1825313e4b5864717e8b97a4b0a396897d7063564a3d3023170a060d18232e3a4653606d7986929facaca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070006121f2b3844505c667784909daaaea298877b6e6154483b2e21150a000000000714212e3a4754616d7a8797a1adaa9e918477665c5145382c1f1306000000000000000000000000000000000714212d3a4754606d7a879893939393897d7063564a3d2f261b11060000000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000005121f2b3744505b656d79828d939a9fa6a7a09d999697929090909090929795999da0a7a19e9590867d706b60564c4135291d1307000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b252d374049525c646e74808d939da59f9f9f9fa79f948f82786d665b504a40372e251b1209000000000000000000000000000000000000000000000000000001010606060606121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c0300020100000000000000000000000000000000020c18232e39434f59606d79849199a3a0968d80736b60564c41382d221710070000000000030d18212b343d44505b666d7a85919aa49e948c7f726b60554b41352b1e150b00000000000000000000111e2b3744515e6a7784919daaa89b8f817f7f7f7f7f7f7f7f7f7b6e6155483b2e2215080000000000000000000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e01000000000000000000000000000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d010000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d0100000000000000000000000000000000020b141c242c323a41464d5254575f626567696b6c6c6c6c6b6a696765615f5754524d46423b332c241c140a020000000000000000000714202d3a46525e697683909daaada196897d7063594f433a312b282223282c3039434e58626f7c8895a0acaa9d908477695f53463a2d21140700000b1825323e4b5865717e8b98a4afa296897c6f6356493c302316090007131f2c3845515c667683909da9aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070003101c28343f4a546875818e9ba8b3aa978a7d7064574a3d32271b0d04000001081623303d495663707c8996a9b3a89c8f827569544b4034281c1004000000000000000000000000000000000613202c3945525d687985929f9f9f998c7f7366584e41382d2217110a02000000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000005111e2a36414c56606c77818e949fa4a7a09d95908c89878584838383848587898c90959ea1a7a09892867d6f685d52453a2f24180d01000000000000000000000000000000000000000000000000000000000000000000000000000000000009131c252e37404a525c606c77818e93939393939393959082796d665c544a3f382e251c1309000000000000000000000000000000000000000000000000000000000000000000010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c030000000000000000000000000000000000000007121d27303d45515d676f7d87929fa69f93877d6f685e53493f332722190f060000000009141f29333d46505a606c78828f97a1a0958f82776c60594f433a2f23190c0300000000000000000000111e2b3744515e6a7784919daaaa9e938f8b8b8b8b8b8b8b8b8a7d7164574a3e3124170b0000000000000000000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c000000000000000000000000000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d12060000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f03000000000000000000000000000000010b141d262e363e444c52565e61666a6e717476777879797878777673716e6966615e57524d453e362e261c140a0000000000000000000814212e3b4754616e7b87959fabab9e9184786c6053463d31281f1c17181c1f27313c47535f6a7784919daaaca095887b6e6155483b2e22150600000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090004101c2834404b546875828f9ba8aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000b17232e3f4b5865727e8b98a8b2a69a8d807367584e43372b1f15100c090e131e2a36414c5666727f8c99a5b3aa998c7f7366594c402e23180c000000000000000000000000000000000004111d2935414c566976838f9caca99d9083766a6053493f3327221b140b040000000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000713202d3946525e68727f8c939ea6a59d959089837f7c7a787776767677787a7c7f838a9297a1a9a29891847a6d60554b4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c252e384044505b656c7881868686868686868683796d675d544a42382d261c130a0100000000000000000000000000000000000000000000000000000000000000000000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b00000000000000000000000000000000000000000b151e2935414b55606b727f8c949ea49991847a6d655b50443e342b21180d030000020e1a26313b454e58616c73808d949ea19791837a6d655b50473d31281d11070000000000000000000000111e2b3744515e6a7784919daab0a69e9b98989898989898978a7d7164574a3e3124170b0000000000000000000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b0000000000000000000000000000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e221509000000000000000003101d2a3643505d69768286868276695d5043362a1d100300000000000000000000000000000009131d262f38404850565e61686e73777b7e81838485868685858482807e7b77736e69615e57504840382e261c130900000000000000000b1824313e4b5764717e8a97a7b1a79a8e8174665b5044382b1f160f0b0c10151f2b37434e586773808d9aa6b1a7988b7e7165584b3e2d22170b00000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000c18232e414e5b6874818e9ba7aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000615222f3c4855626f7b8896a0acaa9d9184776a6054473c31271f1c181b1a1e242d3946525e6876838f9ca9aea298897c706356493d302316070000000000000000000000000000000000010d19242f3f4c5966727f8c9aa4ab9f95897c6f655b50443e332d261d160e0600000000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100004101c2834404a54616d7a85929fa5a69d938e837d77736f6d686a6a696a6a676d6f73787e859196a1aaa1968d8073675d5145392c201306000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a131c2627333f49535b666c757979797979797979776d675d554b42392f261c140a0100000000000000000000000000000000000000000000000000000000000000000000000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d120700000000000000000000000000000000000000030c18242f3a434f59606c77828f95a0a1968f82776c605a50463d33291f1409000005121e2a36424d57606a717e8a929ca29892857b6e685d53493f352b1f160c000000000000000000000000111e2b3744515e6a7784919d9f9f9f9f9f9f9f9f9f9f9f9f978a7d7164574a3e3124170b00000000000000000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e221609000000000000000000000000000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000007101b252f38404a525a61686d747b8084888b8e8f919292929291918f8d8b8884807b746e69615a524a40382e251b0f06000000000000010e1b2834414e5b6774818e9aa7b4aa978a7e7164544a3f3328190d040000040d1b26323d4a5764707d8a97aab4a79b8e81746853493f33271b0f03000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090000071a2734404d5a6773808d9aa6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000815212e3a47535f6a7784919eabaca095887c6f62584e4339312c282327262b2f35414c56616d7a86929facab9f9285796d6053463a2d2013070000000000000000000000000000000000000815222f3b4855626e7b87939faba79c9082776c605a50443f382f282017110a020000000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100006121f2c3844515c6674808d98a2aa9e948e8179706b6663605d565d5d5d555d6062656c717b84919ea8a99f92857a6d6054473a2d21140700000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a1417222d38414a545b60686c6c6c6c6c6c6c6c6a605d554c433930271d140a0200000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c000000000000000000000000000000000000000007131d28313d44505b656d7a839197a19e948c80736c61584e453b31261a0e02000714212d3a46535f696f7c869293939992867c6f695f564c41382d23190d04000000000000000000000000111e2b3744515e6a77849193939393939393939393939393938a7d7164574a3e3124170b000000000000000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e120600000000000000000000000000000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000030c19222d37404a525c636c717a81868c9196989a9c9e9f9f9f9f9e9d9c9a9895918d86817b716c645c524a40372d21180e03000000000005111e2a36414c566a7683909da9aea298887b6e6155483b2d221708000000000a15212e3b4854616e7b8798a2aeaa9d908377655b5044372b1f1205000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000006121f2b37434e586673808d99a3afa89b8e81756a5f554b433c38342e3431373a4145525d68737f8c99a3afa79b8e8175675c5145382c1f13060000000000000000000000000000000000000814212e3a47535f6975828f99a3ab9f948c7f726c615a5049413a3227221b140b0400000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000713202d3a4653606d7885929fa9a2988f82786d6760595654524c5050504c5154535b6069707d8a96a0aca2988a7e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f38424a50535b60606060606060605d54514c433a31271e150b02000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c100400000000000000000000000000000000000000010c161f27333f49535d686e7b859298a29f93887e706a60574d42362a1e1205000815222e3b4855616e7b858686868686867d706a60574d433a2f261b110700000000000000000000000000111e2b3744515e6a7784868686868686868686868686868686867d7164574a3e3124170b0000000000000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d01000000000000000000000000000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000a151e2b343f49525c646e737e858d92999da0a8a9a29f9d9c9b9c9d9fa2aaa7a09d99928e857e736e645c52493f332a1f140900000000000713202d3946525e687885929fabac9f9285796c605346392d201306000000000714212d3a46535e697985929facac9f9285796c605346392d201306000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000030f1a26313c4854616e7b87929faaac9f92877c6f675d554e46454041414142474c515b606d7a85929eabaca095897d7063554b4034281c100400000000000000000000000000000000000006121e2b37424d57626f7c87929fa7a69f93877e716c605b534c443d332d261d160e06000000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000a1723303d4a5663707d899297979992857b6e665c554f49474541434343414547495057616b7784919daaaa9a8d8174675a4e4134271b0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f44464e5353535353535353504745413a31281f150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f13060000000000000000000000000000000000000000040d17222d38414c565f696f7d869299939a92867c6f695f53463a2d211407000714212d3a46535f696e78797979797979706b61584e453b31281d140a0000000000000000000000000000101d2a36434f5b67717779797979797979797979797979797979716c6155493c3023170a00000000000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b11070000000000000000000000000000000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000006111c26303d46515b646e74808a92979fa3a9a19e999792908f8f8f909298989d9fa7a39f97928a80736e635b51453b31261a0e04000000000714212e3a4754616d7a8798a2aeaa9d918477665b5044382b1f12060000000005121e2a36424d576a7784919daaaea298877a6e6154473b2e211408000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000a15212d3a46535e6975818e98a3aea3999083796d675f5853514b4e4e4e4d53555d606d74818e97a1ada69d9083776b605443392e23180c00000000000000000000000000000000000000020e1a26313c4754606a73808d959fa8a49992877e736c655e564f443f382f2820180f070000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000a1724313d4a5764707d8285878a8c8d8073685e544b433d3a39352f362f35393a3f444f596774818d9aa7a99c908376695d5043362a1d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333839424646464646464646443a39352f281f160d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d20130700000000000000000000000000000000000000000006111b262f3a434d57606a707d868686868686857b6e6155483b2e2215080005121e2a36424d575f616b6c6c6c6c6c6c6361594f463d332a1f160b0200000000000000000000000000000e1b27333f4b565f676a6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d2114080000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b130900000000000000000000000000000000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000c17232e38424f59626d74808d929ea1a9a39f97918c8885838282838385888b90959ea1a8a29f928d80736d62574d42362a20160a000000000915222f3c4855626f7b8895aab4a99c8f837669544a3f33281c0f0300000000020e1a2531434f5c6976828f9ca9b4aa95887b6f6255483c2f221509000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000005121e2a36424d57616e7b86929fa6aba0958f82796f6a63605c555b5a5b575f62676d747f8c939ea9a99f948a7d7064594f4430271d120700000000000000000000000000000000000000000915202b37434e58606d79839096a0a7a39992877f776d6860595049413a322a2119100700000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000a1623303c4955616c7076787b7d80827c6f62564d4239302d2c29242a24292c2d33404c5966737f8c99a6aa9d9184776a5e5144372b1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c22282b2d353939393939393939372d2c29241e160d040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e211408000000000000000000000000000000000000000000000a141d28313b454e58616b70797979797979786e695f53463a2d21140700020e1a26313b454d53555f60606060605f57554f473e342b21180d040000000000000000000000000000000b17232e39444d565b5e60606060606060606060606060606060575550483e33281c1104000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e181109010000000000000000000000000000000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d2013000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000003101c28343f4a54606b727f8c929ca4aaa299928c84807b787675757677797b7f838a91969fa6a49c928b7f72695f53463d32271b0f030000000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422d22170b000000000000091c2835424f5b6875828e9ba8b0a396897d7063564a3d3023170a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000020e1a25313b46535f69737f8c949fa7a79f948f837c75706d676867676869696e737a818c919ca5aaa1978f82766c6155473d331e150b000000000000000000000000000000000000000000030f1b27323c45515d676e7a8490959ea6a399938c827a6f6b605b534c443c332b22191107000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000814202d39444f59616469696e7073756f6a5f53443b302721201f2023282c2f353a424d566673808c99a6aa9e9184776b5e5144382b1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171c1f20282d2d2d2d2d2d2d2d2a21201d19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d20140700000000000000000000000000000000000000000000020b161f2a333d464f5961636c6c6c6c6c6c6b615f574d42362a1e1205000009141f29333b424648525353535353534a48443e352c22190f060000000000000000000000000000000006121d28323b444b4f51535353535353535353535353535353534a49453e362c22170c000000000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d0700000000000000000000000000000000000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000006121f2c3844505c666f7c87929fa4aba29892878079736f6a6a696869656c6e72777d848f949fa6a49f92867b6e61584e43382b1f13060000000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b060000000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000009141f2a36424d57606d78828f959fa7a69f959087817d79777574747476787b80858e939ca3aaa29892857b6e615a5044352b210c03000000000000000000000000000000000000000000000a15202935404b555e686e7b838f949fa3a49f948f847d726c655d564d453d342b23190f060000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100004101c28333e474f5557575e61646669625f584e4332292122282b2d2e34383a40454c545e6975828f9ba8aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131b20202020202020201d1413110d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e11050000000000000000000000000000000000000000000000040d18212b343e474f55575f60606060605f55534d453b31261a0e020000030d18212931363a3b454646464646463d3c38332c231a10070000000000000000000000000000000000000b16202932393f4344464646464646464646464646464646463e3c39332c241a100500000000000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b090601000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f231609000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000003101c28343f4a54606d78839099a3afa39992867d736d67625f585c5c535b6061656c707a828f949fa9a2988f82766a6054473b2e2215080000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000030e1a26313b44505c666d7a8390959da5a7a099938e898683828181818385888c92979da5a7a09892867d70695e52483e3323190f0000000000000000000000000000000000000000000000040c18242f39434c565e696e7a828c9299a1a69e9691877f776d685f574e463d352b21180c0300000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000b17212c353e44494a4d535457595c55534e463c312a2d2d3338393c4045464b51565d666e7b86929faca89c8f8275695c4f4236291c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306060f1313131313131313110706040100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e02000000000000000000000000000000000000000000000000060f19222c353e44484a535353535353524846423b33291f140900000000060f181f262a2d2e38393939393939302f2c28211a110800000000000000000000000000000000000000040e1720282e3336373939393939393939393939393939393931302d28221a120800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c201407000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000006121f2c3844505c66727f8b95a0aba89f92877d706b605d55534e4f4f495053555a61686d79829097a1a49f94897c6f6256493c2f2316090000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e0100000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000009141f28343f4a545e686d7a838e929d9fa7a49f9b9892908e8e8d8e8f9197999ea1a9a29e9590867d706b60574d42362c22110800000000000000000000000000000000000000000000000007121d27313b444d565e686d777f8791979fa6a199928c827a6e6960584f473d332a1e150a00000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000005101a232c33393c3d4246484a4d4f4847433c3431363a3b3f4446494b5153555d60686d78828f98a2aea7998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e1408000000000000000000000000000000000000000000000000000007101a232c33383c3d464646464646453b3a36312921180d030000000000060d141a1e21222c2d2d2d2d2d2c2423201c161008000000000000000000000000000000000000000000050e161d23272a2b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313131313130d0c0a070200000000000005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c1004000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000713202d3a4653606d7984919ea7ada1968d80736b6059514b474342423f44464850565d676d7a85929b9993908c8275685c4f4235291c0f0200000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000030b17232e38424c565e686d79818990959b9fa2aaa39f9d9b9a9a9b9c9ea1a9a49f9c97928c837b706b60594f453b30241a1000000000000000000000000000000000000000000000000000010b151f29323b444d565d656c727d858f949fa3a39f948f847b6f6a60594f453c30261c1106000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000008111a21282d3031363a3b3d40423c3a37373b3c4246484a505355555c6063676d727a818f949eaaab9f95887c6f6255493c2f22160900000000000000000000000000000000000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c08030000000000000000000000000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d0200000000000000000000000000000000000000000000000000000008111a21282c2f30393939393939382e2d2a261f180f060000000000000003090e1214151f202020202020171614100b050000000000000000000000000000000000000000000000040b12171b1d1e20202020202020202020202020202020171714110c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d121618192020202020201a1917130e0800000000000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b00000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000004101d2935404b5564717d8a96a1acaa9e9184796d60594f45403937312d3337393e444c555e68717e8b8e8a86837f7c6f6255483c2f2215090000000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b0e0100000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000006111c26303a444c565e676d747c83898e9298999b9d9e9f9f9f9f9e9d9b999993908b857f786e6960594f473d33291f12080000000000000000000000000000000000000000000000000000030d172029323b444c535b606b707a828c9299a1a69e9691857d6f6b60574d42382e23170c020000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000000810171c2023252a2d2e31333036393c4347494d5354545b606266676d7074797e858f939ea6aea49d9083776a6054473b2e2215080000000000000000000000000000000000000000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f090100000000000000000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000810161c2023242c2d2d2d2d2d2c22211e1a140d060000000000000000000002050708121313131313130a090704000000000000000000000000000000000000000000000000000000060b0e1011131313131313131313131313131313130b0a080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2726231f19120a020000000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a100500000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000613202c3945515d6775828f9ba8aea3988b7e71675d51473d352f2b2622272b2d323a434c56606d7883817e7a76736f6a5f53473b2e2115080000000a1723303d4a5663707d8996a3b0a89b8e8175685b4e4235281b090000000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000000000000000a141e28323a444c555c606b6f777d8185898c8e90919292929291908f8d8a86837e79726d665f574f473d352b20170d00000000000000000000000000000000000000000000000000000000050e172029323a4149505960686d777f879297a0a8a09792867d6f695f544a3f34281e13080000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000000050b1014161a1e21282f353a4146474e5455575e6165666c6f7276797d81858b91979ea5afa69d92897d7063584e43372b1f1306000000000000000000000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b0300000000000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d0500000000000000000000000000000000000000000000000000000000000000050b101416172020202020201f1514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e313239393939393933322f2a241c140a0000000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a11080000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000714202d3a4753606d7a86929facac9f92867a6d60554b403529241d1a171b1f2028313a44515c666d7775716d6866625f584e43372b1f12060000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4330251a0e0200000000030f1c2936424f5c6975828f9ca8b5ab95897c6f6256493c2f231609000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000020c162029323a434b515960636b7075797c7f82838485868685858382807d7a76726d67605c544d453d352b23190e050000000000000000000000000000000000000000000101020000000000050e1720282f383f444f565e656c727d859196a0a9a29892857b6e665c50443a3025190d0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000000000000409121b232b323a41454c525458606266696e7175797c7f8285898d92979ea1a9ada59e948d80746b6054463c32271b0f030000000000000000000000000000000000000000000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b010000000000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e0802000000000000000000000000000000000000000000000000000000000000000000000407090a13131313131312080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002070a0c0d13131313090907030005090d0f101313131312100d0903000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a0500000000000000000000000000000007111b252d343a3e3f464646464646403f3b362e261c120800000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c161008000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000a1723303d4a5663707d8998a3aea89b8e8275675d51433a2f23181d1d1d1d1d161f2834404a545c606a6864615e5655534e463c32261b0f030000000814212e3b4754616e7b8798a3aeaa9d9084776a574d42362a1e12050000000005111d2935414c566a7783909daaafa399877b6e6154483b2e211508000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000000050e1720353f474e524f54596063676d70727576787879797878777573706d6865605d55504a46423c332a1f14090000000000000000000000000000020507080a0b0c0c0d0e0f090907030000050d161d262d333d444c535b606b6f7b849196a1aaa2979083786d60564c41362a1b110600000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000000000009121b242d353d444c52565e61666a6f73777b7e8285888c8f92989a9fa2a9aca9a19e938e82786d60594f44342b20150a00000000000000000000000000000000000000000000000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d13090000000000000000000000000000000000000000000000000000000000000205070812131313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e1317191a202020201615130f0a1015191c1d202020201f1d19140e07000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a03000000000000000000000000010d18232d373f464a4c5353535353534d4b4740382e24190e02000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b0500000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000d1a2733404d5a6673808d99aab4aa978b7e7164554c4131282a2a2a2a2a2a2a2a2a232e39424a51535d5b5754524c4847433c342a20150a000000000713202d3a4653606d7986929facab9f928578695e52463a2d201407000000000713202d3946525d687885929eabac9f9286796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700000000000000010e1a26313d4751595e5f606060555c606366686a6b6c6c6c6c6b6a686664615e566060606055534d453c31261a0e02000000000000000000000002090e111414171818191a1b1c1615130f0a0400040b141b2227323a4149505960696e7b849199a3a99f958c7f73685e5246382d22170b00000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000000000006101b242d373f474f565d60686d72777c8084878b8e9297999c9fa2aaababa8a19e96918a81796d665c51473d3322190e040000000000000000000000000000000000000000000000030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313131313130d0c0a07020000000000000000000000000000000000000000000000010a12191f2326262d2d2d2d23221f1b161b212628292d2d2d2c2b29251f19110800000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d04000000000000000000000006121e29343f495156586060606060605a58524a40362a1f1307000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000004101c2834404b546976828f9ca9aea398887b6f6255483c2f3737373737373737373737373039404446514e4b4746413c3b37322a261f180f0600000006121f2b3844505c667784909daaaea298877b6e6154483b2e21150a000000000714212e3a4754616d7a8797a1adaa9e918477665c5145382c1f1306000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000004111d2a36424e59636a6c6c6c6c6b636059595b5d5e5f5f5f5f5e5d5c5a575f626a6c6c6c6c6c5f574d42372b1e120500000000000000000000050d14191e20212324252627282823221f1b160f0700020a111720292f383f444f575f696f7d87929fa9a79f92867a6d6153493f33271b0f03000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000000040e18222d363f49515960686d737a7f84888d9196989b9ea2a9a9acaaaaa29f9b96918c847e746d675c544a40352b2110070000000000000000000000000000000000000000000000000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b2014080000000000000003060809131313131313130b0a08050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070f111213131312110e0b0706040000000000000000000000000000000000070d121618192020202020201a1917130e08000000000000000000000000000000000000000000000a131c242a2f323339393939302f2c2721262d323536393939393835312a231a11070000000000000000000000000000000000030d161f272d32353639393635322d271f160d03000000000000000000000916222e3a46515b62656c6c6c6c6c6c66635c52473b2f23170a000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000006131f2c3845515c667884919eabac9f9286796d6053464444444444444444444444444444444444444444444444444444443b3a36312a21180e03000003101c28343f4a546875818e9ba8b3aa978a7d7064574a3d32271b0d04000001081623303d495663707c8996a9b3a89c8f827569544b4034281c1004000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b98a4aca295897c6f6256493c2f23160906040d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070000000000000006121f2c3845525e6a757979797978706b605c544d5152535352524b515a61696e777979797976695f53463a2d211407000000000000000000050e171f252a2d2e30313233343435302f2c27211910070000060e171d262d333d454d57606b73808d97a2ada2988c8073655b5044372b1f1205000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000000000a15202a343e48515b626b707a80868c9196999da0a8a8abaaa7a7a09d9a98928e8a847f79716c605c554b42392e231a0f000000000000000000000000000000000000000000000000000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c0000000000040a0f13151620202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000001080d1113141c1e1f1f20201f1e1b181413100c0701000000000000000000000000010911181e2225252d2d2d2d2d2d2726231f19120a020000000000000000000000000000000000000007121c262e353b3f40464646463c3b38322b30383e41434646464645413c352c23190e03000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a000000000000000000000b1825313e4a56626d72797979797979736e63584b3f3226190c000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000713202d3a4653606d7986939facaa9d908477665c50505050505050505050505050505050505050505050505050505050504846423b332a1f14090000000b17232e3f4b5865727e8b98a8b2a69a8d807367584e43372b1f15100c090e131e2a36414c5666727f8c99a5b3aa998c7f7366594c402e23180c00000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b989f9f9f95897c6f6256493c2f231b1313100c1a2733404d5a6673808d999f9f9f9386796d6053463a2d201307000000000000000613202c3946535f6c7987868686847d736d665f5751464146454d555c606c717b83868686867b6e6155483b2e2215080000000000000000020d17202930363a3b3d3e3f3f4041423c3b38322b23190f040000050b141b2227333b454f59606d7a85929fabaa9e9185786c605346392d201306000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000000030f1b26313c46505a626d727d848d92989ea0a8aaaba8a8a09e9a9795908d8985817d78726d67615a514b433930271c1108000000000000000000000000000000000000000000000000000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e00000000060e151b1f21222d2d2d2d2d2d2d2524211d1711090000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021292a2c2c2d2c2c2a2824201f1c18120b03000000000000000000000009131b23292e313239393939393933322f2a241c140a000000000000000000000000000000000000020e19242e3840474b4d535353534948433d353a42494e5053535353514d473e352a1f140900000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c11050000000000000000000c1925323f4c5865727f8686868686868073665a4d4033271a0d0006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000815212e3b4854616e7b879aa4afa99c90837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d55534d453b31261a0e0200000615222f3c4855626f7b8896a0acaa9d9184776a6054473c31271f1c181b1a1e242d3946525e6876838f9ca9aea298897c706356493d3023160700000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e8b9393939393897c6f6256493c2f2d28201f1c181a2733404d5a6673808d939393939386796d6053463a2d20130700000000000000000b1825323e4b5865717e8b9296918780786e69625b524c4550575f676d747e869095948d8074695f53463a2d211407000000000000000009141f29323b4246474a4b4b4c4d4e4f4948433d352b21160a000000020a11172129333d45525d6874808d9aa7ada197887c6f6255483c2f221509000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000006121f2b37434e58626c727f8791969fa2aaaaaaa29f9b9896918e8a8784807d7975706d66605d555045403930271e150b00000000000000000000000000000000000000000000000000000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e00000006101820262b2e2f3939393939393931302d29221b1209000000000000000000000000000000000000000000000000000000000000000000000000040d161e24292c2d363738393939383735312d2c29231d150d0600000000000000000007111b252d343a3e3f464646464646403f3b362e261c1208000000000000000000000000000000000007131f2a35404a5257596060606056544f473d424c545a5c6060605f5e5850473c3125190d0100000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a0000000000000000000c1925323f4c5865727f8b939393938d8073665a4d4033271a0d0004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000916232f3c4956626f7c8995acb6a89c8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a615f574d42362a1e120500000815212e3a47535f6a7784919eabaca095887c6f62584e4339312c282327262b2f35414c56616d7a86929facab9f9285796d6053463a2d20130700000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1825323e4b5865717e868686868686867c6f6256493c3939352d2c28231d2733404d5a66738086868686868686786d6053463a2d20130700000000000000000b1724313d4a56626d73808c9399938d837b726d615e56515a61696e79818a9298958f82786d60574d42372b1e120500000000000000020e1925303b444d5254565758595a5b5b56544f473d32271b0f0300000000060f18212935414c5663707d8996aab3a9988c7f7265594c3f3226190c000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000000815212e3a47535f6a717e889299a1a9aca69f9c98928e8b8784817e7a7773706d6663605c54514b433e342e271e150c0300000000000000000000000000000000000000000000000000000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c302316090000040e18222a32373b3c464646464646463e3d39342d241b110600000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a4244454646464544413e3a38342f271f17110a02000000000000010d18232d373f464a4c5353535353534d4b4740382e24190e02000000000000000000000000000000000a17232f3b47525c63666c6c6c6c6360594f4349545e66696c6c6c6c6a62584d4135291d100400000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d0100000000000000000c1925323f4c5865727f8b989f9f998d8073665a4d4033271a0d00000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1623303d495663707c8996a3afa89b8e8177777777777777777777777777777777777777777777777777777777777777776e695f53463a2d211407000006121f2b37434e586673808d99a3afa89b8e81756a5f554b433c38342e3431373a4145525d68737f8c99a3afa79b8e8175675c5145382c1f130600000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000b1724313d4a56626c71797979797979796f6a605447464646413a38342e2726323f4b58636e737979797979797976665c5044382c1f120600000000000000000915212e3a45505a636e74818e939f9590867e756d68605c606c717b838e939f969083796d665c50453c31261a0e020000000000000005111e2a36424d565e61636465666767686360594f43382c1f13070000000000060f1924303a4753606d798698a2aea79a8e8174675b4e4134281b0e000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000006121f2b37434e58626f7c86929aa3aba8a09e948f8a85827e7b7774716e686763605c5453504a4540393128231f1c17110a02000000000000000000000000000000000000000000000000000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f22150900000a15202a343c434749535353535353534b49453e362d22170c0000000000000000000000000000000000000000000000000000000000000000000008131e28313a4145474f515252535352514e4b474540393127221b140b02000000000006121e29343f495156586060606060605a58524a40362a1f1307000000000000000000000000000000000c1926323f4b57636e73797979796f6b6054484e5a66707679797979746a5e5145382b1f120500000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f0300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724303d4a5763707d8a96a3b0ab9e928583838383838383838383838383838383838383838383838383838383838383837b6e6155483b2e2215080000030f1a26313c4854616e7b87929faaac9f92877c6f675d554e46454041414142474c515b606d7a85929eabaca095897d7063554b4034281c100400000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000915212e3a45505a62656c6c6c6c6c6c6c6260584e525353534e4645403930292f3b47525c63666c6c6c6c6c6c6c6c5c544a3f34281c1003000000000000000005111d29343f48525b606d78818f959f98928b827a706b676d747e8690959d9891847b6e675d544a3f332a1f140900000000000000000714202d3a46525e696e707172727374756f6b6054483b2f22150800000000000008131f2c3845515c677885929faba89b8f8275685c4f4235291c0f000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000815212e3a47535f6a76828f98a3aca7a0969189827d7975716e696764615e565653514a46443f38352f312f2d2b28221c140b0200000000000000000000000000000000000000000000000007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f130700030f1b26323c464e535560606060606060585650483e34291d11050000000000000000000000000000000000000000000000000000000000000000010d19242f3a434c52545c5d5f5f605f5f5d5b5753514b433f332d261d140a00000000000916222e3a46515b62656c6c6c6c6c6c66635c52473b2f23170a000000000000000000000000000000000d1a2633404d59667380868686867d6f635649505c69768286868686796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724313d4a5764707d8a97a3b0ada1979290909090909090909090909090909090909090909090909090909090909090887b6e6255483b2f2215080000000a15212d3a46535e6975818e98a3aea3999083796d675f5853514b4e4e4e4d53555d606d74818e97a1ada69d9083776b605443392e23180c0000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d2013070005111d29343f48505658606060606060605654575d5f6060605b53514b423a322a36404a52585a606060606060605f504a42382e23170c000000000000000000010c18222d364044505c666d79829095a09f938f857d746f79818a9298a09992867c6f695e554b42382e21180e0300000000000000000814212e3b4754616e7b7d7e7e7f8081827d6f6356493c3024190d02000000000004101c2934404b556b7784919eaaa99c908376695d5043362a1d10000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000915222f3c4855626f7b88949faaaca09590847d76706d6765615e575754524c494644403a444442413f3e3c3938332d261d140a000000000000000000000000000000000000000000000000030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f030006131f2b37434e585f626c6c6c6c6c6c6c64625a5045392d211508000000000000000000000000000000000000000000000000000000000000000004111d2935414c565d60696a6b6c6c6c6b6a6864605c5550443f382f261b1106000000000b1825313e4a56626d72797979797979736e63584b3f3226190c000000000000000000000000000000000d1a2633404d596673808c9393897c6f635649505c6976838f939286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724313d4a5764707d8a97a3b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d94887b6e6155483b2e22150800000005121e2a36424d57616e7b86929fa6aba0958f82796f6a63605c555b5a5b575f62676d747f8c939ea9a99f948a7d7064594f4430271d12070000000b1825323e4b5865717e8b98a4aca295897c6f6256493c2f23160900040d1a2733404d5a6673808d99a6aca09386796d6053463a2d20130700010c18222d363f454a4b53535353535353495761696b6c6c6c68605c544c443c342e3840474b4d5353535353535353443f3830261c11060000000000000000000006111b2428343f4a545d676d7a839196a19e979188807b838e929fa29f93877d706a5f574d433a30261c0f060000000000000000000b1724313e4a5764717e898a8b8c8d8e8c807366564c4135291e130b060400020509121f2b3844505c667885929eaba99c908376695d5043362a1d10000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000c1926333f4c5966727f8c99a6afa49a90837a706b64605c5554524d4b4746413d3a434a4f50514f4d4c4a4946443f382f261c11060000000000000000000000000000000000000000000000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a00000815212e3b47535f6a7679797979797979716c6256493d3024170a00000000000000000000000000000000000000000000000000000000000000000613202c3945525d686d757778797979787774716d67625a504941382d22170b030000000c1925323f4c5865727f8686868686868073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1723303d4a5663707d8996a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa9aaaaaaaaaa94877a6e6154473b2e211408000000020e1a25313b46535f69737f8c949fa7a79f948f837c75706d676867676869696e737a818c919ca5aaa1978f82766c6155473d331e150b000000000b1825323e4b5865717e8b989f9f9f95897c6f6256493c2f2316090b10141a2733404d5a6673808d999f9f9f9386796d6053463a2d201307000006111b242d343a3d3e46464646464646505d697378797979746d665e564e463e3528363b3f40464646464646464638342e261e150a000000000000000000000000091217232e38424b555d686e7b849197a2a19a938d8890959da59d928b7f726b61584e453b31281e140a000000000000000000000815222f3b4855626e7c889798999a9a8f8275685d52463a30241d1512100c0e12141a202d3a4653606d7986939faca99c8f8276695c4f4336291c10000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000020f1c2835424f5b6875828e9ba8ac9f93877c6f68605953514b4846423e3b393634434d555b5d5d5c5a59575553504a42382d22170b00000000000000000000000000000000000000000000000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f0400000916222f3c4955626f7c868686868686867e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8284858586868584817e79716c605b53493f33271f14090000000c1925323f4c5865727f8b939393938d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000091623303c4956636f7c8996a2afb0a69f9c9393939393939393939393939393939393939393939393939c9ea6b0aea398877a6d6054473a2d2114070000000009141f2a36424d57606d78828f959fa7a69f959087817d79777574747476787b80858e939ca3aaa29892857b6e615a5044352b210c03000000000b1825323e4b5865717e8b9393939393897c6f6256493c2f231610171c20232733404d5a6673808d939393939386796d6053463a2d20130700000009121b22292e313239393939393945525f6b788586868681786d685f584f473f342e2f323339393939393939392c28231c150c030000000000000000000000000006111c263039434c565e696f7c859299a3a49f9a959da0a79e948d80746d62594f463c33291f160c02000000000000000000000613202d394653606c7785929ea5a69f92867a6d61564c41352e27201f1c181a1e21252a34404b55626f7c889aa4afa79b8e8174685b4e4135281b0e000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000003101d293643505c6976838f9ca9a99d9083766a5f564f4645403b3a36302e2d2f3c46555f666a6a6967656462605b544a3f33281c0f030000000000000000000000000000000000000000000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f2419070000000916222f3c4955626f7c8893939393938b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87909292939292908e8a847e746c655b50443b30251a0e0200000c1925323f4c5865727f8b989f9f998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000815222f3b4855626e7b8895a9b3ab9f948f8686868686868686868686868686868686868686868686868f949eaaac9f928579675d5145392c20130600000000030e1a26313b44505c666d7a8390959da5a7a099938e898683828181818385888c92979da5a7a09892867d70695e52483e3323190f00000000000b1825323e4b5865717e868686868686867c6f6256493c2f23161a22282d303139404d5a66738086868686868686786d6053463a2d201307000000000911181d2124252d2d2d2d2d323f4c5965727f8c93938e827a6f6a6159514440393028272d2d2d2d2d2d2d2d1f1c17110a030000000000000000000000000000000a141e27313a444d575f6a707d879299a49f9f9f9fa9a0958f82786d605b51473e342a21170d04000000000000000000000005121f2b3744505b6575828f9baaaea3988b7f72685d52454039302d2c2823252a2d30363e45515c6773808c99acb4aa998c7f7366594c403326190d000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000004101d2a3743505d6a7683909da9a79b8e817468584e443d38342e2d2a2a2d2f38424e5866717777757472716f6c665b5044382b1f120600000000000000000000000000000000000000000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e13080000000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87949e9f9f9f9e9d9b96918b80776c60574d42362a1e120500000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000714212d3a4754606d7a8797a2ada99c8f82797979797979797979797979797979797979797979797979828f9ca9ab9e9184786b554b4135291d1104000000000009141f28343f4a545e686d7a838e929d9fa7a49f9b9892908e8e8d8e8f9197999ea1a9a29e9590867d706b60574d42362c22110800000000000b1724313d4a56626c71797979797979796f6a6054473b2e2217242c33393c3d46464b58636e737979797979797976665c5044382c1f12060000000000060c111517182020202025313e4a56626d75818f969490847c706b625b514a423a322a211920202020202012100c060000000000000000000000000000000000020c151f28323b454e58606b717e8793939393939393969083796d665c50493f352c22190f05000000000000000000000000030f1b27333f495364717e8a98a2aeaa9e91857a6d605b514b423d3a38342e31363a3b42465059606d7984919eabaea398897d7063564a3d3023170a000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000003101d293643505c6976838f9ca9a79a8d817467564c413a39352f363036393c424a54606a77838482807f7d7c786c605346392d201306000000000000000000000000000000000000000000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c010000000916222f3c4955626f7c8895a2aca4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87949fa3aba6abaaa9a19e928b7f72695e52463a2d20140800000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000613202c3945515d677885929eabaa9d9184776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c667784919eaaa99c8f8376695c50432f24180d010000000000030b17232e38424c565e686d79818990959b9fa2aaa39f9d9b9a9a9b9c9ea1a9a49f9c97928c837b706b60594f453b30241a100000000000000915212e3a45505a62656c6c6c6c6c6c6c6260584e43382b1c2328363e44494a525353525c63666c6c6c6c6c6c6c6c5c544a3f34281c10030000000000000105090b0b13131316222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a13131306030000000000000000000000000000000000000000030d162029333c464f59616c727f8686868686868686847b6e675d544a3f372d231a100700000000000000000000000000000b17222d3a4753606d7a85929faaada1978e81746d605c544f4946444043434246484d525a616b737f8c96a1acac9f92867a6d6053473a2d201407000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000020e1b2835414e5b6874818e9ba7a99c8f8276685e534c4745414343434146474d545b666f7c88908f8d8c8a85796c605346392d201306000000000000000000000000000000000000000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c201304000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8799929995999fa2aaada49f92867b6e6154483b3025190e02000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000004111d2935414c55697683909ca9ab9f928578695f606060606060606060606060606060606060606d7986929faca79a8d8174675a4e4134271b070000000000000006111c26303a444c565e676d747c83898e9298999b9d9e9f9f9f9f9e9d9b999993908b857f786e6960594f473d33291f120800000000000005111d29343f485056586060606060606056544e463d3227262e343f485055575f6060605a585a606060606060605f504a42382e23170c000000000000000000000000060606121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c03000000000000000000000000000000000000000000000000040e17212a343d47505a626d727979797979797979786e695e554b42382e251b11080000000000000000000000000000000613202c3945515d6773808d98a2aea99d938c7f736d6660595653514a50504d5354575e616c707d87929fa8b0a69b8e8275675d5145392c201306000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000c1926323f4c5965727f8c98a7ac9f92867a6d655e5654514b504f504d5254575f666c7882909c9c9a988e8174655b5044372b1f12050000000000000000000000000000000000000000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d1104000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a87878686888d9298a2abaea2988c807366564d41362a1e1105000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000010d19242f414d5a6774808d9aabaea298887b6e61555353535353535353535353535353535355626f7c8899a3afa9988b7e7265584b3f3225180c00000000000000000a141e28323a444c555c606b6f777d8185898c8e90919292929291908f8d8a86837e79726d665f574f473d352b20170d00000000000000010c18222d363f454a4b535353535353534947433d342b2830383f44515a61646c6c6c6c66635c5253535353535353443f3830261c11060000000000000000000000000000010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c03000000000000000000000000000000000000000000000000050f18222b353e48515b62656c6c6c6c6c6c6c6c6b615e574d433a30261c13090000000000000000000000000000000004111d2935404b55616e7b86929fa6afa59c918c8079706b6562605c545c5d575e6164696e747e869299a3afaa9f94897d7063554b4035291d1104000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000915222f3c4855626f7b88959faba3998e81776d6863605d555d5c5d565e6164696e78808e949fa8a0958a7d706453493f33271b0f0300000000000000000000000000000000000000000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d01000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b00000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d787c7a79797c80869299a4afaa9e918477685e5246392d201407000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000081724313e4a5764717d8a99a3afaa988b7e7165574d42464646464646464646464646424d5765727f8c98abada297887b6f6255483c2f2215090000000000000000020c162029323a434b515960636b7075797c7f82838485868685858382807d7a76726d67605c544d453d352b23190e05000000000000000006111b242d343a3d3e464646464646463c3b38322b29323a424a505b636c7079797979736e63574b46464646464638342e261e150a00000000000000000000000000000000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b00000000000000000000000000000000000000000000000000061019232c363f4951565860606060606060605e54524d453b31281e140a0100000000000000000000000000000000010d18242f3a46525e68727f8c949fa8ada49c928d837d77726f6d666a69696a696e71757b818a9298a2abaea2988f82766b6054433a2f24180d01000000000000000205111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d100d0b08030000000000000000000000000004111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d1003000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000815212e3a47535f6a7683909da5ab9e938e817a74706d676a6969696a686e71757b828e929da6a59d9083786c605346392d22170b00000000000000000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e130800000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b020405060606050402000000000000000000000000000000000000000000000006121f2c3844515c666d6f6d686d6f737d87939facaca096877a6e6154473b2e211408000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000714212e3a4754616d7a86929faca89b8e8275695e53463d313939393939393939303946525e6976828f9ca9ab9e9285786c605346392d201306000000000000000000050e172029313940454f54596063676d70727576787879797878777573706d6865605d55504a423c332b231911070000000000000000000009121b22292e3132393939393939392f2e2b272b333b444c545c606d727e868686868073665a4d4039393939392c28231c150c03000000000000000000000000000000000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d12070000000000000000000000000000000000000000000000000007111a242d373f464a4c5353535353535353524846423b33291f160c0200000000000000000000000000000000000007131d2a36414d56606d78829096a1a8ada49d959089837f7c797777767677787b7d82868e939fa2aaaea39f92867b6e61594f4431281d130700000000000002080e11141e2a3744515d6a778490939393938f8376695c50433629201b1a18140f0801000000000000000000000004111e2a3744515d6a778490939393938f8376695c504336291d1001000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c1000000006121f2b37434e5863707d89939da6a59e938e86807d7a787776767677787a7e82878f949da5a69d938a7d70655b5044372b1b1106000000000000000000000000000000000000000000000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c0100000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180c0e101213131312100e0b0807050200000000000000000000000000000000000004101c2834404a545c6062615e60626b75818e9ba8b2a8968a7d7063574a3d3024170a000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f231609000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000713202d3946525d6876828f9ca9ac9f92867b6e61584e433b322c292424292c3139424d57616e7b86929faca89b8e8174655b5044372b1f120500000000000000000000050e171f272f343d43484f54555c606366686a6b6c6c6c6c6b6a686664615e5653514b443f38302a211911080000000000000000000000000911181d2124252d2d2d2d2d2d2d2322242c343d454d565d666d747f87929892857b6e6154473b2e2d2d2d2d1f1c17110a03000000000000000000000000000000000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c000000000000000000000000000000000000000000000000000008121b252d343a3e3f4646464646464646453b3a36302921170d0400000000000000000000000000000000000000010e1925303b44505c666e7a849196a0a7afa7a09d95908c8985848383838485878a8e92999da5aeaaa39f918a7e71695f53473d321f160c010000000000050d14191e20212d3744515d6a77838686868686868276695c5043362d2d272724201a130b020000000000000000000004111e2a3744515d6a77838686868686868276695c504336291c140a000000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000030f1a26313c4855606b74818e949da5a59e98928d898785838382838485878a8f93999fa6a49d948e81746c6153493f33271b0a000000000000000000000000000000000000000000000000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c2013040000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312518191b1d1f1f201f1f1d1b181414110e080200000000000000000000000000000000000c18232e39424a5153555452535964717e8a97a4b1a5988b7f7265584c3f3225190c000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f221508000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000005111d2935414c5664717e8b96a1ada3998d80746a60564d443e39352f2f35383c434b545e6973808d99a3aca096897d706353493f33271b0f030000000000000000000000050d151d232932383d44484b5161696b6c6c6c68605c5f5e5d5c5a5754524c47454039342e261e180f080000000000000000000000000000060c11151718202020202020151d2328363e464f575f686d78818c939993877d70695e52463a2d2020202012100c06000000000000000000000000000000000000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c1004000000000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d2a251f170f0500000000000000000000000000000000000000000008141f28343f4a545e686e7b8490959fa3abaca7a09d98989291908f90919297979b9fa3abaca7a098928b7f726c61574d42352b210d040000000000050e171e252a2d2e3939424f5b6771777979797979797670665a4e423939393433302b251d140b0100000000000000000003101d2936424f5b6771777979797979797670665a4e42352e261c12070000101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c10000000000a15202c38444f59606d79828e939da0a7a29f9a96979290908f90909297979b9fa4a7a09d928d82786d605a5041382d22170b000000000000000000000000000000000000000000000000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d11040000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e31252225282a2b2c2d2c2b2a282521201e19140f0a0400000000000000000000000000000007121c2730394044464847464855626f7b8895a2aea6998c7f7366594c403326190d000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d211407000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000010d1924303a4653606d7984919ea7ab9f92877c6f685e564f47454141414045474e555c666e7b86929faba89e9184786c605346392d22170b00000000000000000000000000030b121821272c323839505d697378797979746d665e564e4f4d4a4746413a39352f28231c150c06000000000000000000000000000000000105090b0b131313130e161e272e344048505960696e7a828e939f948c7f736b60574d42362a1e1113130603000000000000000000000000000000000000000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f13060000000000000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d2d2b21201e1a140d0500000000000000000000000000000000000000000000020b17232e38424d565f696e7b838d92999fa4acacaaaaa39f9e9d9c9c9d9ea1a9a8acaca8a19e9590867e726d625a50453c3123190f0000000000020d1720293036393b4646464a555f676a6c6c6c6c6c6c69665e54494646464641403c362f261d1308000000000000000000010e1a27333f4a555f676a6c6c6c6c6c6c69665e544b4740382e24190e0200101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d697683908f8276695c4f4336291c100000000003101c27333d45515c676d79818990959b9fa2aaa9a19e9d9c9c9c9d9fa2a9aaa29f9b95908a80786d665c51473e2f261b11060000000000000000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d010000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312d2e32353738393939383735312e2d2a251f1b150d070100000000000000000000000000000b151e272e34383a3c3a3a4754606d7a8793a0b5a69a8d8073675a4d4034271a0d000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c201306000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000008131f2c3845515c67727f8b95a0aba39991847a6e68615954514c4e4e4b5153575f676d78839098a2aca0968b7f72665b5044382b1b1106000000000000000000000000000001070c161b21273845525f6b788586868681786d685f584f473f3a3936302c29241d17110a03000000000000000000000000000000000000000000000600070f18202830394045525a616b6f7b838f949d968f82776c60594f453b30251a0e020600000000000000000000000000000000000000000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d20130700000000000000000000000000000000000000000000000000000000060d1216181920202020202020201f1514120e090200000000000000000000000000000000000000000000000006111c26303b444d575f696e7880878f939a9ea1a8a7a9aaaaaaa9a9aaaaa9a8aaa39f9c96918b837c716c625b51483e332a1f1107000000000008141e29323b4146535353535353555b5d6060606060605c5a545353535353534e4c4841382f251a0f030000000000000000000a16222e39434d555b5d6060606060606060605a57524a40352a1f130700101c2936434f5c6976828f908376695d5043362a1d10030000000000000000000000000000000000000000000000010507070b0b0b0b0b0b0b101d2a3643505d697683908f8276695c4f4336291c1000000000000b16212834404b555c676d747d838a8e9298989a9c9d9e9f9f9f9e9e9c9a9898928e8a837d746d665c544a40352c1d140a0000000000000000000000000000000000000000000000000000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e1308000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e373a3b3f4143454646464543413e3b3936302b272018130c0400000000000000000000000000030c151c23282c2d2f2e3a4653606d798699a3afa79a8d8074675a4d4134271a0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d1104000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000004101c2834404b55606d78839099a3aba09690837a706b64605d555b5b555d60636a6e79818e959faaa49a9184796d60544a3f33281c0a0000000000000000000000000000000000040a0f1926323f4c5965727f8c93938e827a6f6a6159514440393028201d18120c0600000000000000000000000000000000000000000000000000071019212a323a434b515b636c717d8591959f9991847a6d655b50473d33291f14090000000000000000000000000000000000000000000000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000106090b0c131313131313131312080705020000000000000000000000000000000000000000000000000000000a141e29323c454d575e666d737c82878d9196989a9c9d9e9f9f9f9f9e9c9b9998928f8a847f786f6a625a51493f362c21180e0000000000020e1925303b444c525f6060606060605d5b5553535353534f54566060606060605a58534a41362b20140800000000000000000006111c27313b434a4f5153515a61646c6c6c6c66635c52473b2f23170a00101c2936434f5c6976828f908376695d5043362a1d100300000000000000000000000000000000000000000002080d11131417171717171717171d2a3643505d697683908f8276695c4f4336291c100000000000050c18232e39434b555c606b6f787d8185898b8e9091919292929191908e8c8985827d77706b605c544b42392e231a0b0200000000000000000000000000000000000000000000000000000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c01000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e4246484c4e505252535252504e4b4746413b373229241d160d0500000000000000000000000000030b12181c1f20222c3844505c667986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d01000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000c18232e3944515c666f7c87929fa4a8a09590847d76716d6769676869676d70757b838e939ea7a59f93887d70665c5142382d22170b000000000000000000000000000000000000000b1825313e4a56626d75818f969490847c706b625b514a423a322a2119110600000000000000000000000000000000000000000000000000040f19222b333c444c555c606d737e869297a09f92877c6f685d53493f352b20170d02000000000000000000000000000000000000000000000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c17202a333c454d545c606a6f757b8084888b8d8f91929293929291908e8c8986827d79726d665f5850483f372d241a0f06000000000005111e2a36414c565e6c6c6c6c6c6c6c6a675f554a46444f5960636c6c6c6c6c6c67645c53483c3024180b0000000000000000000008101f2931323a424a505b636c7079797979736e63574b3f3226190c00101c2936434f5c6976828f908376695d5043362a1d10030000000000000000000000000000000000000000050d13191e20212424242424242424242a3643505d697683908f8276695c4f4336291c1000000000000007121d273039434b515960666c7075797c7f81838485858685858483817f7d7975706b636159514b423930271c110800000000000000000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c20130400000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b464d5355585b5d5e5f605f5e5d5b5854524d47433d352f281f170f050000000000000000000000000000070c1012131c28343f4a5f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e21140700000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000007121d2834404a54606a727f8c929ca4a7a096918a827d7a7775747475767a7d818790959ea5a59e938d80736b60544b402f261c1106000000000000000000000000000000000000000916222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a0200000000000000000000000000000000000000000000000a16212b343d454d565e676d757f8a9298a19e938b7f726a60564c41382d23190e050000000000000000000000000000000000000000000000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000020608080c0e111212131312110e0c080705020000000000000000000000000000000000000000050e18212a333b424b51585f626a6e73787b7e80828485858686858483817f7c7975716d66605c544e463f362d251b12080000000000000714202d3946525e68767979797979797771675b4f434854606b70797979797979746e64584c4033271a0d00000000000000000007121a222b333b444c545c606d727e868686868073665a4d4033271a0d00101c2936434f5c6976828f908376695d5043362a1d100b0b0b0b0b0b0b07070501000000000000000000050e171e252a2d2e313131313131313131313643505d697683908f8276695c4f4336291c10000000000000000b151e27303940454f545b6063676d7072747677787879797877767472706d66636159554f45403930271e150b0000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d110400000000000000000916222f3c4955626f7c8895a2afa4978b7e7164585053575f6165686a6b6c6c6c6b6a6864615e56544e45403a312921170f0500000000000000000000000000000004060c17232e46535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d20130700000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000c18232e39424e58626d73808c929ea1a8a19e948f8a8683828181828386898e93999fa7a39f938f81786d60594f42392e1d140a000000000000000000000000000000000000000006121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c03000000000000000000000000000000000000000000030f1b27323d464e575f686d79818c929fa3a0958e81756d62584e443a2f261b11080000000000000000000000000000000000000000000000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e020000000000000000000000000000000000000000000000000000000000000000000003090e121415191b1d1e1f201f1f1e1b191514120e090300000000000000000000000000000000000000060f182129303940454e53575f6266696e71747677787979797877767572706d6764605c54504a423c342d241b1309000000000000000814212e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e4134271b0e00000000000000030b1218242c343d454d565d666d747f87929892857b6e6154473b2e21140800101c2936434f5c6976828f908376695d5043362a1d17171717171717171413110d0802000000000000020d1720293036393a3e3e3e3e3e3e3e3e3e3e3e43505d697683908f8276695c4f4336291c1000000000000000030c151e272e343d424a5053555d60636567696a6b6c6c6c6b6b69676563605c54554f48443e342e271e150c0300000000000000000000000000000000000000000000000000000000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d0100000000000000000916222f3c4955626f7c8895a2afa4978b7e7164545c6064696e72747678797979787674716e68626058514b433b332921170d030000000000000000000000000000000013202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d110500000000000000000000000000000203101d2a3643505d69768390908376695d5043362a1d100302000000000000000000000007121c27303d46515b646e73808a92979fa3a69f9c9992908f8e8e8f9092989b9fa4a69f99928c81786d665c50473d30271d0b020000000000000000000000000000000000000000010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c03000000000000000000000000000000000000000007131f2c38434e5860696e7a828e939ca4a2989183796d605b51463d32281d140a0000000000000000000000000000000000000000000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e1408000000000000000000000000000000000000000000000000000000000000000000060c11151a1e212226282a2b2c2c2c2b2a282522211e1a14100b05000000000000000000000000000000000000060f171e272e343c43474e5355575f626567696a6b6c6c6c6c6b69686663605c5553504a443f38302a221b120901000000000000000814212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271b0e000000000000050c151d2328363e464f575f686d78818c939993877d70695e52463a2d20140700101c2936434f5c6976828f908376695d5043362a24242424242424242421201e19130d05000000000008131e29323a4146474a4a4a4a4a4a4a4a4a4a4a4a505d697683908f8276695c4f4336291c100000000000000000030c151d23282f383f44464b515356585b5d5e5e5f5f5f5e5e5d5b595653514b48443e383328231d150c0300000000000000000000000000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e13080000000000000000000916222f3c4955626f7c8895a2afa4978b7e716460666d71777b7f8183858586858583817e7b756f6a605d554d453b33291f150b0100000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d01000000000000000000000000050a0f12101d2a3643505d69768390908376695d5043362a1d10120f0a05000000000000000000000b151e2b343f49525c646e737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a29f9b948f877f776d665c544a3f352c1e150b00000000000000000000000000000000000000000000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b00000000000000000000000000000000000000000915222e3b4854606a6f7b8490949ea5a49f92867c6e675d51493f342b20160b02000000000000000000000000000000000000000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d020000000000000000000000000000000000000000000000000000000000000002090e171d1f262b2e2f32353738393939383735322e2d2b261f1c160c07010000000000000000000000000000000000050c151d232831373c4247484d5355585a5c5e5f5f605f5f5e5d5b595653514b46443f38342e261e1810090000000000000000000814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e0000000000060e161e272e344048505960696e7a828e939f948c7f736b60574d42362a1e110500101c2936434f5c6976828f908376695d504336313131313131313131312e2d2a251e170e05000000010d1925303a444c5254575757575757575757575757575d697683908f8276695c4f4336291c10000000000000000000030b12181d262d333839404547494c4e5051525253525251504e4c4a4645403938332c282118120b0300000000000000000000000000000000000000000000000000000000000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c010000000000000000000916222f3c4955626f7c8895a2afa4978b7e71646a6f787e83888b8e909192939291908e8b86827c746d675e574d453b31271d120700000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e13080000000000000000000000010910161b1e20202a3643505d69768390908376695d5043362a20201e1b161009010000000000000000030c19222d37404a525c636c717a81868d9196989b9c9e9f9f9f9f9e9d9b9997928e89827c736c655c544b42382e231a0c03000000000000000000000000000000000000000000000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d1207000000000000000000000000000000000000000916232f3c4956626f7c85919693939393928a7e716a5f554b40372d22190e040000000000000000000000000000000000000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000050d141a22282d31373a3b3f4144454546464544413f3b3a37312c272118120b030000000000000000000000000000000000030b121820262b31373a3c4247484b4d4f51525253535251504e4c494745403a38342e28231c140c06000000000000000000000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e00000000070f18202830394045525a616b6f7b838f949d968f82776c60594f453b30251a0e0200101c2936434f5c6976828f908376695d50433e3e3e3e3e3e3e3e3e3e3e3a3936302920170d02000005111e2a36414c565e616464646464646464646464646464697683908f8276695c4f4336291c100000000000000000000000070b141c22282b2f35383a3d3f41434445454646454443413f3d3a38342e2c28211c160c070000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c201304000000000000000000000916222f3c4955626f7c8895a2afa4978b7e716c717c838b9095989b9d9e9f9f9f9e9d9b99928f8781796e695e574d43392f23180c03000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c0200000000000000000000010a131b21272b2d2d2d3643505d69768390908376695d5043362d2d2d2b27211b130a01000000000000000007101b252e38404a525a61686d747b8084888b8e90919292929291908e8c8985817c766f6a605b534b423930261c1108000000000000000000000000000000000000000000000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c000000000000000000000000000000000000000d1a2633404d59667380868686868686868680746c61574e43392f251b100700000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d0500000000000000000000000000000000000000000000000000000000000000060f171f252a34393c4247484c4e505152535252514e4c4846423c383329241d150d03000000000000000000000000000000000000070c151b20262b2e31373a3b3e41434445464646454443423f3d3a38342f2c28231c17110a0200000000000000000000000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e000000071019212a323a434b515b636c717d8591959f9991847a6d655b50473d33291f14090000101c2936434f5c6976828f908376695d504a4a4a4a4a4a4a4a4a4a4a4a4746413a32291e130800000713202d3946525e686d7171717171717171717171717171717683908f8276695c4f4336291c10000000000000000000000000020a11171c1f24292c2d3032343637383939393838363432302d2c28231d1c16100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d1104000000000000000000000916222f3c4955626f7c8895a2afa4978b7e71717e8790959da09e9c9b9a9b9c9ea1a9aba39f9a938e847b6e695e554b403429201509000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e04000000000000000000000009131c252c33373939393943505d69768390908376695d50433939393937332c251c130900000000000000000009131c262e38404850565e61696e73787c7e818384858686858583817f7c79746f6a625f585049413930271e150a0000000000000000000000000000000000000000000000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c10040000000000000000000000000000000000000c1925323f4b57636d737979797979797979746e645a50453c31281d120900000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e080200000000000000000000000000000000000000000000000000000000000000060f18212930363e45494d5355595b5d5e5f5f5f5e5d5b5855534d48443d352f271f150d03000000000000000000000000000000000000030a0f151a1e21262b2e2f32343637383939393938363533302d2c29231f1c17110b06000000000000000000000000000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e0000040f19222b333c444c555c606d737e869297a09f92877c6f685d53493f352b20170d020000101c2936434f5c6976828f908376695d5757575757575757575757575754524c443a3025190d01000714212e3a4754616d7a7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e83918f8276695c4f4336291c100000000000000000000000000000060b0f12181d1f202325282a2b2b2c2c2c2b2b2a282623201f1c1812100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d01000000000000000000000916222f3c4955626f7c8895a2afa4978a7e717e8892999e9896918f8e8d8e8f92979b9fa4aca49f9691847b6e675c51453c31261a0e020000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c000000000000000000000005101b252e373e434646464646505d69768390908376695d504646464646433e372e251b10050000000000000000010a141c262e363e444c52575e61666a6f7274767878797978787675726f6d66626058534e443f382f271e150c03000000000000000000000000000000000000000000000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f13060000000000000000000000000000000000000a16232f3b47525b63666c6c6c6c6c6c6c6c67645c52483e332a1f160c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050708121313131313131313080705020000000000000000000000000000000000000000000000000000000000000000030d18212a333b42465055575f6265686a6b6c6c6c6b6a6865615f57544f45403931271f150b010000000000000000000000000000000000000003090e12151a1e21222527292b2c2c2d2c2c2b2a282623201f1c1812100c060000000000000000000000000000000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e00000a16212b343d454d565e676d757f8a9298a19e938b7f726a60564c41382d23190e05000000101c2936434f5c6976828f908376696464646464646464646464646464615e564c41362a1e1105000a1723303d4a5663707d898a8a8a8a8a8a8a8a8a8a8a8a8a8a8a91958f8276695c4f4336291c100000000000000000000000000000000003070c10131416191b1d1e1f1f201f1f1e1d1b19171313100c07000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e130800000000000000000000000916222f3c4955626f7c8895a2afa4978a7e7c86929a96918c8784828181818285898e939aa1a9a8a0969083796d60574e42372b1f14090000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b989f9f998d8073665a4d4033271a0d0000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e0400000000000000000000000a16212c3740494f5353535353535d69768390908376695d5353535353534f4940372c21160a000000000000000000020a131c242c323a41464d5254585f626568696b6c6c6c6c6b6a686663605c54544e47433c332d261d150c03000000000000000000000000000000000000000000000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d20130700000000000000000000000000000000000007131e2a35404952575960606060606060605a58524a40362c21180d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a333c454d525a6164696e72747778787979787774726e69636059514b433931271d12070000000000000000000000000000000000000000000206090e121415181a1c1e1f1f20201f1e1d1b19161413100c070300000000000000000000000000000000000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c00030f1b27323d464e575f686d79818c929fa3a0958e81756d62584e443a2f261b110800000000101c2936434f5c6976828f9083767171717171717171717171717171716d685e5246392d201307000a1723303d4a5663707d8993939393939393939393939393939393938f8276695c4f4336291c10000000000000000000000000000000000000000406070a0c0e1011121213131211100e0c0a07060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c0100000000000000000000000916222f3c4955626f7c8895a2afa3978a7e839098938d847f7b777574747476797c81889297a1a9a89f958d80736a5f53473b30251a0e0200000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8b939393938d8073665a4d4033271a0d000000000000000009121c252e363e454d52575f62666a6e71737577787879797978777573706d67636059534d453e362d251b11080000000000000000000000000f1b27333e49525a5f60606060606069768390908376696060606060605f5a52493e33271b0f00000000000000000000010a121a202830363b4246484e5355585b5d5e5f5f5a61646c6c6c6c66635c52473d373127221b140b03000000000000000000000000000000000000000000000000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e211408000000000000000000000000000000000000020d19242e3740474b4d53535353535353534d4c4740382f241a0f06000000000000000000000000000000000000000000000000000000000000000000000000000000000000030613131313131313130d0c0a07020000000000000000000000000003060809131313131313130b0b090501000000000000000007121d27313c464e575e616c71777b7f8183848586858584817f7b76706b605d554b43392f23180c040000000000000000000000000000000000000000000000020608080b0e1011121313131211100f0c0a07060400000000000000000000000000000000000000000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b0007131f2c38434e5860696e7a828e939ca4a2989183796d605b51463d32281d140a0000000000101c2936434f5c6976828f91837e7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7a6d6154473a2e211407000a1723303d4a5663707d868686868686868686868686868686868686868276695c4f4336291c1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c2013040000000000000000000000000916222f3c4955626f7c8895a2afa89b8e818e9593878079726e6969686768656c6f757d859297a2ada79f92877b6e62574d42362a1e110500000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000c1925323f4c5865727f8686868686868073665a4d4033271a0d0000000000000000000a131c242c333b42464d5355575f626466696a6b6b6c6c6c6b6a686663605d55544f47423c332d241b130900000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c7683909083766c6c6c6c6c6c6c6c645a4f43372b1e12000000000000000000000000080e161e252a30363a3c4347484b4e504a505b636c7079797979736e63574b3f32262017110a020000000000000000000000000000000000000000000000000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d2014070000000000000000000000000000000000000007121c252e353b3f404646464646464646413f3c362f261d12080000000000000000000000000000000000000000000000000000000000000000000000000000000000060c101220202020202020201a1917130e0800000000000000000000040a0f13151620202020202020181715110c06000000000000000c18242f39434e585f696e767e83888c8e909192929291908e8b87827d746d675d554b40342920150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e221609000915222e3b4854606a6f7b8490949ea5a49f92867c6e675d51493f342b20160b020000000000101c2936434f5c6976828f95918a8a8a8a8a8a8a8a8a8a8a8a8a8a8a897d7063564a3d3023170a000916222f3c4854606b70797979797979797979797979797979797979797670665a4e4135281c0f00000000000000000000000000000000000003080b0d0e13131313131313131313131313131313131313131313131313131313131313131311100e0a06000000000000000000000000000000000000000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d11040000000000000000000000000916222f3c4955626f7c8895a2afaa9e938e9393877e736d67615e575b5a535b60626b707c85929fa6afa3998e8175695e52463a2d20140800000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825313e4a56626d72797979797979736e63584b3f3226190c000000000000000000010a121a212930363c4247485761696b6c6c6c68605c5f5f5e5d5b595653514b48433d37312a211b1209010000000000000000000000000013202d3946535f6c767979797979797979839090837979797979797979766c5f5346392d201300000000000000000000000000050c13191f252a2d32373b3c3f444c545c606d727e868686868073665a4d4033271a0b060000000000000000000000000000000000000000000000000000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e110500000000000000000000000000000000000000000a131c242a2f323339393939393939393433302b241d140b00000000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2726231f19120a0200000000000000070f161b1f22232d2d2d2d2d2d2d2524211d181109000000000004101d2935404b555f6a6e7b838a9095989b9c9a989898999c9b9a938f8981796d675c51453d32271b0f00000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e1206000916232f3c4956626f7c85919693939393928a7e716a5f554b40372d22190e04000000000000101c2936434f5c6976828f9393939393939393939393939393939393897d7063564a3d3023170a000713202c38444f5960636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493d3225190d0000000000000000000000000000000001080f14181a1b2020202020202020202020202020202020202020202020202020202020202020201e1d1a16110b04000000000000000000000000000000000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d010000000000000000000000000916222f3c4955626f7c8895a2afafa59e9b958c7f736c605c55524d4e4e49505359606a717e8a949fabab9f92877b6e6154473b3025190e02000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000916222e3a46515b62656c6c6c6c6c6c66635c52473b2f23170a0000000000000000000000080f171f252a313744505d697378797979746d665e564e504f4c4a4745403938322b2620180f0900000000000000000000000000000013202d394653606c798686868686868686909494908686868686868686796c605346392d2013000000000000000000000000000002080d141a1e20262b343d454d565d666d747f87929892857b6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e020000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d2726241f19130b02000000000000000000000000000000000000000000000000000000000000000000000000000000030c151c23282c393939393939393933322f2a241c140a00000000000007101920272b2e2f3939393939393932312e29221b12090000000006131f2c3945515d676e7c8490959d9d9993908d8b8b8b8d8f92999f9c938e82796d60584e43372b1c110600000000000000000000000106090b0c0e06060300000000000000020405060605040200000000000002070a0c0d0b0b0905010000000000000000000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d01000d1a2633404d59667380868686868686868680746c61574e43392f251b100700000000000000101c2936434f5c697682868686868686868686868686868686868686867d7063564a3d3023170a0004101c27333d474f5456606060606060606060606060606060606060605c5a544c42382c211509000000000000000000000000000000020b131a202427272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2a2927221c150d0500000000000000000000000000000000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e1308000000000000000000000000000916222f3c4955626f7c8895a2afb7afa89d9083786d605a514b464241413f44464f58616c76828f9ca9afa3998c7f7266564c41362a1e1105000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000006121e29343f495156586060606060605a58524a40362a1f1307000000000000000000000000050d141a1f263845525f6b788586868681786d685f584f47403d3a38352f2c27211a150e060000000000000000000000000000000013202d394653606c798693939393939393969696969393939393939386796c605346392d201300000000000000000000000000000000050c151d2328363e464f575f686d78818c939993877d70695e52463a2d20140700000000000000000000000000000000000000000000000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e14080000000000000000000000000000000000000000000000070d1316191a20202020202020201a1a17130e0801000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e262e34384646464646464646403f3b362e261c120800000000040f19222b32383b3c464646464646463e3d3a342d241b1106000004111d2935414c55606d798391969f9b938e8783807f7e7f8082878f949e9d948e81746a605447382e23170b00000000000000000000070d121618191b13120f0b06000608080c0e1112131312110f0c09080603080e1317191a181715110c06000000000000000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b110700000c1925323f4b57636d737979797979797979746e645a50453c31281d120900000000000000000f1c2835414e5a66707679797979797979797979797979797979797979706b6054483c2f22160900000b16212b353d44484a535353535353535353535353535353535353534f4e49423a30261b10050000000000000000000000000000010b141d252b3033343939393939393939393939393939393939393939393939393939393939393939393736332e271f170d040000000000000000000000000000000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c01000000000000000000000000000916222f3c4955626f7c8895a2afb9ada1968a7d70665c5045403936302d33373d46505a63707d8a97a1adab9d908377685e5246392d201407000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000d1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000010d18232d373f464a4c5353535353534d4b4740382e24190e020000000000000000000000000002090e1926323f4c5965727f8c93938e827a6f6a6159514440393029241d1b160e0903000000000000000000000000000000000013202d394653606c798693928d89898989898989898989898989898986796c605346392d2013000000000000000000000000000000060e161e272e344048505960696e7a828e939f948c7f736b60574d42362a1e11050000000000000000000000000000000000000000000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d0200000000000000000000000000000000000000000000000002070a0c0d13131313131313130e0d0b0703000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c2630383f4453535353535353534d4b4740382e24190e020000000a16202b343d434749535353535353534b4a453f362d22180c01000613202c3945515d6773808d95a09b918c817b767372717273767b828f939e9f93877c6f62544a3f34281c100300000000000000010911181e22252628201f1c17110e121415181b1e1e1f201f1e1c191615130f12191f2326272524211d181109000000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b13090000000a16232f3b47525b63666c6c6c6c6c6c6c6c67645c52483e332a1f160c0000000000000000000d1925323d49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6360594f44382c2013070000050f19232b33383c3d4646464646464646464646464646464646464643413d3830281e140a00000000000000000000000000000008131d262f363c404146464646464646464646464646464646464646464646464646464646464646464644423f3931291f150b00000000000000000000000000000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c20130400000000000000000000000000000916222f3c4955626f7c8895a2afb7ab9e9184786c60544a3f342e2a2522272b343e4653606c7885919eabac9f93877a6e6154473b2e211408000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000002090e1a2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000007111b252d343a3e3f464646464646403f3b362e261c1208000000000000000000000000000000000b1825313e4a56626d75818f969490847c706b625b514a423a322a211911060000000000000000000000000000000000000013202d394653606c7986938d807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7063564a3d3023170a0000000000000000000000000000070f18202830394045525a616b6f7b838f949d968f82776c60594f453b30251a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e38424a505f606060606060605a58524a40362a1f13070000030f1b27323d464e545660606060606060585650483f34291d1105000714212d3a4754606d7a85929f9e948c7f746e696765656566696e78818f98a39a8e8175665c5044382b1f12060000000000000009131b23292e3132352d2b28221c1a1e212225282a2b2c2c2b2a282622221f1b1c242a2f323332312e29221b1209000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e1811090100000007131e2a35404952575960606060606060605a58524a40362c21180d040000000000000000000915212c38424c545a5c6060606060606060606060606060606060606056544f473d33271c100400000008111921272c2f30393939393939393939393939393939393939393635322c261e160c020000000000000000000000000000030f1a252f3841484c4e535353535353535353535353535353535353535353535353535353535353535353514f4a433b31271c11060000000000000000000000000000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d110400000000000000000000000000000916222f3c4955626f7c8895a2afb6ac9a8d8073665b5042382e231d1a171b222b3744505b6574818e9ba7afa49a8a7e7164574b3e31241807000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000040a0f141a1e2633404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000009131b23292e313239393939393933322f2a241c140a00000000000000000000000000000000000916222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a02000000000000000000000000000000000013202d394653606c7986938b7e727070707070707070707070707070706b6054483c2f22160900000000000000000000000000071019212a323a434b515b636c717d8591959f9991847a6d655b50473d33291f14090000000000000000000000000000000000000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d05000000000000000000000000000000000000000000000000000000000000000000000000000000000001070b0f1112131313131313130a090704000001070b0f1112131313131313130a0907040000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c66635c52473b2f23170a000006131f2b38434e5860626c6c6c6c6c6c6c65625a50453a2e211509000b1825323e4b5865717e8b989e9c8f82756d615e57585858575e666e7b86929f9e9285786d6053463a2d20130700000000000009121b252d353a3e3f413938332d26262b2e2f323537383939383735322f2e2b27262e353b3f403e3d3a342d241b120900000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d070000000000020d19242e3740474b4d53535353535353534d4c4740382f241a0f060000000000000000000005101b26303a42494e4f535353535353535353535353535353535353534a48443d352b21160b0000000000080f161c2022232d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c040000000000000000000000000000000814202b36414a53585a6060606060606060606060606060606060606060606060606060606060606060605d5b554d43392e22160a0000000000000000000000000000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d0100000000000000000000000000000916222f3c4955626f7c8895a2afafa49a897d7063544a3f30261c120e0b0f1b27333f495364717e8b97abb5ac9a8d8073675a4d402e23180c000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000000000000002080d161b1f252a2d33404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000010911181e2225252d2d2d2d2d2d2726231f19120a02000000000000000000000000000000000006121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c030000000000000000000000000000000013202d394653606c7986938b7e7265636363636363636363636363636360594f44382c201307000000000000000000000000040f19222b333c444c555c606d737e869297a09f92877c6f685d53493f352b20170d0200000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e08020000000000000000000000000000000000000000000000000000000000000000000000000000000000050c12171b1e1f20202020202020171613100b050c12171b1e1f20202020202020171613100b05000000000006121f2c3844505c667679797979797979736e63584b3f3226190c00000815222e3b4754606a6f79797979797979716c62564a3d3124170b000e1b2835414e5b6874818e909192897c6f635b524d4c4b4c4d545e6976828f9ca297887b6e6155483b2e221508000000000009121b252d373f464a4c4e46443f382f31373a3b3f41444546464544423f3c3b37322c3840474b4d4b4a453f362d241a120800000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b0906010000000000000007121c252e353b3f404646464646464646413f3c362f261d12080000000000000000000000000a141e2830383d4143464646464646464646464646464646464646463d3c38332b23190f05000000000000050b10131617202020202020202020202020202020202020201c1c1915100a02000000000000000000000000000000000b1824303c48535c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a675f554a3f33271a0e00000000000000000000000000000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e13080000000000000000000000000000000916222f3c4955626f7c8895a2afac9f93867a6d6053473a2d20140a00000b17222d3c4855626f7b8899a4afa99c8f837669554b4034281c10040000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000050c131921272c30363a3b404d596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000070d121618192020202020201a1917130e0800000000000000000000000000000000000000010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c0300000000000000000000000000000013202d394653606c7986938b7e72655856565656565656565656565656544f473d33271c10040000000000000000000000000a16212b343d454d565e676d757f8a9298a19e938b7f726a60564c41382d23190e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205070812131313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e23282a2b2d2d2d2d2d2d2d2322201c160f171e23282a2b2d2d2d2d2d2d2d2322201c160f08000000000713202d3a4653606d78868686868686868073665a4d4033271a0d00000916232f3c4956626f7c868686868686867e7165584b3e3225180b000c1926323f4c5965727f8283848586786d605346423f3e3f424d576773808d9aa995897c6f6256493c2f2316090000000008121b242d373f495157595b53504a42383c4247484b4e5151525352514f4c4947433c39404a52585a585650483f362c241a1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a131c242a2f323339393939393939393433302b241d140b00000000000000000000000000020c161e262c32353639393939393939393939393939393939393939302f2c27211911080000000000000000000407090a13131313131313131313131313131313131313100f0d09050000000000000000000000000000000000000d1a2733404c58646e747979797979797979797979797979797979797979797979797979797979797979797771675b4f4236291d10000000000000000000000000000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c020000000000000000000000000000000916222f3c4955626f7c8895a2afaa9e918477675d5145392c20130200000613202d3a4653606d7986939facab9e918478675c5145382c1f13060000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000000000070e171e252a32383b4246474b4e596673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000070d121618192020202020201a1917130e080000000000000000000000000000000000000000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b00000000000000000000000000000013202d394653606c7986938b7e7265584b4a4a4a4a4a4a4a4a4a4a4a4a48443d352b21160b000000000000000000000000030f1b27323d464e575f686d79818c929fa3a0958e81756d62584e443a2f261b11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1821282f34373839393939393939302f2c27211921282f34373839393939393939302f2c27211911080000000713202d3a4653606d798693939393938d8073665a4d4033271a0d00000916232f3c4956626f7c8993939393938b7e7165584b3e3225180b000c1825313e4a57636d7275767778796d665c5044383030363f4c5966727f8c99ab96897d7063564a3d3023170a000000040d1a242d363f49515b626568605b544a45464d5355585b5d5e5f5f5e5d5b5955544e47454a525c636665625a50483e362c231a0d0400000000000000000003060809131313131313131313131313131313131313131313131313130b0a0804000000000000000000010a12191e2325262d2d2d2d2d2d2d2d2726241f19130b020000000000000000000000000000040c141b212528292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2322201c160f0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a67748186868686868686868686868686868686868686868686868686868686868686868683776a5d5144372a1e110000000000000000000000000000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c201304000000000000000000000000000000000916222f3c4955626f7c8895a2afa89c8f827569554b4035291d1104000006131f2c3845515c677884919eabac9f9386796d6053463a2d2013070000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000071019202930363d44484d5254575b5d6673808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000010911181e2225252d2d2d2d2d2d2726231f19120a020000000000000000000000000000000000000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d1207000000000000000000000000000013202d394653606c7986938b7e7265584b3f3d3d3d3d3d3d3d3d3d3d3d3c38332b23190f0500000000000000000000000007131f2c38434e5860696e7a828e939ca4a2989183796d605b51463d32281d140a0000000000000000000000000000000000000000000002070c0f11121313131313131313131313131313131313131313131313131313131313131313131313131308070502000000000000000000000001070b0f1112131313131313130a09070400000000000000010c17212a333a404345464646464646463d3c38332b232a333a404345464646464646463d3c38332b23190f0500000713202d3a4653606d7986939f9f9f998d8073665a4d4033271a0d00000916232f3c4956626f7c89959f9f9f988b7e7165584b3e3225180b000916222e3a46515b636568696b676d675c544a3f41414142464e586673808d99a399887c6f6255493c2f2216090000010c161f2c363f48515b626d72746c665b545153575f6265686a6b6c6c6b6a68656260585452525c636e73716c625a50483e352c1f160c01000000000000040a0f12151520202020202020202020202020202020202020202020202020171714110c05000000000000000000070d1316191a20202020202020201a1a17130e080100000000000000000000000000000000020a1015191c1c20202020202020202020202020202020202020171613100b05000000000000000000000000000000000000000003090d1012131313131313130e0d0b080300000000000000000000000000000000000000000e1b2734414e5a6774818d939393939393939393939393939393939393939393939393939393939393939083776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d1104000000000000000000000000000000000916222f3c4955626f7c8895a2afa79a8d8174675a4e412f24180d01000004101c2834404b556a7683909da9afa49a887b6e6155483b2e2215080000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000061019222b323a41464f54575e6164676a6b73808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000009131b23292e313239393939393933322f2a241c140a00000000000000000000000000000000000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c000000000000000000000000000013202d394653606c7986938b7e7265584b3f3d3d3d3d3d3d3d3d3d3d3d3c39332c231a10050000000000000000000000000915222e3b4854606a6f7b8490949ea5a49f92867c6e675d51493f342b20160b02000000000000000000000000000000000000000000060d13181c1e1f202020202020202020202020202020202020202020202020202020202020202020202020201514120e09030000000000000000050c12171b1e1f20202020202020171613100b05000000000007121e28333c454b5052535353535353534a48443d352b333c454b5052535353535353534a48443d352b21160b00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2aca4988b7e7165584b3e3225180b0006121e2a353f495157595b5d555c605c554b474e4e4e4e4d52575f6a76838f9c9f92867a6d6054473a2d211407000007131d28313e48505a626d727f81786c665b5c6064696e727477787979787775726f6a65605d5c636e73807e716c615a50473e31281e13080000000000060e151b1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c17100800000000000000000002070a0c0d13131313131313130e0d0b0703000000000000000000000000000000000000000005090d0f10131313131313131313131313131313131313130a090704000000000000000000000000000000000000000000070e14191d1f202020202020201b1a17140e08010000000000000000000000000000000000000e1b2734414e5a6774818d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9d9084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d01000000000000000000000000000000000916222f3c4955626f7c8895a2afa6998c807366594d4033261a07000000000c18232e424f5c6975828f9ca8b6ac95887c6f6255493c2f2216090000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000050e18222b343d444c52596063696e7174767778808c9996897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000007111b252d343a3e3f464646464646403f3b362e261c120800000000000000000000000000000000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c10040000000000000000000000000013202d394653606c7986938b7e7265584b4a4a4a4a4a4a4a4a4a4a4a4a49443e362c22170b0000000000000000000000000916232f3c4956626f7c85919693939393928a7e716a5f554b40372d22190e04000000000000000000000000000000000000000000070f171e24282b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d22211e1a140e06000000000000060f171e23282a2b2d2d2d2d2d2d2d2322201c160f08000000000b17232f3a454e565c5e6060606060606056544f473d333a454e565c5e6060606060606056544f473d33271c1004000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00010d18232d373f464a4c4f504b5153514c52545a5a5a5b575e61696f7c87929f9c8f8376675d5145392c20130600010d18242f3a43505a626c727f8b8e81786c66666d71767b7e81848485868584827f7c77726d68606e73808d877e716c61594f433a2f24190d0100000006101820262b2e2f3939393939393939393939393939393939393939393939393931302d28221a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000811191f25292b2c2d2d2d2d2d2d2726241f1a130b0200000000000000000000000000000000000e1b2734414e5a6774818d9aa7acacb2a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e130800000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7f7265584c3f3225190c00000000071b2835424e5b6875818e9ba8b0a396897d7063564a3d3023170a0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000020c16202a343d464e565e616b6f757b7e8183848587939f96897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000010d18232d373f464a4c5353535353534d4b4740382e24190e0200000000000000000000000000000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f13060000000000000000000000000013202d394653606c7986938b7e726558575757575757575757575757575550483e33281c100400000000000000000000000d1a2633404d59667380868686868686868680746c61574e43392f251b1007000000000000000000000000000000000000000000060f1921292f343738393939393939393939393939393939393939393939393939393939393939393939393939392e2d2b261f180f0600000000050f1821282f34373839393939393939302f2c27211911080000000f1b2834404b5660686b6c6c6c6c6c6c6c6360594f4438404b5660686b6c6c6c6c6c6c6c6360594f44382c201307000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000007111c252d353a3e3f42434045474c565d616767676869696e727b8491999e938a7d7063554b4135291d11040004111d2935404b55616c717e8893938e81786c70797e83888b8e9091929291908e8c88847f7a726d73808d9292877e716b61554c4135291d11040000040e18222a32373b3c464646464646464646464646464646464646464646464646463e3c39332c241a1005000000000000000000000000020608080c0b09060100000000000000000000000000000000000000000004080a0b0807050200000000000000000000000000000000000205070813131313131313130707050100000000000000000007111a232a313538393939393939393433302b241d140b01000000000000000000000000000000000e1b2734414e5a6774818d9aa9b3b9ada1979191919191919191919191919191919191919191919191919083776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000008131e28323c464e5860686d767c82878a8e9091929399a496897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000006121e29343f495156586060606060605a58524a40362a1f1307000000000000000000000000000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d2013070000000000000000000000000013202d394653606c7986938b7e72656464646464646464646464646464615a5044392d20140800000000000000000000000c1925323f4b57636d737979797979797979746e645a50453c31281d1209000000000000000000000000000000000000000000020d17212b333b404445464646464646464646464646464646464646464646464646464646464646464646464646463b3a37312a21180e030000010c17212a333a404345464646464646463d3c38332b23190f050000111e2a3743505c68727879797979797979706b6054483c43505c68727879797979797979706b6054483c2f221609000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000a131c232a2e3132352f343946525d686d7474747475777b7f8591969e938e81746b6155433a2f24180d01000613202c3945515d67717e87939a9d938e81797d848b9095989b9d9e9f9f9e9d9b9895918c857f79808d929c9992877d70675d5145392c20130600000a15202a343c434748535353535353535353535353535353535353535353535353534a49453e362c22170c0000000000000000000003090e121415191815120d06000000000000000000000000000000000000050c111417171514120e09030000000000000000000000000002090e12141520202020202020201413110d0802000000000000030e19232c353c414546464646464646413f3c362f261d1308000000000000000000000000000000000e1a2734414d5a6774808d97a2adb8ab9e91858484848484848484848484848484848484848484848484848275685c4f4235291c0f00000000000000000000000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c2013040000000000000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000010d1925303a444e58606a6f7a82898f94979a9d9e9f9fa4ab96897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d100000000000000000000916222e3a46515b62656c6c6c6c6c6c66635c52473b2f23170a0000000000000000000000000000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e2114080000000000000000000000000013202d394653606c7986938b7e727070707070707070707070707070706c6155493c3023160a00000000000000000000000a16232f3b47525b63666c6c6c6c6c6c6c6c67645c52483e332a1f160c0000000000000000000000000000000000000000000007131e29333d454c5052535353535353535353535353535353535353535353535353535353535353535353535353534846423c332a1f1409000007121e28333c454b5052535353535353534a48443d352b21160b0000121f2b3845525e6b7884868686868686867d7063564a3d45525e6b7884868686868686867d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000010a11181e22252628232e3a4754616d7a808181818284878c929796918b81796d60594f4431281d130700000714202d3a4753606d7a859297a2a59d938e848991969d9fa7a7aaa8a7a7a8aaa8a7a09d97928b858d929ca4a39892857a6d6054473a2d21140700030f1b26323c464e535560606060606060606060606060606060606060606060606060575550483e33281c11040000000000000000060e151a1e21222524221e181109010000000000000000000000000000000810171c21232422211e1a140d060000000000000000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c05000000000009141f2a353e474d51535353535353534e4c4741382f241a0e030000000000000000000000000000000815212e3b4854616e7b85929ea4aea99d9083787777777777777777777777777777777777777777777777756f65594d4134281b0e000000000000000000000000000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d11040000000000000000000000000000000000000916222f3c4955626f7c8895a2afa4988b7e7165584b3e3225180b000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000005111d2a36414c565f6a6f7d848f949c9ea6a7a9aaabacafa296897c6f635649505c6976838f9c9286796c5f5346392c201306000000000000000000000000030a0f1d2a3643505d69768390908376695d5043362a1d0f0a03000000000000000b1825313e4a56626d72797979797979736e63584b3f3226190c000000000000000000000000000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d2014070000000000000000000000000013202d394653606c7986938d807d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7e7064574a3d3124170a000000000000000000000007131e2a35404952575960606060606060605a58524a40362c21180d04000000000000000000000000000000000000000000000c18242f3b454f575d5f6060606060606060606060606060606060606060606060606060606060606060606060606055534d453c31261a0e02000b17232f3a454e565c5e6060606060606056544f473d33271c100400121f2b3845525e6b7885919393939393897d7063564a3d45525e6b7885919393939393897d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000070d121618191c212e3b4854616e7b878d8d8e8f9193938f8d89847e756d675c51473e331f160c0100000613202c3945515d676f7c859298a2a59d9591959da0a8aba8a09d9b9a9a9b9d9fa4aca9a19e9691969ca4a39992867d70675d5145392c2013060006121f2b37434e585f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d21140800000000000000060f181f262b2e2f32312e29231b130a010000000000000000000000000008121a22282d30312e2d2a261f180f06000000000000000000050f171f252a2d2e39393939393939392e2d2a251e160e05000000010d1925313c4750585e5f6060606060605a58524a41362b1f14080000000000000000000000000000000714202d3a46525e69707d8a929da7ab9f958d80736b6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a68655d54493d3125190c000000000000000000000000000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d010000000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000713202d3946525e686f7c8691969ea6aab0b4b6b7b8b9afa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000000060e151a1f2a3643505d69768390908376695d5043362a1f1a150e060000000000000c1925323f4c5865727f8686868686868073665a4d4033271a0d00000000000000000000000000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e11050000000000000000000000000013202d394653606c798693928d8a8a8a8a8a8a8a8a8a8a8a8a8a8a8a86796c605346392d20130000000000000000000000020d19242e3740474b4d53535353535353534d4c4740382f241a0f0600000000000000000000000000000000000000000000000f1c2834404c5761686b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5f574d42372b1e1205000f1b2834404b5660686b6c6c6c6c6c6c6c6360594f44382c20130700121f2b3845525e6b7885919e9f9f9f96897d7063564a3d45525e6b7885919e9f9f9f96897d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000000000106090c0c15212e3b4854616e7b87949a9b9c9e938682807d78716c605c554b40352c210d0400000004111d2935404b55606a6f7c869298a2a7a09da0a7a9a29f9996918f8e8d8e90939a9ea1a8a8a19ea1a8a39992877d706b60554c4135291d1104000815212e3b47535f6a7679797979797979797979797979797979797979797979797979716c6155493c3023170a000000000000060f18212a31373a3b3f3e3a342d251c130a01000000000000000000000008121a242c33393c3e3b3a36312921180f0500000000000000020d17212930363a3b4646464646464646463936302820160c02000004101d2935414d58626a6c6c6c6c6c6c6c67645c52473c3024170b00000000000000000000000000000005121e2a36424d57616c74808d95a0aaa79f93887d70685e545e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5c59544b42372c2115090000000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e1308000000000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7f7265584c3f3225190c000000010e1b2834414e5b6774818e9aa7b0a4978a7d7164574a3e3124170b0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000005121e2a36424d57616d7a849198a1a8b0b7bbc1c3c4c5bcafa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000000006101820262b2e3643505d69768390908376695d5043362e2b262018100600000000000c1925323f4c5865727f8b939393938d8073665a4d4033271a0d000000000000000000000000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e020000000000000000000000000013202d394653606c798693939393939393939393939393939393939386796c605346392d201300000000000000000000000007121c252e353b3f404646464646464646413f3c362f261d1208000000000000000000000000000000000000000000000000111e2b3744505d6873787979797979797979797979797979797979797979797979797979797979797979797979797976695f53463a2d21140700111e2a3743505c68727879797979797979706b6054483c2f22160900121f2b3845525e6b7885919eabaca396897d7063564a3d45525e6b7885919eabaca396897d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000000000060b0f12131c212e3b4854616e7b8793939495989a9285817d756e685e574d43392e23180c00000000010d18242f3a434e58606a6f7d86929aa4acaaaca59d97928c88848281818283878b91969fa3ababadac9f92877d706b61594f433a2f24190d01000915222f3c4855626f7c868686868686868686868686868686868686868686868686867e7164574a3e3124170b0000000000050f18212a333c4247484c4a463f372e251c130a0100000000000000000008121a242c363e45494a4846423b332921170e0500000000000009141f29333b42464853535353535353535346413a32281e1308000005121f2b3845515e6a7479797979797979746e64584c3f33261a0d000000000000000000000000000000020e1a25303b454f59606d79839098a2aea49a92857a6e665b5051515151515151515151515151515151514f4d49423930261b100400000000000000000000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c02000000000000000000000000000000000000000916222f3c4955626f7c8895a2afa6998c7f7366594c4033261907000000020f1b2835424e5b6875818e9ba8b0a3978a7d7064574a3d3124170a0000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000714212d3a46535f6974818e96a1aab2bac2c7ccd0d1c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c201306000000000000000000061018222a31373a3c43505d69768390908376695d50433c3a37312a22181006000000000c1925323f4c5865727f8b989f9f998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e1408000000000000000000000000000013202d394653606c798686868686868686868686868686868686868686796c605346392d2013000000000000000000000000000a131c242a2f323339393939393939393433302b241d140b00000000000000000000000000000000000000000000000000121f2c3845525f6b7885868686868686868686868686868686868686868686868686868686868686868686868686867b6e6155483b2e22150800121f2b3845525e6b7884868686868686867d7063564a3d3023170a00121f2b3845525e6b7885919eabaca396897d7063564a3d45525e6b7885919eabaca396897d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000000020a11171c1f2028232e3b4854616e7b86868687898c9195928e89827a6e695e544a4034281c10040000000007131d28313d464e58606b6f7c87939facaba39f938e857f7b7775747475777a7e848c9299a2a9b3a4978a7e716b61594f473d31281e130800000916232f3c4956626f7c8993939393939393939393939393939393939393939393938a7d7164574a3e3124170b00000000050e172129333c454d5355585651493f372e251c130a010000000000000008121a242c363e4850555755534d453b332920170e0500000000020e1a25303b454d525f60606060606060605f524c443a3025190d01000613202c3946535f6c79868686868686868074675a4e4134271b0e0100000000000000000000000000000009141f29333e45515c676e7b86929fa5aca1978f82786c60594f4444444444444444444444444444444442413d3730271e140900000000000000000000000000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c20130400000000000000000000000000000000000000000916222f3c4955626f7c8895a2afa79a8d8174675a4e412e23180c000000030f1c2936424f5c6975828f9ca8afa296897c6f6356493c302316090000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000815222e3b4855616e7b87929fa8b2bcc4ccd3d7dcd5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000000060f18222a343c43474847505d69768390908376695d50474847433c342a22180f060000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d02000000000000000000000000000013202d3946535f6c767979797979797979797979797979797979797979766c5f5346392d201300000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d2726241f19130b0200000000000000000000000000000000000000000000000000121f2c3845525f6b7885929393939393939393939393939393939393939393939393939393939393939393939393887b6e6155483b2e22150800121f2b3845525e6b7885919393939393897d7063564a3d3023170a00121f2b3845525e6b7885919e9f9f9f96897d7063564a3d45525e6b7885919e9f9f9f96897d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000020b141c22282b2d352e343a46535e69767979797a7c7f848c9399948f847b6e665c5144382c1f150900000000010c161f2b343d45515d67717e8b9aa4afa399928b817a736e6968676768686e72797f879297a2aaa6998c7f73695f53463e352b1f160c010000091623303c4956636f7c89969f9fa8a19e9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c978a7d7164574a3e3124170b000000020b172029333b454d575f6265625b51493f372e251c130a01000000000008121a242c363e48505a6164615f574d453b322920170c0200000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d1105000613202c3946535f6c798692939393938d8174675a4e4134271b0e01000000000000000000000000000000030d17212834404b555f69717e8a939da8a99f948c7f736b60564c4135373737373737373737373737373534312c261e150c02000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d110400000000000000000000000000000000000000000916222f3c4955626f7c8895a2afa89b8f827568544a4034281c1004000004101c2934404b556a7683909da9b4aa95887b6f6255483c2f2215090000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0006121e2b37424d576774818d99a3afbac4ced6dfe3e2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c20130600000000000000030e18212a343c464e535554525d69768390908376695d525455534e463c342a21180e0300000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e05000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e12000000000000000000000000000000070d1316191a20202020202020201a1a17130e08010000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929e9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94887b6e6155483b2e22150800121f2b3845525e6b7885919e9f9f9f96897d7063564a3d3023170a00121f2b3845525e6b7885919393939393897d7063564a3d45525e6b7885919393939393897d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000a141d262d33383942434045464d575e6c6c666d6d6f72787f87939f969083786d6053463c31261a0e0200000000040f1b27333f4953606d7984919eaca49f92877f746d68615f575b5a565e61676d727d859298a2ac9f92867b6e61564c41362a1e11050000000a1623303d495663707c899aa4aca196918f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8a7d7164574a3e3124170b0000000a141d29323b454d575f696e726d635b51493f372d251c130a0100000008121a242c363e48505a616c716e695f574d443b32291e140a0000000714202d3a46525e6976797979797979797976685e5246392d201307000613202c3946535f6c7986929f9f9f9a8d8174675a4e4134271b0e0100000000000000000000000000000000050f18232e39434d57616c74818e95a0aaa69f92877d6f685d52463f342a2b2b2b2b2b2b2b2b2b2b2b292825211b140c03000000000000000000000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000916222f3c4955626f7c8895a2afaa9d908477665c5144382c1f1206000006131f2c3845515c677884919eabaea298877a6d6154473a2e2114070000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000814212d3a47535f697884919eabb5c0ccd6e0e8f1e2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000009151f2a333c464e585f62615e566976839090837669565e61625f584e463c332a1f150900000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d05000000000000000000000000000000000f1b27333e49525a5f60606060606060606060606060606060606060605f5a52493e33271b0f0000000000000000000000000000000002070a0c0d13131313131313130e0d0b070300000000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabacacaea9a7a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a194887b6e6155483b2e22150800121f2b3845525e6b7885919eabaca396897d7063564a3d3023170a00121f2b3845525e6b7884868686868686867d7063564a3d45525e6b7884868686868686867d7063564a3d3023170a000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000006111c262f383f44464f504b51535452535f605c606162666c727f8b95a0958c7f7265574e42372b1e12060000000005121f2b3744505b65727f8c97a1a89c928a7e726d615d56534d4e4e4c52555c606b707c86929fa6a3988e8175685e5246392d2014070000000815222f3b4855626e7b87939fa99e91848383838383838383838383838383838383827d706356493d3023160a000006111b262f3b444d575f696e7b7f726d635b51493f372d251c130a010008121a242c363e48505a616c717d7b6e695e564d443a30261c110600000815212e3b4854616e7b86868686868686867a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000007121d27303c45505a606d79839198a3aea39991847a6d615b51463c31281d1e1e1e1e1e1e1e1e1e1c1b191510090200000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e13080000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afac9f9286796d6053463a2d20130900000714202d3a4753606d7a86939facac9f928579685e5246392d2013070000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222e3b4855616e7b8896a1adbdc7d1dee8f2efe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c201306000000000000020e1a26313c454e585f6a6f6d685e69768390908376695e686d6f6a5f584e453c31261a0e02000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e080200000000000000000000000000000000000a16212c3740494f535353535353535353535353535353535353535353534f4940372c21160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabb8aea49d9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a94887b6e6155483b2e22150800121f2b3845525e6b7885919eabaca396897d7063564a3d3023170a00111e2a3743505c68727879797979797979706b6054483c43505c68727879797979797979706b6054483c2f221609000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000b17222d38424a50535b5d555c60605d564c4a505354545b606c7883909d9e9184786a5f53473a2e211408000000000613202d394653606c7884919ea9a0968d80736c625b524c4642414141464b5159606a717e8a939eaa9f92867a6e6154473b2f24180c0000000814212e3a47535f6975818e97a29d9084787676767676767676767676767676767676706b6054483b2f22160900000b17222d38414d565e696e7b848b7f726d635b51493f372d251b130a08121a242c363e48505a616c717e86847b6e695e564c42382e23170b00000815212e3b4854616e7b87939393939393877a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000b151e2a333e45515d676f7c86929fa5aba1968f82756d62584e433a2f24180f111111111111110f0e0c09040000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3221160c020000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afaea399887c6f6255493c31261a0d06030615222f3c4855626f7b8899a4afaa9d9084776a564c41362a1e11050000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000b1825313e4b5864717e8b97a8b2bdcfd9e3f0faefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c20130600000000000006121e2b37424d575f6a6f7b7a6d686976839090837669686d7a7b6f6a5f574d42372b1e1206000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000002050708121313131313131313080705020000000000000000000000000000000000000005101b252e373e4346464646464646464646464646464646464646464646433e372e251b10050000000000000000000000000000000000000003080b0e0e131313131313130a090704000000000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabb8a99d928d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d887b6e6155483b2e22150800121f2b3845525e6b7885919e9f9f9f96897d7063564a3d3023170a000f1b2834404b5660686b6c6c6c6c6c6c6c6360594f4438404b5660686b6c6c6c6c6c6c6c6360594f44382c201307000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00030f1c28333f4a545b6068696b676d6d685d52454446474a505b6573808c99a196887b6e6255483b2f221508000000000a1623303d495663707d8996a0a99e9184786d605a5146413a373130363940454f58616c75828f99a3a3998c7f7266554b4035291d1004000006121e2b37424d57616e7b85929fa0958c80736c6969696969696969696969696969696360594f44382c20130700030f1b27333f49535e696e7b8491918c7f726d635b51493f372d251b13121a242c363e48505a616c717e879291847b6e685e544a3f34281c1003000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000030c18212935404b555f6a727f8b939ea8a89e948b7f726a5f554b41352921180d030404040404020200000000000000000000000000000000000000000000000000000000000000000000000000000001070c06111c2a36424d5763707d8a96a1acaaa8aab0a79b8e8174685d5245392c201304000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afb5ab998c7f7266574d42372b1f15120f121c2834404a5465717e8b98abb5a89b8e8175685b4e423025190d010000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000d192633404c5966737f8c99a6b2bfcfd9eaf5ffefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000814212d3a47535f696f7c85837a6d68768390908376686d7a83857c6f695f53473a2d211408000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131c252c33373939393939393939393939393939393939393939393937332c251c130900000000000000000000000000000000000001080f14181a1b20202020202020171614100b0500000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabb4a79a8d8080808080808080808080808080808080808080808080808080808080807a6d6154473a2e21140700121f2b3845525e6b7885919393939393897d7063564a3d3023170a000b17232f3a454e565c5e6060606060606056544f473d333a454e565c5e6060606060606056544f473d33271c1004000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0006121f2b3844505b666c75767778797a6d60544b403a3a3f495364717e8b97a8978a7d7164574a3e3124170b00000003101c28343f4a546773808d9aa8a2978a7e71665c51483f35302b26252a2e343d46505a626e7b87929fab9d908376675d5145382c1f13060000020e1a26313c46525e68717e8a929c9f93887e716c605b535c5c5c5c5c5c5c5c5c5c5c56544f473d32271b10030005121f2b3744505b656e7b8491969c918c7f726d635b51493f372d251b1a242c363e48505a616c717e8792999691837a6d665c5044382b1f1206000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000060f18242f39434e58626d75818e96a1aba69f92867c6f675d51453f332a1f150b010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c13181b1e1a25313b4653606c7884919e9f9f9f9f9fa095897c6f63564c4135291d1104000000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afb6a99c908376695f53473c3127201f1c1f232c3844515c6675818e9ba8b3a9988c7f7265594c3f32261908000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000d1a2734404d5a6773808d9aa6b3c0cdd9e6f3fcefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000815222e3b4855616e7b859290837a6d7683909083766d7a839092857b6e6155483b2e221508000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000010406070a0d101112131312100e0b080705020000000000000000000000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000000000000000000000000000020b131a202427282d2d2d2d2d2d2d2323201c160f08000000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a73737373737373737373737373737373737373737373737373737373736d685e5246392d20130700121f2b3845525e6b7884868686868686867d7063564a3d3023170a0007121e28333c454b5052535353535353534a48443d352b333c454b5052535353535353534a48443d352b21160b00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000613202d394653606c7881838485868275665c5145403f414a5464717e8b97a4988b7e7165584b3e3225180b00000006121f2b3844505c667683909da99f9285796d60544a403629241e1a191d2328343e47535f6a7683909ca99f92867a6d6053473a2d2014070000000915202a36414d56616c73808d939d9a92877e736c655d554e5050505050505050504948443d352b21160b00000613202d394653606c79839096a0a39c918c7f726d635b51493f372d25242c363e48505a616c717e879299a3a0959083796d6053463a2d201307000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000007121d28313c46515b606d7a849199a3aea3999184796d605a50463c31271d120700000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f171e23282a2b2d2b3844505b66737f8c999393939393939084776b6054443a302419120b030000000000000000000000000000000000000000000916222f3c4955626f7c8895a2afb7ab9f94887b6e62574e4339312d2b282b2e343f4953606d7985929fabada297897c6f6356493c30231609000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000e1b2835414e5b6874818e9ba7b4c1cedae7f4fcefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c2013060000000000000713202d3a4653606d78818e9390837a7683909083767a8390938e81786d6053463a2d201307000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000020608080d0606030000000000000000000000000000000104080d111314171a1d1e1f201f1f1d1b181414110e080200000000000000000000000000010910161b1e202020202020202020202020202020202020202020201e1b161009010000000000000000000000000000000000010b141d252b30333439393939393939302f2c27211a11080000000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e67676767676767676767676767676767676767676767676767676767615e564c4135291d110500111e2a3743505c68727879797979797979706b6054483c2f22160900010c17212a333b434a4f5053535353534c4a463f372d232a333b434a4f5053535353534c4a463f372d23190f0500000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0006121f2b3844505b6677849091929285796d6058514a4c4b515b6673808d99a9978a7d7164574a3e3124170b0000000713202d3a4653606d7986929fa89b8e8175665c5042392e2419130e0d1218222b37434e5866727f8c99a5a399897c6f6356493c30231609000000030e1925303b44505a606c77818e939c99928b80776d675f585045414343434343433d3b38322b23190f04000005121f2b3744505b65707d869298a2a39c918c7f726d625b51493f372d2c363e48505a616c717e879299a3a39992877e71665c5044382b1f1206000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000010c161f2a343f45525d686f7c87929fa6aba0968e81756c62584e43392f24180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1821292f3437383939333f4a54616e7a8786868686868686867f7265594f43322c29231d150d0700000000000000000000000000000000000000000916222f3c4955626f7c8895a2afbdb0a69a8d81746a5f554b433c39383338393f44505b65717e8a97a2adab9f9285796d6053463a2d201307000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000e1b2835414e5b6874818e9ba7b4c1cedae7f4fcefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c20130600000000000006121f2c3844505c666d78818e9390837a839090837a8390938e81786d665c5044382c1f1206000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000003090e1214151913120f0b06000000000000000000000003070d1013191d202124272a2b2c2d2c2b2a282521201e19140f0a0400000000000000000000000000050a0f1213131313131313131313131313131313131313131313120f0a050000000000000000000000000000000000000008131d262f363c4041464646464646463d3c38332c231a0f0500000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e615a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a54524c443a3025190d01000f1b2834404b5660686b6c6c6c6c6c6c6c6360594f44382c20130700000a16222e39434d555b5d6060606060585651493f34292e39434d555b5d6060606060585651493f34291e120600000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00030f1c28333f4a546774818e9a9f978b7e716a605c5459555d606c7884919da297897c6f6356493c302316090000000714212e3a4754616d7a8798a3a5988b7f7265544a3f30271c1208020007101a26313d495663707c8996a3ab978a7d7164574a3e3124170b0000000008141f29323e44505b656c78818d929f9f928c81796f6a625a514c433c34363636302f2c2721191107000000030f1b27333f4953606b707d869298a2a39c918c7f726d625b51493f37363e48505a616c717e879299a3a39992877e716c61544a3f34281c1003000815212e3b4854616e7b87939393939393877a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000040d18222935414c56606a727f8c949fa9a89e938b7e716a5f554b40352921170c03000000000000000000000000000000000000000000000000000000000000000000000000000000010c17212a333a4044454646463a46525e686e797979797979797979726d6256473f3a38342f271f191007000000000000000000000000000000000000000916222f3c4955626f7c8895a2afb4aba39f92877b6e675d554e4846443f44464a5059606c7883909da9b1a89b8e8175665c5044382b1f1206000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000e1b2734414e5a6774818d9aa7b4c0cddae7f6ffefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c20130600000000000003101c28343f4a545c666d78818e939084839191838490938e81786d665c544a3f34281c1003000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000060e151a1e212226201f1c17110a0200000000000003060c1012181d2024292c2d30343638393939383735322e2d2a251e1b150d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1a252f3841484c4e535353535353534a48443d352c21160b00000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e61544d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4746413a32281e130800000b17232f3a454e565c5e6060606060606056544f473d33271c100400010e1a27333f4a555f676a6c6c6c6c6c65625b51463a2e333f4a555f676a6c6c6c6c6c65625b51463a2e22160900000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000b17222d3c4956626f7c89949f9f92857c716d66666666676d737f8c96a09f9285796d6053463a2d2013070000000815222f3b4855626e7b8895aaa4978a7d7164574a3e2e24150b000000000915222f3b4855626e7b8895a1a5988b7e7265584b3f3225180c00000000020d172027333f49535b666c74808b92989c938f847c716c605d554e463e362e292322201b160f0700000000000b17222d38414f59606b707d869298a2a39b918c7f726d625b51493f3e48505a616c717e879299a3a39992877e716c615a5042382e23170b00000815212e3b4854616e7b86868686868686867a6d6154473a2e211407000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000061019242f3a444e58606c77828f97a1aba59f92867c6e675d51453e33291e150b00000000000000000000000000000000000000000000000000000000000000000000000000000007131e29333c454c505253535246444d565e616c6c6c6c6c6c6c6c6c65625b51504c47454039312a221910060000000000000000000000000000000000000916222f3c4955626f7c8895a2afaea39992999083796d6760585553504a5053545c606b727f8b95a0acaca095897d7063544a3f34281c1003000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000d192633404c5966737f8c99a6b2bfced9e5f1feefe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c201300000000000000000c17232e38424a545c666c78818e92909195959191928d81786c665c544a42382e23170c00000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000060f181f262b2d2e332d2b28221c140b08060406060b0f12171c1f24292c2f35393a3d4043444546464543413e3b3936302b272019130c04000000000000000000000000000000000000000000050a0d0f101313100f0d0a05000000000000000000000000000000000000000000000000000814202b36414b53595b6060606060606056554f473d33271c1004000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e615447404040404040404040404040404040404040404040404040403a3935302820160c02000007121e28333c454b5052535353535353534a48443d352b21160b000003101d2936424f5b6771777979797979726d62564a3e3136424f5b6771777979797979726d62564a3e3124180b00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000615222e3b4754606a76828f98a29792857e7975737273757a8088939fa1978d8074665c5144382c1f12060000000916222f3c4955626f7c8895a2a396897d7063564a3d30231706000000000714212e3a4754616d7a8794a0a5998c7f7266594c3f3326190c0000000000050e17222d38414a545b606e737e8691969e9691867e756d675f58504840372e261c13100b0400000000000006111b262f3d474f59606b707d869298a2a39b918c7f726d625b514948505a616c717e879299a3a39992877e716c615a50483e30261c110600000714202d3a46525e6976797979797979797976685e5246392d201307000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000008131e28323d44505b656d7a859199a4aea2989083796d605a50453b30271c120700000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3a454f575c5e60605f53504a4d52545f60606060606060605c5e5f5f5c5853514b433c342a22180c0200000000000000000000000000000000000916222f3c4955626f7c8895a2afac9f928692958f81796f6a6462605b545b6062666d727d87929fa7b0a69d9184786c605346392e23170b00000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000b1824313e4b5764717e8a97a8b2bdc8d4e2edf8efe2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c20110c0600000000000006111c263038424a545b666c77808d929da0a09d928d80776c665b544a423830261c110600000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000030e18212a31373a3b403938332d261d191312101314171c1f23282c2f35393a4145474a4d505152535252504e4b4746413b373229241e160e05000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000000000000000000000000000b1824303c48535d64676c6c6c6c6c6c6c6360594f44382c201407000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b3434343434343434343434343434343434343434343434342e2d29251e160e04000000010c17212a333b434a4f5053535353534c4a463f372d23190f05000004111d2a3744505d6a778386868686867f7265584c3f323744505d6a778386868686867f7265584c3f3225190c00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000006131f2b37434e58616e7b869298a097928b8582807f8082858d939aa19892857a6d61544a4034281c10040000000815222e3b4855616e7b8894aaa4978a7d7164574a3e2d22170b000000000815222f3b4855626e7b8895a1a5988b7e7265584b3f3225180c00000000000006111b262f38424a505c636c717c848e939f98928b817a6f6a625a524940382e251c110800000000000000000a141d2b353d474f59606b707d869298a2a39b918c7f726d625b51505a616c717e879299a3a39992877e716c615a50483e362c1e140a00000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d1105000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000010c162027333f49535e68707d87939fa6aaa0958d81746c61574d42392e23180e05000000000000000000000000000000000000000000000000000000000000000000000000030f1b2834404c5761686b6c6c6c605c544a46475353534c52565d6065696b6c6b6965605c554e463c342a1e140a00000000000000000000000000000000000916222f3c4955626f7c8895a2afa5988b7f8b93938f837c76716e6c666b666c6e72787f879299a3aea99f948a7e71665b5044382b1c110600000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222e3b4855616e7b8896a0acb8c6d0dbe7f0f9e2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f5346392c211d1711090000000000000a151e263038424a545b656c77808d939d9d938d80776c655b544a423830261e150a0000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000009151f2a333c4247484c46443f382f2925201f1d1f2022282b2e34383a4045474c5254575a5d5e5f605f5e5d5b5854524c47433c35302820170e0500000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d04000000000000000000000000000000000000000000010e1a2733404c59646f7479797979797979706b6055483c2f231609000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e272727272727272727272727272727272727272727272721201d19130c0400000000000a16222e39434d555b5d6060606060585651493f34291e1206000004111e2b3744515e6a7784919393938c7f7265594c3f323744515e6a7784919393938c7f7265594c3f3226190c00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000030f1b27323d46535f69707d8691969e9f97928e8c8c8d8f92989f9f9691867d6f685e5242392e23180c000000000714212e3a4754616d7a8798a2a5988b7f7265544a3f33281c1107010006101823303c4956636f7c8996a2aa978a7d7164574a3e3124170b000000000000000a141d262f383f44525a616a6f7a818b92989f938e847c716c635b524a40372e231a0d0400000000000000020b19232b353d474f59606b707d869298a2a39b918c7f726d625b5a616c707e879299a3a39992877e716c615a50483e362c241a0c02000000020e1a25303b454d525f60606060606060605f524c443a3025190d01000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000040d17222d38414c56606b73808d949fa9a79d928a7e71695f544a40342820170b02000000000000000000000000000000000000000000000000000000000000000000000005111e2a3744505c6873787979796d665c504441454c52565e61686d727678797876726d675f584e463c30261c1106000000000000000000000000000000000916222f3c4955626f7c8895a2afa396897d818e96959087827e7b79787778797b7f848c9299a3abaaa2978f82776c60544a3f33281c0a0000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000714212d3a46535f697784919eaab4bfcad6dee8eee2d5c9bcafa296897c6f635649505c6976838f9c9286796c5f534639302d29221b12090000000000030c151e262f38424a535b656c74818e9b9b8e81746c655b534a42382f261e150c030000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00020e1a26313c454d53555953504a423b35302d2b292c2d2d3338393f44464b5153565d606367696b6c6c6c6b6a6865615e56544e46413a322920170d020000000000000000000000000000030d161f272d32353639393635322d271f160d030000000000000000000000000000000000000000010e1b2834414e5b677481868686868686867d7063564a3d3023170a000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1413110d08020000000000010e1a27333f4a555f676a6c6c6c6c6c65625b51463a2e221609000005111e2b3844515e6b7784919e9f998c7f7266594c3f333844515e6b7784919e9f998c7f7266594c3f3326190c00000713202d3a4653606d798693a0aca6998d8073665a4d4033271a0d00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000a15202a36424d57606b707c848c9196999c9b9999999b9d9a97928d847d6f6b60564c4130271c1207000000000613202d394653606c7985929fa79b8e8174665b5044382d2218120d0c1117222b37424d5765727f8c98a5a398897c6f6256493c2f23160900000000000000020b141d262d33404850585f686d757e8690959d9691867e736d645c524940352c1f160c0100000000000000071119232b353d474f59606b707d869298a2a39b918c7f726d62616c707e879299a3a39992877e716c615a50483e362c241a1208000000000009141f29333b42464853535353535353535346413a32281e130800000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000006111b262f3a444f59606d78829097a2ada49f92857b6e665c51443e32291d140a000000000000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885868686786d60534a4c51565e61686d737a7f82858685837f796f6a5f584e42382e23170b000000000000000000000000000000000916222f3c4955626f7c8895a2afa3968a7d7a84919899938f8b888685848486888c91969fa3aba9a29892857b6e655b5042382d22170b0000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0005121e2a36424d576673808c98a2aebac3ccd7dce3e7d5c9bcafa296897c6f635649505c6976838f9c9286796c5f53463e3d39342d241b110600000000060f19232b353d464e58606a6f7c8592989891857c6f6a60584e463d352b23190f060000000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0006121e2b37424d575f6166605b544d46413b393835393a3c3f44464a5053555d6064686d70737677787979787674716e68626058524c443a32291e130800000000000000000000000000000a151f2831383e4243464643423e3831281f150a0000000000000000000000000000000000000000010e1b2734414e5a6774818d93939393938a7d7064574a3d3124170a000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e21140d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d070705010000000000000003101d2936424f5b6771777979797979726d62564a3e3124180b000005121e2b3845515e6b7884919ea6998c807366594d40333845515e6b7884919ea6998c807366594d4033261a0d00000713202d3a4653606d798693a0aca69a8d8073675a4d4034271a0700000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b000000040e1a26313b454f59606a6f797f848a8d8f9192929291908d8a8580796f6b60594f443a301e150b000000000006121f2b3844505b667683909ca99e9285786c60544a3f3329241d19181b2227343c46535f6976838f9ca99f9286796d6053463a2d2013070000000000000000020b141c2228363e464e565d606c717b838d929f98928b80736e645b51473d31281e13080000000000000000071119232b353d474f59606b707d869298a2a39b918c7f726d6c707e879299a3a39992877e716c615a50483e362c241a1208000000000000020d17212930363a3b4646464646464646463936302820160c0200000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000000a141d29323d44505c666e7b85929ea4ada2979083786d60594f443b2f261c11060000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d6976839098897c6f635a56555d60686d737a80858b8f9192928f8b847c6f6a5f544a3f34281c10030000000000000000000000000000000916222f3c4955626f7c8895a2afa4978a7d717d8692989f9c9799929291919298989ea0a8aba69f9792867d70695f53493f2f261c11060000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00020e1a26313b4754616e7a86929fa7b1bac2cbd1d6dcd5c9bcafa296897c6f635653535c6976838f9c9286796c5f53534b49453e362d22170c000000030e18212b353d474f58606a6f7c8592918c8c9191857c6f6a60584f473d352b21180e0300000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000814212d3a47535f696e736c665f57524c484644404547494a5053545c6063676d71757a7d8083848586858583817e7a756f6a615d564c443a3025190d0100000000000000000000000005111c27313a434a4e505353504e4a433a31271c110500000000000000000000000000000000000000010e1a2734414d5a6774808d9a9f9f9f978a7d7164574a3e3124170b000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080101010101010101010101010101010101010101000000000000000000000004111d2a3744505d6a778386868686867f7265584c3f3225190c000005121f2b3845525e6b7885919ea6998d8073665a4d40333845525e6b7885919ea6998d8073665a4d4033271a0d00000713202d3a4653606d798693a0aca79a8e8174675b4e412e23180c00000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b0000000009141f29333d474f5860676d72787d8082848586858483807e79736d6760594f473d32281e0c030000000000030f1c28333f4a546673808d99a7a1978a7d70665b50443e352f292423282d333d464f59616e7b86929faa9c908376665c5145382c1f13060000000000000001070d111317242d343c444c525a62696e78808b92999f928c80736d63594f433a2f24190d010000000000000000071119232b353d474f59606b707d869298a2a39b918c7f72707e879299a3a39992877e716c615a50483e362c241a12080000000000000000050f171f252a2d2e39393939393939392e2d2a251e160e050000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000020b172028343f4a545e69707d8a929da7a99f958d80736b61564d42382d22170e05000000000000000000000000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9a8e81756c656364676d737a80868d92989c9e9f9e9c9691857c6f665c5044382b1f13080000000000000000000000000000000916222f3c4955626f7c8895a2afa4978a7e71707d8690959da0a39f9e9e9e9fa3aaa9a8a69f9c948f857d706b60574d41382d1d140a000000000000000000000000000613202c3946535f6c7986929f9f9f9a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000914202d3946525e6873808c95a0a8b1bbc0c7cbd0d0c9bcafa296897c6f63606060606976838f9c9286796c606060585650483e34291d110500000915202a333d474f59606a6f7c8592918c7f7f8c9192857c6f6a60594f473d332a20150900000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222e3b4855616e7b7f786e69615e565453504b515356545b6063666d70757a7e82868a8d909192939291908e8b86827c746d685e564c41362a1e11050000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a00000000000000000000000000000000000000000d1a2633404d596673808c99a6aca4978b7e7164584b3e3125180b000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000004111e2b3744515e6a7784919393938c7f7265594c3f3226190c000005121f2c3845525f6b7885929ea69a8d8073675a4d40343845525f6b7885929ea69a8d8073675a4d4034271a0d01000713202d3a4653606d798693a0aca89b8f827568544b4034281c1004000916232f3c4956626f7c8995a2afa4988b7e7165584b3e3225180b00000000030d17212b353d464e555c60666d70737677787978787674716d67605d554f473d352b20160c000000000000000b17222d3c4956636f7c8995a0a99d9083786c605a50454039352f2e34383f444e58616b75818e99a3a3988c7f7265544b4034281c1004000000000000040c13181d202021222a323a414550575f666d747e8792989c928c7f726b61564c4135291d1307000000000000000000071119232b353d474f59606b707d869298a2a39b918b7f7d879299a3a39992877e716c615a50483e362c241a120800000000000000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c05000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000000000000050e17232e38424d57616c74808d95a0aaa79f93887d70695e544a3f332820160b020000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98938b7f75717071747a80858d92989fa2aaa4a3a5a8a1979083786d6053463a2f24190d0100000000000000000000000000000916222f3c4955626f7c8895a2afa4978a7e716b707c838b9195989b9d9e9f9f9f9e9d9b9894908a827b706b60594f453b2f261b0b02000000000000000000000000000613202c3946535f6c798692939393938d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000005111e2a36414c56606d798390969fa7afb5babfc2c3c4bcafa296897c6f6c6c6c6c6c6c76838f9c9286796c6c6c6c64625a5045392d21150800020f1a26313c464f59606b6f7c8592918b7f72727f8b9192857c6f6b60594f463c31261a0f02000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222f3b4855626e7b88827b736d686461605b555d606265666c7074797d81858a8f92999a9c9e9f9f9f9e9d9b99928f87817a6d685e5246392d2013070000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d01000000000000000000000000000000000000000c1925323f4c5865727f8b98a5b2a5988b7f7265584c3f3225190c000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000005111e2b3844515e6b7784919e9f998c7f7266594c3f3326190c000006131f2c3946525f6c7985929fa79a8d8074675a4d41343946525f6c7985929fa79a8d8074675a4d4134271a0e01000713202d3a4653606d798693a0aca99d908376665c5145382c1f130700091623303c4956636f7c8996a2afa4988b7e7165584b3e3225180b0000000000060f19232b343d434b51545c606366696b6c6c6c6b6a6764605d55514b433d342b23190e04000000000000000615222f3b4854606b7784919da8a0958c7f726c615a514b4541403f4045495058606a707d8a939eaa9f92867a6d6154473a2e23180c000000000000040d161d24292c2d2e2f30302f353e454d545c606c717d8692999f93887d70685d52453a2f24180d01000000000000000000071119232b353d474f59606b707d869298a2a39b918b869299a3a39992877e716c615a50483e362c241a120800000000000000000000000002090e12141520202020202020201413110d080200000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000000000000000006111c26303b45505a606d79839098a2aea49a92857b6e665b50443d32281d140a0000000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b88959b918b827e7d7e81858c92989fa2a29f9a9796989c9f9f958a7d7164554c4135291d110400000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e71646a6e787e84888c8e909192929291908e8b88837d766e6960594f473d33291d140a00000000000000000000000000000613202c3946535f6c79878686868686868074675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000020e1925303b45515c666e7b8490959fa3abaeb4b6b7b8b9afa296897d7979797979797979828f9c92867979797979716c6256493d3024170a0006121f2b37434e58606b707d8692918b7f726d6d727f8b9192867d706b60584e43372b1f1206000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222f3b4855626e7b888f86807a75716e6c666b676d6f7175797c81858a8e92989c9fa3aba39f9e9d9d9d9fa3a39f9a938e847a6d6154473a2e2114070000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f03000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a6998c807366594d4033261a0d000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000005121e2b3845515e6b7884919ea6998c807366594d4033261a0d00000613202c3946535f6c7986929fa79a8d8174675a4e41343946535f6c7986929fa79a8d8174675a4e4134271b0e01000713202d3a4653606d798693a0acac9f9286796d6053463a2e23180d060a1723303d4a5663707d8996a3b0a4978b7e7164584b3e3125180b000000000000081119222b303940454a5053575a5c5e5f5f5f5e5d5a5753514b45413a312b22191107000000000000000007131f2c38434f5965727f8b96a1a79f93887e716c605d55524c4c4c4b51535b606a6f7c86929fa5a3988e8174685e5246392d1d12070000000000010c161f282f35393a3b3c3c3d3d3c383b424a515a626b707e87939f9a92857a6d60554b4135291d110400000000000000000000071119232b353d474f59606b707d869298a2a39b999299a3a39992877e716c615a50483e362c241a120800000000000000000000000000000002050708131313131313131307070501000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000000000000000040404000a141e29333e45515c676e7b86929fa5aca1978f82786c60594f443a2f261b110600000000000000000000000000000000000000000000000000000000000000000814212e3a47535f6a7784919d9b948f8b898a8d92989fa2a29f98928d8a898b90949c9c8f8276675d5145392c20130600000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e71645f666d71777b7f8183858586858583817e7b76706b615e574f473d352b21180b02000000000000000000000000000006121f2c3845525e6a7579797979797979746e64584c3f33261a0d000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000008141e2834404b545e696e7b838d92999fa3aaa9aaabacaea5998f8986868686868686868f949f988986868686867e7164584b3e3125180b000814212e3a47535f6a707d8692918b7f726d62626d727f8b9192867d706a5f53473a2e211408000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222f3b4855626e7b8898928d86827e7b797877787a7c7e8285898d92979b9fa2a7a09d9999929190909192999a9ea19f96887b6e6255483b2f221508000000000000000000000003101d2a3643505d69768286868276695d5043362a1d1003000000000000000000000000000000000000000916232f3c4956626f7c8995aab4a79a8e8174675b4e4134281b09000000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000005121f2b3845525e6b7885919ea6998d8073665a4d4033271a0d000006121f2c3844515c667986939fa79b8e8174685b4e41353844515c667986939fa79b8e8174685b4e4135281b0e02000713202d3a4653606d798693a0acaea398897c6f62544b4034281f1612101824313e4b5764717e8a97a4b1a4978a7e7164574b3e3124180b000000000000000810191e272e34383f44464a4d505152535251504d4a47454039352f281f191007000000000000000000030c1b27323d4753606d7984919eaca49a92867e736d67605d565959545c60656c717c859198a2ac9f92867b6e61564c4135291d0c03000000000007131d28313a4045474848494a4a48443d3940445059616c73808c96a0978d8073675d5145392c2013060000000000000000000000071119232b353d474f59606b707d869298a2aba39fa3a39992877e716c615a50483e362c241a12080000000000000000000000000000000000000000060606060606060600000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e010000000000000000000000000000000000000000000306080911111111110c17212834404b555f69717e8a939da8a99f948c7f736b60564c41382d22170d040000000000000000000000000000000000000000000000000000000000000006121e2b37424e5765727e8b95a09e9c9896979a9fa2a39f98928c85817e7d7e838c929f92867a6d6054473a2d21140700000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164545c60646a6e72757778787979787675726e69636159534d453d352b23190f0600000000000000000000000000000004111d2a36424e59636a6c6c6c6c6c6c6c67645c52473c3024170b000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000020c18232e39424d575e696e7880878d9298999c9d9e9fa39fa1999693939393939393939c9fa6a393939393938b7e7164584b3e3125180b000815222f3b4855626e7b8592938b7f726d625b5b626d727f8b9192857b6e6255483b2f221508000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222f3b4855626e7b88959f98928e8b878685848586898b8e92979a9ea1a8a09e9995908c89868483838486898d92979e95887b6e6255483b2f221508000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000814212e3b4754616e7a8798a2aea89b8f8275685c4f4230251a0e020000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000005121f2c3845525f6b7885929ea69a8d8073675a4d4034271a0d01000713202d3a4653606d79869aa4a89b8e8175685b4e42353a4653606d79869aa4a89b8e8175685b4e4235281b0f02000713202d3a4653606d798693a0acb4aa998d8073665c51453b3128201f1c1e26323f4c5965727f8c98a5b0a3968a7d7063574a3d3024170a0000000000000000070c151d23282e34383a3d4043444546454543413e3a38352f29241d160d07000000000000000000000b151e2b353d45515c67717d8a9aa4aca298928a8079716d6867666567666d70787e869197a1aaa6998c8073695e53493f372d1e150b00000000010d18242f3a434b51535455565756554f473d343f47505a606d7884919e9f92857a6d6054473a2d211407000000000000000000000000071119232b353d474f59606b707d86929facafacac9f92877e716c615a50483e362c241a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e0100000000000000000000000000000000000000030a0f1215151e1e1e1e1e1e1e18232e39434d57616c74818e96a0aaa69f93877d70685e53493f33271f160c01000000000000000000000000000000000000000000000000000000000000020e1a26313c4653606c78839097a1a8a4a3a4aaa29f98928d86807a74717072767f8c94998a7d7063574a3d3024170a00000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164585053585f6265686a6b6c6c6c6b6a6865615f57554f46423b332b2319110700000000000000000000000000000000010e1a26313d4751595e5f6060606060605a58524a41362b1f1408000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000007121d27303b454d575e666d747b8186898d8f909192999393939393939393939393939393939393939393938b7e7164584b3e3125180b000814212e3a47535f6a74808d887f726d625b51515b626d727f8b8d80746a5f53473a2e211408000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000815222f3b4855626e7b88949fa29f9b979992919192939a989b9ea1a9a29e9a96918c8883807d7a78767677797c80858b9297887b6e6255483b2f221508000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000613202d394653606c7985929facaa9d9083776a574d42362a1e11050000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000006131f2c3946525f6c7985929fa79a8d8074675a4d4134271a0e01000714202d3a4753606d7a8693a0a89b8e8275685b4f42353a4753606d7a8693a0a89b8e8275685b4f4235281c0f02000713202d3a4653606d798693a0acb8ab9e9285796d60574d433a322d2c282a2d36424d576774818e9aa7b3a995897c6f6256493c2f231609000000000000000000030b12181c23282b2d30333638393939383734312d2c29241d18130c040000000000000000000007121c27303d474f59606b707d87939facaaa29f928d847e7a767473727375797d838b9298a1a9b3a5998c7f726d625b51493f30271d120700000004111d2935404b555d60616263636360594f4438353e44505c66727f8b98a2988a7e7164574b3e3124180b00000000000000000000000000071119232b353d474f59606b727f8c98a5b2b3a79a8d80746c615a50483e362d241b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000000060e151a1f21222b2b2b2b2b2b2b2b2b27303c45505a606d79849198a3aea49991847a6d655b50443d31281e13080000000000000000000000000000000000000000000000000000000000000009151f2b3844505b666f7c8591969c9f9f9e9c98928d86807a736d686463656d76828f998d8073665a4d4033271a0d00000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b464e5355595b5d5e5f5f5f5e5d5b5855534d48443e363129211911070000000000000000000000000000000000000915202b353f474e52535353535353534e4c4741382f241a0e03000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000b151e29333b454d545c60696e747a7d808384858686868686868686868686868686868686868686868686867e7164584b3e3125180b0006121f2b37434e58646e74817e726d625b514949515b626d727f80746e64584e43372b1f1206000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000714212d3a4754606d79828b92989ea1a8a39f9e9e9f9fa4aca9a19e9a97928e89847f7b7773706d676a6a666d6f73797f858f887b6e6255483b2f221508000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000005121f2b3744505b657783909daaac9f928579695e52463a2d2014070000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929fa79a8d8174675a4e4134271b0e01000714212d3a4754606d7a8793a0a89b8f8275685c4f42353a4754606d7a8793a0a89b8f8275685c4f4235291c0f02000713202d3a4653606d798693a0acb9ada1978b7e71695e554c443e3a3834363a3d46535e697784909daaada297877a6e6154473b2e2114080000000000000000000000070c11171c1f202427292b2c2c2c2b2a2724201f1d18120d070100000000000000000000000c18232e39424f59606b707d86929aa4aba9aca49c96918b8682807f7f8082858a90959fa3aaaaaca79c918b7f726d625b5142392e23180c0000000613202c3945515d676d6e6f6f70706b6055483d32343f4a54616e7b8899a49a8d8174675a4e4134271b0e010000000000000000000000071119232b353d474f59606b707d86929facacacac9f92877e716c615a50483e362d241b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e01000000000000000000000000000000000006101820262b2e2f3737373737373737373737333e45515d676f7c86929fa5aba1968f82776c60584e433a2f24190d06000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545f6a6f7c848c909292918f8b86807b746e68605d56565b64707d8a998f8275685c4f4235291c0f02000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e4347484c4e505252535252504e4b4846423b38332a251f170f0700000000000000000000000000000000000000040f19242d353d424546464646464646413f3c362f261d130800000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000030c172129333b424a51575e61676d7073767778797979797979797979797979797979797979797979797979716c6256493d3024170a00020f1a26313c46525c646e74726d625b51493f3f49515b626d72746e645c52463c31261a0f02000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000613202c3945515d676d767e858c9196989b9d9e9f9f9e9d9a9897928e8a85817c77736e696663605d55545c6063676d727a81887b6e6255483b2f221508000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000030f1b27333f49536874818e9ba7aea298877b6e6154473b2e2114080000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667986939fa79b8e8174685b4e4135281b0e02000814212e3b4754616e7a8794a1a89c8f8275695c4f42363b4754616e7a8794a1a89c8f8275695c4f4236291c0f03000713202d3a4653606d798693a0acb1a7a09d92857b6e675d56504846443f4246474f58616e7b8795a0acab9f928578685e5246392d20140700000000000000000000000000060b101213171a1d1e1f201f1e1d1a171413100c070100000000000000000000000004101c2834404a54606b707d869298a3a69f9c9fa4a8a19e99928f8d8c8c8d8f92989da0a7a7a09da0a7a39b918b7f726d62544b4034281c100400000714202d3a4753606d797b7b7c7d7d7063584e4338313a4653606d7986939f9c8f8276695c4f4336291c100300000000000000000000071119232b353d474f59606b707d869298a2a39f9fa3a39992877e716c615a50483e362d241b12090000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca79b8e8174685b4e4135281b0e0200000000000000000000000000000000030e18222a31373a3c44444444444444444444444444404b555f6a727f8b939ea8a89e948c7f726a60554c41352922180c010000000000000000000000000000000000000000000000000000000000000b17222d38424e585f6a6f797f83858684827f7a736e69615e56524c4a54606d7987868683776a5e5144372b1e1104000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e373a3b3f4244454546464543423f3b3a36312c28211a140d050000000000000000000000000000000000000000000a16202b343d4347494949494949494846423b33291f140900000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000050f172029303940444d53555d606366696a6b6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64625a5045392d21150800000915202a33414a525c646765625b51493f37373f49515b626567645c524a41332a20150900000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0004111d2935414b555d606d717a7f84898c8f9091929291908e8b8885817d79746f6b66615f575653514b4b5153555c60686d757f7b6e6155483b2e221508000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000b17222d3f4c5865727f8b98aab4aa96897c706356493d302316080000000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79869aa4a89b8e8175685b4e4235281b0f02000815212e3b4854616e7b8794a1a99c8f8376695c5043363b4854616e7b8794a1a99c8f8376695c504336291d1003000713202d3a4653606d798693a0acaca09590959082796d68615a5553504a4d525459606a74808d9aa7b1a99c8f827669564d41362a1e11050000000000000000000000000000000306070a0d101112131212100e0b07060400000000000000000000000000000006121f2c3844515c66707d869298a3a39c948f939aa0a7aba39f9c9a99989a9b9fa2aaa8a19e9590959ba3a39b918b7f72665c5145382c1f13060003101c2936434f5c6976828788898a85786a605448423f404653606d798699a49c8f8376695c504336291d1003000000000000000000071119232b353d474f59606b707d869298a2a399929299a3a39992877e716c615a50483e362d241b120900000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca89b8e8275685b4f4235281c0900000000000000000000000000000000000a15202a343c4347485151515151515151515151515151514e58626d75818f96a1aba69f92877c6f675d51453f34291d110500000000000000000000000000000000000000000000000000000000000006111c262f3c464e585f676d727678797876726d68615e56524c454145515d67757979797771675b4f43362a1d1004000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312e2f32353738393939383735322e2d2a261f1c170e0903000000000000000000000000000000000000000000030f1b27323d464e545656565656565654534d453b31251a0e02000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000050e171e272e343b42464b5153565a5c5d5e5f6060606060606060606060606060606060606060606060585650483e34291d11050000030e18212f38414a52585a585651493f372d2d373f495156585a58524a41382f21180e0300000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00010d18242f3a434b515a62686d72797c7f82848586858583817f7c7974706d6663605955534d494745404045464b51565e616d726e695f53473a2d211408000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000616232f3c4956626f7c8998a3aea5988c7f7265594c3f3025190d0100000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0a89b8e8275685b4f4235281c0f02000815222e3b4855616e7b8894a1a99c908376695d5043363b4855616e7b8894a1a99c908376695d5043362a1d1003000713202d3a4653606d798693a0acaa9d9084909490827a716c6562605c54565e61646b707c87929facb0a6998c7f7266594c3f3025190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d79849197a1a49c918c838790959c9fa4aca9a7a6a5a6a8a8a7a09d96918a848c919ba3a0959084796d6053463a2d20130700000d1a2733404d5a6673808d959697897c6f625b534d4c4d4f58626f7c8895ab9b8e8275685b4f4235281c0f020000000000000000071119232b353d474f59606b707d869298a2a3999286869299a3a39992877e716c615a50483f362d241b1209000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca89c8f8275695c4f4230251a0e02000000000000000000000000000000030f1a26313c464e53555e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5b606d7a849199a3aea39991847a6d605a50453a2e211509000000000000000000000000000000000000000000000000000000000000000a141d2a343c464e555d6065696c6c6b6965615e56524d46413b35414b555d6b6c6c6c6a675f564b3f33271b0e02000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e31252226282a2b2c2c2c2b2a282522211e1a14100b05000000000000000000000000000000000000000000000006131f2b37434e586062626262626262615e574d42362a1e1205000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000000000050c151c232831363a4045474a4d5051525353535353535353535353535353535353535353535353534b49453e362d22170c00000000060f1d262f3841474c4e4b4a453f372d25252d373f464a4b4e4c4741382f261d0f060000000c1925323f4c5865727f8b989f9f998d8073665a4d4033271a0d000007131d28313a414550565d60666d6f727577787979787674726f6c6663605c54544f4846423d3a393534383a40454c525b6265615f574d42372b1e1206000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000713202d3a4653606d7986929faca89b8e817568564c41362a1e110500000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0a89b8f8275685c4f4235291c0f02000815222f3b4855626e7b8895a1a99d9083766a5d5043373b4855626e7b8895a1a99d9083766a5d5043372a1d1004000713202d3a4653606d798693a0aca396897d85929490847d76726e6d666b6b696e71757d859299a3afab9f94887b6e6155483b2e2215080000000000000002060a0c0d1313131313131313131313131313131313131313131312110f0c0701000000000000000006121f2c3844515c666e7c8591979c928c7f767c838a8f939a9a9d9e9f9f9e9d9b9895908b847e777f8c919b9691837a6e665c5145382c1f130600000916232f3c4956626f7c89959f9c8f82756d615e57595959616a73808d99a8998d8073665a4d4033271a0d0000000000000000071119232b353d474f59606b707d869298a2a39992877d7d879299a3a39992877e716c625a50483f362d241b12090000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaa9d9083776a574d42362a1e120500000000000000000000000000000006121f2b37434e585f626a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a686f7c87929facaba0968e81756c62564a3d3124170b00000000000000000000000000000000000000000000000000000000000000020b18222a343c434b5154595d5f5f5e5c5854524c46423b36302f3a434b515e6060605e5b564d44392e22170b00000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312518191b1d1f1f201f1f1d1b181514120e0903000000000000000000000000000000000000000000000000000815222e3b4754606a6f6f6f6f6f6f6f6e695e53463a2d211407000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000030b12181f252a2f35393a3d404344454646464646464646464646464646464646464646464646463e3d39342d241b110600000000000b141d262f363c40413f3d3a342d251b1b252d343a3d3f413f3c362f261d140b000000000c1925323f4c5865727f8b939393938d8073665a4d4033271a0d0000010c161f282f353f444c52545c606265686a6b6c6c6b6a676562605b5453514a48433d3a36312d2c29282c2f343a414651575955534d453c31261a0e02000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000006121f2c3844515c667683909ca9aa9e918477685e5246392d20130700000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1a89c8f8275695c4f4236291c0f03000915222f3c4855626f7b8895a2aa9d9083776a5d5044373c4855626f7b8895a2aa9d9083776a5d5044372a1d1104000714202d3a4753606d7a8693a0ada194887b7e8b9296918a837f7b79787778797a7d82889297a1abafa4998f8276695f53473a2d211408000000000000070d12161919202020202020202020202020202020202020202020201f1e1b18130c050000000000000004101c2834404a545f6a6e7c8591928c7f736d6f787d82878b8e9091929291908e8b88837e79716d727f8c9191847a6e685e544b4034281c100400000815222e3b4754606a7783909a9e948c7f756e69676666676b707c86929fa096897c6f6356493c3023160900000000000000071119232b353d474f59606b707d869298a2a39992877e70717e879299a3a39993877e716c625a50483f362d241b120900000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facac9f928579695e52463a2d2014060000000000000000000000000000000815212e3a47535f6a6f777777777777777777777777777777777777777777777f8c99a5b2a89e938b7e7165584b3e3225180b0000000000000000000000000000000000000000000000000000000000000000061018222a313a4145474c50525352504c4746413a36302a2528313a414547535353514f4b443b32281d110600000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180c0f111212131312100f0c080705020000000000000000000000000000000000000000000000000000000916232f3c4956626f7c7c7c7c7c7c7c7b6e6154483b2e211508000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d0000000000000000000000070c141a1d24292c2d303336373839393939393939393939393939393939393939393939393931302d29221b1209000000000000020b141d242b30333432312e29231b12131b23292e31323433302b241d140b02000000000c1925323f4c5865727f8686868686868073665a4d4033271a0d000000040d161d2429323a41454a505356595c5d5e5f5f5e5d5b585553504a4644403938322d2a2620201d1c1f232930363f464a4c4847423c332a1f150900000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000004101c2834404a5466737f8c99a9aca096877a6d6154473a2e21140a00000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1a99c8f8376695c504336291d1003000916232f3c4956626f7c8995a2aa9d9084776a5d5144373c4956626f7c8995a2aa9d9084776a5d5144372a1e1104000714212d3a4754606d7a8793a0ada194877b74818e949e95908c888685848585878a8f939aa1a9afa59f93877c6f62574d42372b1e120600000000010a12191e2325262d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b2b28241e170f06000000000000000c18232e39424e575f6a6e7c858c80736d63666d70767b7e81838485858584817f7c77726d67626d727f8b847b6e685e564c42392e23180c00000006131f2b38434e5863707d88939f9c918c817b7673727374777d859298a29e9184786d6053463a2d201307000000000000071119232b353d474f59606b707d869298a2a39992877e706c6c717e879299a3a49993877e716c625a50483f362d241b1209000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929facaea298877b6e6154483b2d22170b0607080808060200000000000000000915222f3c4855626f7c8484848484848484848484848484848484848484848484919daab7afa59f9285786c5f5245392c1f120600000000000000000000000000000000000000000000000000000000000000000610181f282f35393a3f43454645433f3a3936302a251f191f282f35393a46464644433f39322920160b0000000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b020405060606050402000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c79878989898989898074675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000000000000003090e13181d20202327292a2b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2524211d1711090000000000000000020b131a1f2426272524221d1811090911181d2224252726241f1a130b0200000000000b1825313e4a56626d72797979797979736e63584b3f3226190c00000000040c131820282f35383f4446494c4f5152535252504e4c4946443f3a38342e2c27211e1a1413101013181e252a353a3e3f3b3a37312a21180e0300000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000c18232e3c4956626f7c8997a2ada8978a7e7164574a3e31261b0f03000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1a99c908376695d5043362a1d100300091623303c4956636f7c8996a2aa9e9184776b5e5144383c4956636f7c8996a2aa9e9184776b5e5144382b1e1105000714212e3a4754616d7a8794a0b4ab94877a6d78828f939f9d989a939291919298979b9fa4acaba39f938d80736a6054453c31261a0e02000000000a131c232a2f3233393939393939393939393939393939393939393939393837342f2921180f0500000000000007121c27303c454e575f6a6e7c7f736e635b5c6064696e717477787979787775726f6a65605d5b626d727e7b6e695e564d443b30271d1207000000030f1b27323d4854606b73808d939f9c938e8783807f8081848a9297a19f928a7d70665c5044382b1f12060000000000071119232b353d474f59606b707d869298a2a39992877e716c61616c717e879299a3a49993877e716c625a50483f362d241b12090000000000000000000000000000060606060606060600000000000000000000000613202c3946535f6c7986929facb4aa978a7d7064544a3f33281c131313151514120f0a030000000000000916222f3c4955626f7c889191919191919191919191919191919191919191919196a0acb8b8ac9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000060d161d24292c2d323639393836322e2d2a251e19140d161d24292c2d3939393736332e2820170e040000000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c798692959595958d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d000000000000000000000000000001070d111314171a1d1e1f202020202020202020202020202020202020202020202020181715110c060000000000000000000001080e14171a1b181815120c060000060c121518181b1a17140e08010000000000000916222e3a46515b62656c6c6c6c6c6c66635c52473b2f23170a000000000001070d161e24292e34383a3c3f42444546464543413f3c3938332d2c28231c1b16120e09060404070c131923292e31322e2d2b261f180f060000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000713202d3a4653606d7985929eaba79b8e817468584e43372b1f1206000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000815222f3b4855626e7b8895a1a99d9083766a5d5043372a1d1004000a1623303d495663707c8996a3ab9e9184786b5e5145383d495663707c8996a3ab9e9184786b5e5145382b1e1205000814212e3b4754616e7a87949f9fa39986796d6d79818c92989fa29f9e9e9e9fa2aaa8a9aaa29f99928b81786d60584e43332a1f15090000000007121c252e353b3e40464646464646464646464646464646464646464646464544403a332b21170c010000000000000b151e2a333c454e575f6a6e726d635c525053575e6164676a6b6c6c6b6a6865625f585351515b626c716e695e574d443b32291e150b00000000000a16202c38444f59606c77808c92989f9992908d8c8c8e91969e9f99928c80736b61544a3f34281c100300000000040f19232b353d474f59606b707d869298a2a49992877e716c615a5a616c717e879299a3a49993877e716c625a50483f362d241b110600000000000000000002050708131313131313131307070501000000000000000613202c3946535f6c7986929facb4a79a8e8174665b5044382d22201f202222211f1a150e0600000000000916222f3c4955626f7c88959d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9da0a8b2acacac9f9285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000040c13181d2021262a2c2c2b292521201d19130e09040c13181d20212d2d2d2b2a27221d160e05000000000000000000000000000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929fa2a29a8d8174675a4e4134271b0e000c1925323f4c5865727f8b98a5a6998d8073665a4d4033271a0d00000000000000000000000000000000010406070a0d1011121313131313131313131313131313131313131313131313130b0a0805000000000000000000000000000003080b0d0e0c0b090501000000000106090b0c0e0d0b0803000000000000000006121e29343f495156586060606060605a58524a40362a1f130700000000000000040c13191c23282b2d2f323537383939383734322f2d2b28221f1c18120f0a0502000000000002080d181e22252622211e1a150e06000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000006121f2b3844505c6674818e9baaab9e9184786a5f53473a2e21150a000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895a2aa9d9083776a5d5044372a1d1104000a1723303d4a5663707d8996a3ab9e9185786b5e5245383d4a5663707d8996a3ab9e9185786b5e5245382b1f1205000815222e3b4855616e7b889393939392867966676d787f868d92989a9c9e9e9f9f9e9d9c9998928d877f746d665c50463d3221180e03000000020d19232e3740464b4c5353535353535353535353535353535353535353535352504c453d33291e1307000000000000030c18212a333c454e575f6266635b524944464d5354585b5d5e5f5f5e5d5b5855534e474549515a6265615e574d453b322920170c03000000000004101c27323d44505b656c777f868e92999b9c9a99999a9d9b99938f867f736e63594f42382e23170b00000000000b16212b353d474f59606b707d869298a2a49993877e716c615a50505a616c717e879299a3a49993887e716c625a51483f372d23180c0100000000000002090e12141520202020202020201413110d080200000000000613202c3946535f6c7986929facb8ab9e9185786c60544a3f332d2c2c2d2f2f2e2b2620180f06000000000916222f3c4955626f7c88959f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9285796c5f5246392c1f1306000000000000000000000000000000000000000000000000000000000000000000000001070d111314191d1f201f1d191413110d0802000001070d1113142020201e1d1b17110b0400000000000000000000000000000000000916222f3c4955626f7c8895a2aca4978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929faca79a8d8174675a4e4134271b0e000c1925323f4c5865727f8b989f9f998d8073665a4d4033271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18232d373f464a4c5353535353534d4b4740382e24190e02000000000000000001080d11171c1f202326292a2b2c2c2b2a282522201f1c1712100c070000000000000000000000070d121618191514120e090300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000003101c28343f4a5464707d8a98a2ada196887b6f6255483c31261a0f000000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2aa9d9084776a5d5144372a1e1104000a1724303d4a5763707d8a96a3ab9e9285786b5f5245383d4a5763707d8a96a3ab9e9285786b5f5245382c1f0600000916232f3c4956626f7c86868686868685786b5c666c727b80858a8d8f9192929291908f8c8a86807b726d605c544a3f342b200f060000000006121e2a354049515759606060606060606060606060606060606060606060605e5c574f453a2f24180c00000000000000060f18212a333c454e53555957514940383b4246484b4e5051525252514f4c4847433c393f4850565854534d453b332920170e05000000000000000b162127333f49535b656c727b81868b8e9091929291908e8b87827c726d635c52473e30261c11060000000003101b27323d474f59606b707d869298a2a49a93877e716c615a504848505a616c717e879299a4a49a93887e716c625b51493f34291d11050000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c05000000000613202c3946535f6c7986929facb4aba1978a7e71665b50443f3a39383a3b3b3a37312a22180e030000000916222f3c4955626f7c8893939393939393939393939393939393939393939393939393939393939285796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000010406070c10121312100c070705010000000000000104060713131311100e0b06000000000000000000000000000000000000000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c7986929f9f9f9a8d8174675a4e4134271b0e000c1925323f4c5865727f8b939393938d8073665a4d4033271a0d00000000000000000000000000000000000000000000000000000000000000000000040613131313131313131312110e09040000000000000000000000000000000000040613131313131313131312110e0904000000000000000000000000000000000007111b252d343a3e3f464646464646403f3b362e261c1208000000000000000000000000060b10121316191c1e1f201f1f1d1b191613120f0b060400000000000000000000000000000106090b0c08080602000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000b17232e3a4753606d7985929faca8998c7f7366584e43372b1c11060000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8996a2aa9e9184776b5e5144382b1e1105000a1724313d4a5764707d8a97a3ab9f9285786c5f52452e3d4a5764707d8a97a3ab9f9285786c5f52452e23170b00000815222e3b4754606a6f797979797979787368545b60696e74797d808284858685858482807d7a746e69625b504a42382e22190f00000000000a16232f3b46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6861574c4034281b0f0000000000000000060f18212a333c4247484c4b463f372b31363a3b3e41444546464544423f3c3a37312c363f454a4b4846423b332920170e050000000000000000050b17222d384149535b606a6e757a7e81838585868584817f7b756f6a635b524940352c1e140a00000000000713202c38444f59606b707d869298a2a49a93887e716c615a50483e3e48505a616c717e879399a4a49a93887f726d625b51453a2e22150900000000050f171f252a2d2e39393939393939392e2d2a251e160e050000000613202c3946535f6c7986929facaea399929183786c6059504947454546484847433c342a20150a0000000916222f3c4955626f7c8686868686868686868686868686868686868686868686868686868686868686796c5f5246392c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8893939393938b7e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c798692939393938d8174675a4e4134271b0e000c1925323f4c5865727f8686868686868073665a4d4033271a0d0000000000000000000000000000000000000000000000000000000000000001070c10132020202020202020201f1d1a150f080000000000000000000000000001070c10132020202020202020201f1d1a150f08000000000000000000000000000000000009131b23292e313239393939393933322f2a241c140a000000000000000000000000000000030607090c0f1112131312100e0c090606030000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000006131f2c3845515d6774818e9ba8aa9d9184776a5f5347382e23170b0000000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3ab9e9184786b5e5145382b1e1205000b1824313e4b5764717e8a97a4ac9f9285796c5f4a3f343e4b5764717e8a97a4ac9f9285796c5f4a3f34281c10030006131f2b37434e5860626c6c6c6c6c6c6b68615750575e61676d7073767778797978777673706d67615e5751443f3830261c100700000000000c1925323e4b57636d73797979797979797979797979797979797979797979797873685c5044372b1e11000000000000000000060f18212a31373a3b3f3e3a352e25252a2d2e313437383939383735322f2e2b26242d343a3d3e3b3a36312921170e050000000000000000000006111b262f38414950575f62686e717477787979787775726e69625f58514940372e231a0c0200000000000916222f3b4854606b707d869298a2a49a93887e716c625a50483e36363e48505a616c717e879399a4a49a93887f726d62564a3d3124180b000000020d17212930363a3b4646464646464646463936302820160c0200000613202c3946535f6c7986929facac9f9286928c7f736b605b53535151535555534e463c31261a0f0200000815222e3b4754606a76797979797979797979797979797979797979797979797979797979797979797974695d5144382b1f120500000000000000000000000000000000000003080c0e0e131313131313130f0e0c09040000000000000000000000000000000000000000000000000000000000000003070b0d0e131313131313130e0e0c08030000000000000916222f3c4955626f7c868686868686867e7164584b3e3125180b000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3946535f6c79878686868686868074675a4e4134271b0e000b1825313e4a56626d72797979797979736e63584b3f3226190c000000000000000000000000000000000000000000000000000000000000030b12181c1f2d2d2d2d2d2d2d2d2c2c2a26201912090000000000000000000000030b12181c1f2d2d2d2d2d2d2d2d2c2c2a262019120900000000000000000000000000000000010911181e2225252d2d2d2d2d2d2726231f19120a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000004101d2935404b5563707d8996a1aca095887b6f62544a3f34281c100300000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3ab9e9185786b5e5245382b1f1205000b1825313e4b5864717e8b97a4ac9f938679665c5044383e4b5864717e8b97a4ac9f938679665c5044382b1f120600030f1b27323d464e54566060606060605f5c574f444d53555c606367696b6b6c6c6b6a696663605d55534d453f342e261e140a0000000000000d192633404c5966737f8686868686868686868686868686868686868686868685786b5e5245382b1f1200000000000000000000060f1820262b2e2f33322f2a231c1a1e212125282a2b2c2c2b2a282522211f1b1b22292e31322e2d2a251f170f050000000000000000000000000a141d262f383f444e53565e6165686a6b6c6c6b6a6865615e57534e463f372e251c11080000000000000a1623303d495663707d869298a2a39f93887f716c625a50483e362c2c363e48505a616c717e879399a4a49a93887e7265584b3f3225180c00000009141f29333b42464853535353535353535346413a32281e1308000005121f2b3744505b657986939faca79a8d818d93877d726c6562605d5c6062625f584e43372b1f1206000006131f2b37434e5860626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6962584d4135291c10030000000000000000000000000000000001090f14181a1b202020202020201c1b191510090200000000000000000000000000000000000000000000000000000001080e1317191a202020202020201b1a18140f0901000000000815212e3b47535f6a7679797979797979716c6256493d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3845525e6a7579797979797979746e64584c3f33261a0d000916222e3a46515b62656c6c6c6c6c6c66635c52473b2f23170a0000000000000000000000000000000000000000000000000000000000030d151d23292c3939393939393939393836312b241b1208000000000000000000030d151d23292c3939393939393939393836312b241b12080000000000000000000000000000000000070d121618192020202020201a1917130e08000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a0500000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000c18242f394653606c7884919eaba7998c8073665c5044382b1f140900000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3ab9e9285786b5f5245382c1f0600000b1825323e4b5865717e8b98a4afa49986796d6053463a3e4b5865717e8b98a4afa49986796d6053463a2d20130700000a16202b343d43474953535353535352504c453b42464b5153575a5c5e5f5f5f5e5d5c595754514c46423b3328231c140c020000000000000d192633404c5966737f8c93939393939393939393939393939393939393939185786b5e5245382b1f120000000000000000000000060e151a1e21222625221e18120e121415181b1d1e1f1f1f1e1c191515120f11181d21242521211e1a140d0500000000000000000000000000020b141d262d333c42474c5254585b5d5e5f5f5e5d5b5854524d47433c342d251c130a000000000000020f1c2935424f5c6875828f949fa39b918b7f726d625a50483e362d24242c363e48505a616c717e879399a49e938e8175685b4e4235281b0f0200020e1a25303b454d525f60606060606060605f524c443a3025190d01000613202d394653606c78869aa4afa396897d869292877f78726e6d67676d6e6e6a5f53473a2e2114080000030f1b27323c464e5455606060606060606060606060606060606060606060606060606060606060605f5d5850463b3025190d00000000000000000000000000000000030b131a202427282d2d2d2d2d2d2d292825211b140c0300000000000000000000000000000000000000000000000000020b12191f2326272d2d2d2d2d2d2d282724201a130b0300000006131f2b37434e585f626c6c6c6c6c6c6c64625a5045392d2115080000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2a36424e59636a6c6c6c6c6c6c6c67645c52473c3024170b0006121e29343f495156586060606060605a58524a40362a1f130700000000000000000000000000000000000000000000000000000000010b151f272f343846464646464646464645423d352d24190f0400000000000000010b151f272f343846464646464646464645423d352d24190f0400000000000000000000000000000000000106090b0c1313131313130d0c0a07020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a030000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000007121f2b3844505b6673808c99a3ab9e9184796d6053463b30251a0e01000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3ab9f9285786c5f52452e23170b00000c1825323f4b5865727e8b98a5b5a093867a6d6053473a3f4b5865727e8b98a5b5a093867a6d6053473a2d2014070000040f19222b32373b3c4646464646464544403a3136394045474a4d4f5152535252514f4d4a4745413a3631292117110a02000000000000000d192633404c5966737f8c999999999999999da0a7a9a29f999999999999999185786b5e5245382b1f1200000000000000000000000003090e121415191816120d07020507080b0e1112131312110f0c09080603060c111517181514120e0903000000000000000000000000000000020b141b222731373b4146474b4e5152525352514e4c4846423b37312a221c130a01000000000000000714202d3a4753606d79828f949b918b7f726d625a50483f362d241b1a242c363e48505a626c717e87939a938e81786d6053463a2d201307000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d1105000713202d3a4653606d798693a0b6a295887c818e99928c837f7b7a7979797b7c6e6255483b2f2215080000000a15202b343c4347495353535353535353535353535353535353535353535353535353535353535352514d463e342a1f1408000000000000000000000000000000010b151d252b303435393939393939393534312c261e150c000000000000000000000000000000000000000000000000000b141d242b303334393939393939393534302b251d150b010000030f1b26323c464e535560606060606060585650483e34291d110500000000000000000000000000000000000000000000000000000000000000000000000000000000010e1a26313d4751595e5f6060606060605a58524a41362b1f140800010d18232d373f464a4c5353535353534d4b4740382e24190e020000000000000000000000000000000000000000000000000000000007121d2731394045535353535353535353524e473f352b2015090000000000000007121d2731394045535353535353535353524e473f352b20150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d0400000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000030f1c28333f4a54616e7b87929faca1968a7d7063574d42362a1d1307000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000b1824313e4b5764717e8a97a4ac9f9285796c5f4a3f34281c1003000c1925323f4c5865727f8b98a5ada093877a6d6054473a3f4c5865727f8b98a5ada093877a6d6054473a2d21140700000007101920272b2e2f3939393939393837342f252a2f34383a3d404344454646454443403d3a39352f2a251f170f060000000000000000000d192633404c5966737f8c8c8c8c8c8c8c8c9095a0a297928c8c8c8c8c8c8c8c85786b5e5245382b1f120000000000000000000000000000020608080c0c0a060200000000000001040506060504020000000000000105090b0b08070502000000000000000000000000000000000000020a111720262b3036393b3e41444546464544423f3b3a36302b262018100a01000000000000000006131f2c3845515c676d79828f918b7f726d625b51483f362d241b12121a242c363e48505a626c717e88938e81786d665c5044382b1f120600000714202d3a46525e6976797979797979797976685e5246392d201307000714202d3a4753606d7a8693a0ada194887b7c88949f95918c8886858586888073675a4d4034271a0d000000040f19222b32373b3c464646464646464646464646464646464646464646464646464646464646464644413b342c22180d0200000000000000000000000000000009131d272f373c40414646464646464642413d3730271e0e050000000000000000000000000000000000000000000000030d1d262e363c3f414646464646464641403c372f271d13090000000a15202a343c434749535353535353534b49453e362d22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000915202b353f474e52535353535353534e4c4741382f241a0e03000007111b252d343a3e3f464646464646403f3b362e261c120800000000000000000000000000000000000000000000000000000000000c18232f39434b515f606060606060605f5e5951473d31261a0e010000000000000c18232f39434b515f606060606060605f5e5951473d31261a0e0100000000000000000000000000000000000000000000000000000000000106090b0c131313130c0b09060100000000000000000000000000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d03000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000b17222d3846525e6975828f9ba7a89b8f8275695e52463a2f24180d000000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4ac9f938679665c5044382b1f1206000c1926333f4c5966727f8c99a5ada094877a6d6154473a3f4c5966727f8c99a5ada094877a6d6154473a2e21140700000000070f161b1f22232d2d2d2d2d2d2c2b28241a1d23292c2d3034363838393938373633302d2c29241e1a140d0500000000000000000000091623303c4956636f7d808080808080808083909d9f928580808080808080807f7265594c3f3226190c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b151a1e252a2d2e323537383939383735322e2d2a251f1a150e060000000000000000000004101c2934404b555c676d79828a7f726d625b51493f362d241b120909121b242d363e48505a626c717e8681786d665c544a3f34281c100300000815212e3b4854616e7b86868686868686867a6d6154473a2e211407000714212d3a4754606d7a8793a0ada194877a76828f99a09d9895989292988d8073675a4d4034271a0d0000000007101920272b2e2f39393939393939393939393939393939393939393939393939393939393939393835302a221a1006000000000000000000000000000000030f1a252f3941484d4e535353535353534f4d4942393020170d02000000000000000000000000000000000000000000010b151f2e3840474c4d535353535353534e4d4841392f251a0f030000040e18222a32373b3c464646464646463e3d39342d241b1106000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f19242d353d424546464646464646413f3c362f261d13080000000009131b23292e313239393939393933322f2a241c140a000000000000000000000000000000000000000000000000000000000004101c2934404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d1104000000000004101c2934404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d110400000000000000000000000000000000000000000000000000000000070d1216181920202020181815120c060000000000000000000000000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000006111c2a36424d5763707d89959fac9f92867b6e61554b4135291d12070000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4afa49986796d6053463a2d201307000d192633404c5966737f8c99a6ada194877a6e6154473b404c5966737f8c99a6ada194877a6e6154473b2e2114080000000000040a0f1315162020202020201f1e1c180e12181c1f202427292b2c2c2c2b2a29262421201d19130e090300000000000000000000000915222f3b4854606b6f7373737373737374818e9b9e91847873737373737373726d62574a3e3125180b0000000000000105090b0b1313131307060405090b0b131313130706040005090b0b13131313070604000000000000000000000000000000000000000000000000000000000000000003090e14191e202125282a2b2c2c2b2a282521201e1a140f0a030000000000000000000000000c18232f39434b555c676d797d726d625b51493f372d241b1209000009121b242d363f48505a626c717d786d665c544a42382e23170b0000000815212e3b4854616e7b87939393939393877a6d6154473a2e211407000814212e3b4754616e7a8794a1aca093877a6f7c87929fa5a5aaa29f9f9a8d8073675a4d4034271a0d0000000000070f151b1f22222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f181008000000000000000000000000000000000814202b37414b53595b606060606060605c59544b4232291f140900000000000000000000000000000000000000000007121d2731404a52585a606060606060605b59534b41372b20140800000006101820262b2e2f3939393939393931302d29221b1209000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b242b313638393939393939393433302b241d140b0100000000010911181e2225252d2d2d2d2d2d2726231f19120a02000000000000000000000000000000000000000000000000000000000006131f2c3845515c67767979797979797979756a5e5245382c1f1206000000000006131f2c3845515c67767979797979797979756a5e5245382c1f12060000000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2524221d1811090000000000000000000000000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c11050000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000000000e1a25303b4854606b7683909da8a3998d8073675d5145392e23180c0000000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8b98a5b5a093867a6d6053473a2d201407000d1a2633404d596673808c99a6aea194887b6e6155483b404d596673808c99a6aea194887b6e6155483b2e221508000000000000000306080913131313131312110f0c01070c101314171a1c1e1f201f1f1e1c1a171413110d0801000000000000000000000000000713202c38444f5960636666666666666874818e9b9e9184786b66666666666665625b51463a2e2216090000000000060c111517182020201f141310111517182020201f1413100c111517182020201f1413100c07010000000000000000000000000000000000000000000000000000000000000002080d111414181b1e1f1f201f1e1b191514120e0903000000000000000000000000000007121d273139434b555c676d716c625b51493f372d251b12090000000009121b242d363f48505a626b706d665c544a423830261c11060000000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e211407000815222e3b4855616e7b88949f9fa39986796d73808c939fa2aaaaaba69a8d8073675a4d4034271a0d000000000000040a0f131516202020202020202020202020202020202020202020202020202020202020201f1f1c19140d0600000000000000000000000000000000000c1824303c48535d64686c6c6c6c6c6c6c68655d54443b3025190e0000000000000000000000000000000000000000000c18232f3943525c64676c6c6c6c6c6c6c68645d53483c3024180c00000000060e151b1f21222d2d2d2d2d2d2d2524211d1711090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121920262a2c2c2d2d2d2d2d2d2726241f1a130b0200000000000000070d121618192020202020201a1917130e08000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d798686868686868687796c5f5346392c20130600000000000714202d3a4753606d798686868686868687796c5f5346392c201306000000000000000000000000000000000000000000000000000009131b23292e31323939393932312e29231b13090000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a0000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000009141f2c38444f5964717e8a96a0ab9f92857a6d60544b4034281d120700000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000c1925323f4c5865727f8b98a5ada093877a6d6054473a2d211407000d1a2733404d5a6673808d99a6aea195887b6e6255483b404d5a6673808d99a6aea195887b6e6255483b2f2215080000000000000000000000060606060606050503000000000406070a0d10111213131211100d0a07060401000000000000000000000000000000030f1b27323d474f545659595959595b6874818e9b9e9184786b5e5959595959595751493f35291e1206000000000911181d2124252d2d2d2c201f1c1d2124252d2d2d2c201f1c181d2124252d2d2d2c201f1c18120b030000000000000000000000000000000000000000000000000000000000000000010507080b0e1112131312110f0c0807050200000000000000000000000000000000010b151f273139434b555c6064615a51493f372d251b130900000000000009121b242d363f4850596063605c544a423830261e140a000000000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e211407000915222f3c4855626f7b8893939393928679666c77818c92989b9e9f9f9a8d8073675a4d4034271a0d000000000000000003060809131313131313131313131313131313131313131313131313131313131313131312100d08020000000000000000000000000000000000000e1a2734404d59646f7479797979797979756f65564d42362a1c11060000000000000000000000000000000000000004101c2934404b55646e7479797979797979746f64594d4034271a0e0000000000040a0f13151620202020202020181715110c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f151a1d1f202020202020201b1a17140e08010000000000000000000106090b0c1313131313130d0c0a070200000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693939393939286796c5f5346392c20130600000000000714202d3a4753606d7a8693939393939286796c5f5346392c2013060000000000000000000000000000000000000000000000000007111b252d343a3e3f464646463f3d3a342d251b110600000000000000000000000000000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d0100000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000002101b27323d4653606c7884919da8a2978b7f72665c5145392e23180c01000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99a5ada094877a6d6154473a2e211407000d1a2734404d5a6773808d9aa6aea295887b6f6255483c404d5a6773808d9aa6aea295887b6f6255483c2f22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212b353d4448494d4d4d4d4e5b6874818e9b9e9184786b5e514d4d4d4d4c4a463f372d23180d0100000009121b22292e3132393939392d2c29292e3132393939392d2c2923292e3132393939392d2c29231d150d03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d151f273139434b5153575550483f372d251b1309000000000000000009121b242d363f474f545653504a423830261e140c02000000000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e211407000916222f3c4955626f7c86868686868685786c656c777f868b8e919292928d8073675a4d4034271a0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b687481868686868686868175695e5246382d22170b0000000000000000000000000000000000000006131f2c3845515c677480868686868686868174685b4e4135281b0e0000000000000003060809131313131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e1112131313131313130e0d0b080300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c20130600000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c201306000000000000000000000000000000000000000000000000010d18232d373f464a4c535353534b4a463f372d23180c01000000000000000000000000000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f0300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000b161f2b3844505b66717e8b96a0a99e9184796d60554b4034281e1308000000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000d192633404c5966737f8c99a6ada194877a6e6154473b2e211408000e1b2734414e5a6774818d9aa7afa295887c6f6255493c414e5a6774818d9aa7afa295887c6f6255493c2f2216090000000000000105080b0b1313131313130c0b090501000000000000000000000000000002070a0c0d1313131313130b0a08050000000000000000040f19232b32383b3c404040414e5b6874818e9b9e9184786b5e51454040403f3e3a352d251b110700000006111b242d343a3d3e464646463a3834343a3d3e464646463a38342f343a3d3e464646463a38342f271f150b0100000000000000000000000000000000000000030608090d1012131312110f0b0707050100000306060b0f121312110e080705020000000000000000000000000000030d151f2731394045474a49453e362d251b13090100000000000000000009121b242d353d44484a46443f3830261e140c0200000000000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e211407000815222e3b4754606a767979797979797873695b656c727a7f8284858685837e7164574b3e3124180b00000000000004090c0e0f131313131313131313131313131313131313131313131313131313131313131313100f0d09050000000000000000000000000000000000000916232f3c4956626f7c89959393939392867b6e61544a3f33281c0f030000000000000000000000000000000000000714202d3a4753606d7985929393939395897c6f6356493c3023160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a05000000000000000000000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000006121e29343f4951565860606060585651493f34291d120600000000000000000000000000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000030f1c28333f4a54606d7884919da7a1968b7e72675c51453a2f24190d030000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000d1a2633404d596673808c99a6aea194887b6e6155483b2e221508000e1b2834414e5b6774818e9aa7afa295897c6f6256493c414e5b6774818e9aa7afa295897c6f6256493c2f2316090000000000060c11151718202020202020181815110c06000000000000000000000000070e1316191a202020202020181715110c060000000000000007111921272c2f30333335414e5b6874818e9b9e9184786b5e514538333332312e29231b130a000000010c18222d363f454a4b535353524745403f454a4b53535352474540393f454a4b535353524745403931271d12070000000000000000000000000000000000040a0f1315161a1d1f1f201f1e1b181413110d080b0f1213181c1f201f1e1b1514120e090300000000000000000000000000030d151f272f34383a3e3c39332c241b130901000000000000000000000009121b232b33383c3d3a38342e261e140c020000000000000815212e3b4854616e7b87939393939393877a6d6154473a2e2114070006131f2b37434e5860626c6c6c6c6c6c6c6961535b60686d72757778797876716c6155493d3023170a0000000002091015191b1c2020202020202020202020202020202020202020202020202020202020202020201d1c1915100a03000000000000000000000000000000000915222e3b4854606a7783909daa9fa3998c7f73665b5044382b1f1409000000000000000000000000000000000006121f2b37434e5864717e8a97a29f9f9d9083776b6054483b2f22150900000000000000000000000000000000000000000406070a0c0f11111213131312110f0d0b070705010000000000000000000000000000000000000000000000000003060809131313131313130b0a08050000000000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000916222e3a46515b62656c6c6c6c65625b51463a2e22150900000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000000b17222d3844505c66717e8a95a0a89e9184796d60564c4135291f14090000000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99a6aea195887b6e6255483b2f221508000e1b2835414e5b6874818e9ba7afa396897c706356493d414e5b6874818e9ba7afa396897c706356493d3023160a000000000911171d2124252d2d2d2d2d2d2524221d181109000000000000000000010a12191e2325262d2d2d2d2d2d2524211d17110900000000000000070f161b202223262835414e5b6874818e9b9e9184786b5e5145382b262625221e18110a0100000005111d29343f485056586060605f53514b485056586060605f53514b43485056586060605f53514b43392f23180c00000000000000000000000000000003090e151b1f2222272a2b2c2c2c2a282521201d1913171c1f2024292b2c2c2a2821211e1a140d0500000000000000000000000000030d151d23292c2d31302d28221a1209010000000000000000000000000009111921272c2f302d2b28231c140c02000000000000000815212e3b4854616e7b86868686868686867a6d6154473a2e21140700030f1b27323c464e54556060606060605f5d574950565d6065686b6c6c6b6a64615a5045392d211408000000030c141b212528292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292826211b140c0400000000000000000000000000000007131f2c38434e5865727e8b98a2aeab9e9184786c6053463b30251a0e00000000000000000000000000000000000814212e3a47535f6a7683909ca9aea2988b7f7265594f43382c1f1307000000000000000000000000000000000001070c10131417191b1d1e1f20201f1f1e1c1a171413110d0804010000000000000000000000000000000000000000040a0f13151620202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d04000000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000b1825313e4a56626d7279797979726d62564a3d3124180b00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000006111c28343f4a54606c7883909da6a1968c7f72685d52453b31261a0c0300000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000d1a2734404d5a6773808d9aa6aea295887b6f6255483c2f221509000f1b2835424e5b6875818e9ba8b0a396897d7063564a3d424e5b6875818e9ba8b0a396897d7063564a3d3023170a00000009121b22292d303139393939393932312e29231b120900000000000000000a131c242a2f323339393939393931302d29221b120900000000000000040b0f1315161b2835414e5b6874818e9b9e9184786b5e5145382b1e191816120d0700000000000915212e3a45505a62656c6c6c6c605c55505a62656c6c6c6c605c554b505a62656c6c6c6c605c554b4034291c100400000000000000000000000000060e141a20262b2e2f3336383939383735322e2d2a251e22282b2d313638393937342e2d2a251f170f0500000000000000000000000000030b12181c1f202423211c17100800000000000000000000000000000000080f161c202223201f1c17110a0200000000000000000714202d3a46525e6976797979797979797976685e5246392d20130700000a15202b343c43474953535353535352514c3f444c5254585b5e5f5f5f5d575550483e33281d11050000020c151e262c3134353939393939393939393939393939393939393939393939393939393939393939393635322d261e160c030000000000000000000000000000030f1b27323d4754606d7a85929facaca1968a7d7063574d42362a1c110600000000000000000000000000000004101c2934404b55626e7b88949fabac9f92867a6d6054473d32271b0f03000000000000000000000000000000050b1012181c1f202326282a2b2c2c2c2c2c2a29272421201d1913100d07010000000000000000000000000000000000060e151b1f21222d2d2d2d2d2d2d2524211d171109000000000000000000000000000000000000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d030000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000c1925323f4c5865727f868686867f7265584b3f3225180c00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000000b17232e3844505b66707d89949fa89e92857a6d60574d42362a1e150a00000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000e1b2734414e5a6774818d9aa7afa295887c6f6255493c2f221609000f1c2835424f5b6875828e9ba8b0a3968a7d7063574a3d424f5b6875828e9ba8b0a3968a7d7063574a3d3024170a000006111b242d34393d3e4646464646463f3d3a342d241b0b02000000000000030d1c252e353b3f404646464646463e3d39342d241b110600000000000000000307090e1b2835414e5b6874818e9b9e9184786b5e5145382b1e120b0906010000000000000b1724313d4a56626c71797979796d675c56626c71797979796d675c5156626c71797979796d675c5145382c1f1306000000000000000000000000080f181f262a32373b3c40434546464544423e3a3936302a2d3338393e4245464544413b3a36312921170d030000000000000000000000000001070c101314171714110c05000000000000000000000000000000000000050b101316171312100b060000000000000000000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d11050000040f19222b32373b3c464646464646454441333a4145474b4f51525352504b49453e362c22170c00000009141e2730373d414246464646464646464646464646464646464646464646464646464646464646464643413e3830281e140a0000000000000000000000000000000a16202c3945515d6774818e9aa7b1a89b8f8275695e5246382e23170b00000000000000000000000000000006131f2c3845515c6774808d9aa6b0a79b8e8174685d5245392b21160a0000000000000000000000000000040b10161c1d23292c2d30333537383839393938373633312e2d2a25201d18120b0600000000000000000000000000000006101820262b2e2f3939393939393931302d29221b120900000000000000000000000000000000000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a0000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000c1926323f4c5965727f8c93938b7f7265584c3f3225190c00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000000006111c28333f4a54616b76828f99a4a1978d8073695f53463d30261c1106000000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000e1b2834414e5b6774818e9aa7afa295897c6f6256493c2f231609000f1c2936424f5c6975828f9ca8b0a3978a7d7064574a3d424f5c6975828f9ca8b0a3978a7d7064574a3d3124170a00010c17222d363f45494b5353535353534b4a453f372d1d140a0000000000010b151f2e3740474b4d5353535353534b49453e362d22170c00000000000000000000020e1b2835414e5b6874818e9b9e9184786b5e5145382b1e12050000000000000000000b1825323e4b5865717e86868686796d605865717e86868686796d60535865717e86868686796d6053473a2d20140a0000000000000000000000081119212a31363c4347494d5052525352514e4b4746413a36383f44464b4f525352514e4846423b33291f1409000000000000000000000000000000000406070b0a0805000000000000000000000000000000000000000000000407090a070603000000000000000000000000020e1a25303b454d525f60606060606060605f524c443a3025190d0100000007101920272b2e2f393939393939393835272f35393a3f4244454645433e3d39332c241a1006000004101b26303942494d4f535353535353535353535353535353535353535353535353535353535353535353504e49423a30261b1005000000000000000000000000000004111d2935414b55626f7c88959fabac9f92877b6e61544a3f34281c100300000000000000000000000000000714202d3a4753606d7985929eabaca095897c6f63564c413529190f0400000000000000000000000000060b161b21282c2f34383a3d3f42444445464646454442403e3a3936302c29241d17110a02000000000000000000000000040e18222a32373b3c464646464646463e3d39342d241b110600000000000000000000000000000000000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c110500000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000c1926333f4c5966727f8c99988c7f7265594c3f3226190c00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000b17222d38424f59626f7c87939fa99f92867b6e61594f42382e23170c020000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000e1b2835414e5b6874818e9ba7afa396897c706356493d3023160a00101c2936434f5c6976828f9ca9aca4978a7d7164574a3e434f5c6976828f9ca9aca4978a7d7164574a3e3124170b0005111d29343f48505658606060606060585651493f2f261b11060000000007121d27314049525759606060606060585650483e34291d1105000000000000000205070e1b2835414e5b6874818e9b9e9184786b5e5145382b1e12050000000000000000000a1723303d4a5663707d8993988a7d70635763707d8993988a7d7063575663707d8993988a7d7063574a3d31261b0f03000000000000000000060f19232b333b42464e54555a5d5e5f5f5f5d5b5854524c4641424a5053575c5e5f5f5d5b54534d453b31251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b42464853535353535353535346413a32281e13080000000000070f151b1f22222d2d2d2d2d2d2c2b281e24292c2d3235383939383731302d28221a12080000000915212c37424b54595c6060606060606060606060606060606060606060606060606060606060606060605c5a544c42382d2115090000000000000000000000000000010d18242f3a47535f6a7683909da9afa3998c7f73665c5044382b1f14090a0a0a0a0a0a0a0a0a0a0a0a0a0a121f2b37434e5864717e8b97a2adaa9d9083776b6054443a2f241907000000000000000000000000020a111721272c3338394045474a4c4e50515253535252514f4d4a4746413a39352f28231c140c0600000000000000000000000a15202a343c434749535353535353534b49453e362d22170c0000000000000000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a00000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000d192633404c5966737f8c99998c7f7266594c3f3326190c00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000000006111c262f3d47535f6a74818e97a2a3988e82756b60544a3f34281f14090000000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000f1b2835424e5b6875818e9ba8b0a396897d7063564a3d3023170a00101d293643505c6976838f9c9f9f9f978b7e7164584b3e43505c6976838f9c9f9f9f978b7e7164584b3e3125180b000815212d3945505a62646c6c6c6c6c6c65625b5141382d22170b000000000c18232f3943525b63666c6c6c6c6c6c64625a5045392d211508000000000002090e1114141b2835414e5b6874818e9b9e9184786b5e5145382b1e12050000000000000000000815222f3b4855626e7b88959a8d81746758626e7b88959a8d8174675855626e7b88959a8d817467584e43372b1f12060000000000000000030e18222b353d454d53585f6266696b6c6c6b6a6865615e56524c4c545b6064696b6c6c6a67615e574d42362a1e1205000000000000000000000000000000010406070b0e101213131312100e0b07060401000000000000000000000000000000000000000000000000000000000000020d17212930363a3b4646464646464646463936302820160c02000000000000040a0f1315162020202020201f1e1c13191d202125282b2c2c2c2a2423211d171008000000000c1925313d49545d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3226190d00000000000000000000000000000007131d2b37434e5864717e8b97a2adab9e9184786d6053463b31251a16161616161616161616161616161616212e3a47535f6a7683909ca9aea2988b7f7265594f4332281e13080000000000000000000000030b141c222832383e44484b515356595b5d5e5f5f5f5f5f5d5c5a5754524c47454039342e261e170f07000000000000000000030f1b26323c464e535560606060606060585650483e34291d110500000000000000000000000000000000000000000000000000000000000000000d1a26323e4a545e66696c6c69665e544a3e32261a0d00000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000d1a2633404d596673808c99998c7f7366594c403326190d00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000000000000a141d2b37434e58616d7a85929fa79e93897d70665c50443b30251a0d0300000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000f1c2835424f5b6875828e9ba8b0a3968a7d7063574a3d3024170a00101d2a3643505d6976839093939393938b7e7165584b3e43505d6976839093939393938b7e7165584b3e3225180b000b1724303d4956626c71797979797979726d6253493f33271b0f03000004101c2934404b55636e73797979797979716c6256493d3024170a00000000050d14191e2021272835414e5b6874818e9b9e9184786b5e5145382b1e12050000000000000000000714202d3a4753606d7a86979e9184786a5f606d7a86979e9184786a5f53606d7a86979e9184786a5f53473a2e21150800000000000000000a15202a343d474f575f616a6f7376787979787775716d68615e56565d666c717578797877746e695e53463a2d2114070000000000000000000000000001070d111314181b1d1f1f201f1f1d1b181413110d07010000000000000000000000000000000000000000000000000000000000050f171f252a2d2e39393939393939392e2d2a251e160e0500000000000000000003060809131313131313121210080d111314181c1e1f201f1d181714110c0600000000000e1b2834414d59656f757979797979797979797979797979797979797979797979797979797979797979797670665a4e4135281c0f000000000000000000000000000000010f1b26323c4753606d7985929fabada1968a7d7063574d42362a23232323232323232323232323232323232934404b55626e7b88949fabac9f92867a6d6054473d3221160c0100000000000000000000030c151d262d333d44484f55555c606366686a6b6b6c6c6c6b6a696664615e5653514b443f38302921191007000000000000000006131f2b37434e585f626c6c6c6c6c6c6c64625a5045392d21150800000000000000000000000000000000000000000000000000000000000000000f1c2935424e5a66707679797670665a4e4235291c0f00000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000000d1a2733404d5a6673808d99998c807366594d4033261a0d00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000000000020b1b26323c46525e68727f8c95a0a59d9083786d60574d42362a1f150b01000000000000121f2c3845525f6b7885929eabada194877a6e6154473b2e211408000000000000000000000000000000000000000000000000000000000000000f1c2936424f5c6975828f9ca8b0a3978a7d7064574a3d3124170a00101d2a3743505d6a7683868686868686867f7265584b3f43505d6a7683868686868686867e7265584b3f3225180c000b1825313e4b5864717e8686868686867f72655b5044372b1f150a000006131f2c3845515c6773808686868686867e7164584b3e3125180b000000050e171f252a2d2e342d35414e5b6874818e9b9e9184786b5e5145382b1e120500000000000000000006131f2c3945515d677885929e96887b6f625d677885929e96887b6f62555d677885929e96887b6f6255483c3025190d01000000000000020f1a26313c464f5960696e767c80838585868583817e7a746d68605d686d787e8285868584817b6e6154483b2e211508000000000000000000000002080e13181d202024272a2b2c2d2c2b2a272421201d18130e090300000000000000000000000000000000000000000000000000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c05000000000000000000000000000006060606060606050300010406070c0f11121312100b0a0805000000000000000f1c2935424f5c6875828686868686868686868686868686868686868686868686868686868686868686868276695c504336291d10000000000000000000000000000000000a151f2c3845515d6774808d9aa6b0a89c8f8275695e5346382e3030303030303030303030303030303030303845515c6774808d9aa6b0a79b8e8174685d5245392c20130400000000000000000000000b151e272f383f444f54596163676d70727577777879797978777573716d6865605d55504a423b332a22190f06000000000000000815212e3b47535f6a7679797979797979716c6256493d3024170a0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768386868376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9a998d8073665a4d4033271a0d00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000000000000000000000000000a15202a36414c56606d7883909aa4a0958c7f72695e52463e31271d1207000000000000121f2c3845525f6b7885929eabaca194877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f9ca9aca4978a7d7164574a3e3124170b00101c2936424f5b66717679797979797979726d62564a3d424f5b66717679797979797979726d62564a3d3124180b000713202d3a4653606d7984919393939184786c6053463c31261a0f02000714202d3a4753606d7985929393939184796d6053463a2d2013070000020d17202930363a3b413a38414e5b6874818e9b9e9184786b5e5145382b1e120500000000000000000004101d2935404b556a7783909d998c7f7266566a7783909d998c7f726656556a7783909d998c7f7266564c41362a1d110500000000000006121f2b37434e58606b707b82888d9091929292908e8b86817a706b606d7a828a8f91929290897d7063564a3d3023170a00000000000000000000050d14191d24292c2d31343738393939383634312d2c29241d1a140d050000000000000000000000000000000000000000000000000000000002090e12141520202020202020201413110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f939393939393939393939393939393939393939393939393939393939393938f8276695c504336291d100000000000000000000000000000000004101d2935404b55626e7b88949fabac9f93877b6e61544a3f3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4753606d7985929eabaca095897c6f63564c4135291d11040000000000000000000007121d273039424a505960636b7075797d7f81838485868685858482807d7a76716d67605c544d453c342a21180c030000000000000916222f3c4955626f7c868686868686867e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000010e1a2734414d5a6774808d9a9a8d8073675a4d4034271a0d01000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000040d1925303a44515c666f7d88939fa79f92867b6e61594f43392f24180c020000000000121f2c3845525f6b7885929e9f9f9f94877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000101d293643505c6976838f9c9f9f9f978b7e7164584b3e3125180b000e1a26323e4a555f666a6c6c6c6c6c6c6c65625b51453a3e4a555f666a6c6c6c6c6c6c6c65625b51453a2e2215090006131f2c3845515c66727f8c97a2a0958a7d7063584e43372b1e13080714202c38444f5965717e8b97a1a2978c7f72665c5144382c1f1206000009141f29323b4246474d4745404e5b6874818e9b9e9184786b5e5145382b1e1205000000000000000000000c18242f424f5c6875828f9b9c908376685e6875828f9b9c908376685e5c6875828f9b9c908376685e5246392d2013070000000000000814212e3a47535f6a707d858f94999c9e9f9c9b9c9b98928e857d706b75828f949c9e9f9f96897d7063564a3d3023170a000000000000000000080e171e252a2f35393a3e4143454646464543413e3a39352f2a251f170f09000000000000000000000000000000000000000000000000000000000002050708131313131313131307070501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f9b9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9c8f8376695c504336291d1000000000000000000000000000000000000c18242f3947535f6a7683909ca9afa4998c8073665c504949494949494949494949494949494949494949494e5864717e8b97a2adaa9d9083776b6054443a2f24190d01000000000000000000040e18232e39434b545b606b70767d8185898c8e90919292929292908f8d8a86837e79726d665f574e463c332a1e150b0000000000000916222f3c4955626f7c8893939393938b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9a9a8d8074675a4d4134271a0e01000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000030709090c0c0c0c0c0c0c0c0c0c0c0c0c0c08131e2834404a54606b74818e97a1a2988e81756b61554b4035291e140a0000000000121f2c3845525f6b7885929393939393877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000101d2a3643505d6976839093939393938b7e7165584b3e3225180b000a16222d38434d555b5d60606060606060585651493f3438434d555b5d60606060606060585651493f34291d11050004101c2834404b54606d7a85929fa89c8f82766a5f53473a3025190d0916232f3c4855606b7783909da99f92857a6d60544a4034281c100400020e1925303b444d52545a53514b4e5b6874818e9b9e9184786b5e5145382b1e120500000000000000000000071a2734414d5a6774808d9a9f93867a6d616774808d9a9f93867a6d615a6774808d9a9f93867a6d6154473a2e23180c000000000007131f2c38434e58626e7c8692989fa29f97928f8e8f9196999792877d707d89949ea69e989291897d7063564a3d3023170a00000000000000010a121a202930363a4045474b4e505252535252504e4b4745413a363029211b120a0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828f939393939393939393939393939393939393939393939393939393939393938f8376695c504336291d10000000000000000000000000000000000007121d2b37434e5864717e8a97a1adab9e9184796d6056565656565656565656565656565656565656565656565f6a7683909ca9aea2988b7f7265594f4332281e1308000000000000000000020c16202834404b555c666c737d838a8e9298999b9d9e9e9f9f9f9e9d9c999993908b857f786e695f584e453c30271d120700000000000916222f3c4955626f7c88959f9f9f978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000010e1b2834414e5b6774818e9a9a8d8174675a4e4134271b0e01000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000040b0f1315161919191919191919191919191919191918232e39424f59616d7a85929ea69e938a7d70675d51453c30261c110600000000121f2c3845525f6b7885868686868686867a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000101d2a3743505d6a7683868686868686867e7265584b3f3225180c0005111c27313b434a4f50535353535353534b4a453f372d313b434a4f50535353535353534b4a453f372d23180c0100000c18232e3945515d6773808d98a39f94887c6f62564c41362a1c12121f2b37434e5863707d8995a0a3988c8073675d5142392e23180c000005111e2a36424d565e6167605c554e5b6874818e9b9e9184786b5e5145382b1e1205000000000000000000000c1926323f4c5965727f8c98a4998b7e716465727f8c98a4998b7e71645465727f8c98a4998b7e7164544a4034281c1004000000000915222e3b4854606a76828f98a2a298928b8583828284878c929792857b818e9aa69e948f8684867d7063564a3d3023170a000000000000000a131c242c323b41464b5153575a5d5e5f605f5e5d5a5754514b46423b332d241c140a01000000000000000000000000000000000000000000000000000106090b0c13131313131313090806030000000000000000000000000003060809131313131313130b0b0905010000000000000000000000000000000000000000000f1c2935424f5c6875828686868686868686868686868686868686868686868686868686868686868686868376695c504336291d100000000000000000000000000000000000010f1a26313c4653606d7985929eacada1968a7d70646363636363636363636363636363636363636363636363636e7b88949fabac9f92867a6d6054473d3221160c0100000000000000000008131e28323a45515c676d78808990959b9fa2aaaba39f9d9d9c9d9ea1a9aba49f9d97928b837b6f6a5f574d42392e23180c02000000000916222f3c4955626f7c8895a2aca4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9b9a8e8174675b4e4134281b0e01000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000070f161b20222325252525252525252525252525252525252527303d46525e68717e8a949ea59e9184796d60584e42382e23170b02000000111e2b3744505d6873787979797979797976685e5246392d20140700000000000000000000000000000000000000000000000000000000000000101c2936424f5b66717679797979797979726d62564a3d3124180b00000a151f2931383e4243464646464646463f3d3a342d242931383e4243464646464646463f3d3a342d241b110600000007121d2935414c55616e7b86929fa69a8e8174685e5246392e231814212e3a47535f6a76828f9ca79f92867a6d61554b4030271c120700000714202d3a46525e696e746d675f585b6874818e9b9e9184786b5e5145382b1e1205000000000000000000000b1724313e4a5764717d8a97ab9b8e82756664717d8a97ab9b8e8275665c64717d8a97ab9b8e8275665c5144382c1f1206000000000916232f3c4956626f7c89949fa79f92867e79767576777b7f858f948f8283909daa9c8f82797779796d6053473a2d20140700000000000009121c252e363e444c52555d6064676a6b6c6c6c6b696764605d55524d453f362e261c1309000000000000000000000000000000000000000000000000060d12161819202020202020201615130f0a04000000000000000000040a0f13151620202020202020181715110c0600000000000000000000000000000000000000000e1b2834414d59656f757979797979797979797979797979797979797979797979797979797979797979797670665a4e4135281c0f00000000000000000000000000000000000009151f2c3845515c6673808d9aa4afa99c8f82757070707070707070707070707070707070707070707070707074808d9aa6b0a79b8e8174685d5245392c201304000000000000000000010d1925303a44515b606d79828d929d9fa7a8a19e999992919090919297979b9fa4a9a19e9590857c6f695f544b4034281e1408000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9b9b8e8174685b4e4135281b0e02000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000007111921272c2f30323232323232323232323232323232323232323235414c56616c75828f98a2a1968d80736a5f544a3f34281d140a0000000f1c2834404c5761686b6c6c6c6c6c6c6c6c5e564c41362a1e1105000000000000000000000000000000000000000000000000000000000000000e1a26323e4a555f666a6c6c6c6c6c6c6c65625b51453a2e2215090000030d171f272d3236373939393939393932312e29231b1f272d3236373939393939393932312e29231b120900000000000d19242f3a46525e6874818e9aa49f92867a6d61544a4034281c1d2a36414c56626e7b88949fa3998d8174685e52433a2f1e150b0000000814212e3b4754616e7b80796f6a605b6874818e9b9e9184786b5e5145382b1e1205000000000000000000000916232f3c4956626f7c8995ab9f9285796d626f7c8995ab9f9285796d60626f7c8995ab9f9285796d6053463a2d201309000000000d1a2733404d5a6673808d99a69f958a7d716d666869696e737a828e938f90959fa298887b6f676d6d675c5145382c1f13060000000000050f1b242e37404850565e61676d71747678797979787674716d67615e57504840382e251b0f06000000000000000000000000000000000000000000010911181e2224252d2d2d2d2d2d2d23221f1b160f0700000000000000070f161b1f22232d2d2d2d2d2d2d2524211d171109000000000000000000000000000000000000000c1925313d49545d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69665e54493e3226190d00000000000000000000000000000000000004101c2834404b54616e7b87939facac9f93877d7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7d85929fabaca095897c6f63564c4135291d110400000000000000000005111d2935414c56626d75818e949ca4aba39f96918c88868483838485878a8f939a9fa7a79f9791857b6e665c51453b3025190d000000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000020f1c2835424f5b6875828e9b9b8e8175685b4e4235281b0f02000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000040f19232b32383b3c3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f44505a616e7b86929fa69f92877c6f665c50443c2f261b110600000c18242f3b454f575d5f606060606060605f524c443b3025190e02000000000000000000000000000000000000000000000000000000000000000a16222d38434d555b5d60606060606060585651493f34291d1105000000040d151c2226292a2d2d2d2d2d2d2d2524221d1811151c2226292a2d2d2d2d2d2d2d2524221d18110900000000000008131e2a36414d56626e7b87939fa3988c7f73665c5144382c1f202d3946525e6874818e9aa69f92877b6e61564c4131281d0c030000000815212e3b4854616e7b87837c726c656874818e9b9e9184786b5e5145382b1e1205000000000000000000000814212e3b4754616e7a8799a3a297897c70636e7a8799a3a297897c7063616e7a8799a3a297897c706356493d31261a0e02000000101d293643505c6976838f9ca99d9083766c605c54575e61686d78818e949d9fa79f9285796a5f60605c554b4034291c100400000000030d17212d364049515a61686e747a7e8183858586858583817e7a746e69625a524a40372d21180e03000000000000000000000000000000000000000009131b23292e3132393939393939392f2e2b2720191007000000000007101920272b2e2f3939393939393932312e29221b12090000000000000000000000000000000000000915212c37424b54595c6060606060606060606060606060606060606060606060606060606060606060605c5a544c42382d211509000000000000000000000000000000000000000c18232e3946535f6976828f9ca9afa499938a89898989898989898989898989898989898989898989898989899297a2adaa9d9084776b6054443a2f24190d010000000000000000000713202d3946525e68727f8b939ea6aba399928c84807c7977767677787a7e828790959ea5a9a1979083796d60564c41362a1c11060000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0000000000000000000000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000020f1c2935424f5c6875828f9b9b8e8275685b4f4235281c0f02000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000203101d2a3643505d69768390908376695d5043362a1d10030200000000000000000b16212b353d4448494c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c525e69727f8b949fa3999083786d60574d41382d22170b000007131e29333d454c5052535353535353535346413b32291e1408000000000000000000000000000000000000000000000000000000000000000005111c27313b434a4f50535353535353534b4a453f372d23180c0100000000030a11161a1c1d20202020202020181815110c060a11161a1c1d20202020202020181815110c0600000000000000010e1925303b47535f6975828f9ba69e9184796d6053463d32272834404b55616d7a86929fa69b8e8175695f53443a301f160c000000000815212e3b4854616e7b8790867f776e6974818e9b9e9184786b5e5145382b1e1205000000000000000000000613202d394653606c7986929fa99a8d8073676c7986929fa99a8d807367606c7986929fa99a8d807367574d42372b1e1206000000111e2b3744515e6a7784919da6998d80736659504a4d52565e666d78829099a3aa9e9184776b585353514b43392f23180c000000000009141f29333f48515b636c717a80868a8d909192939291908d8a86817b716d645c52493f332a2015090000000000000000000000000000000000000009121b252d343a3e3f464646464646463c3b38322b22190f04000000040f19222b32383b3c464646464646463e3d3a342d241b1108000000000000000000000000000000000004101b26303942494d4f535353535353535353535353535353535353535353535353535353535353535353504e49423a30261b10050000000000000000000000000000000000000007121d2a36424d5764707d8a96a1adaba49f9796969696969696969696969696969696969696969696969696969fa2a9aea2988b7f7265594f4332281e130800000000000000000003101c28343f4a54616d7a85929fa5aea39992877f79736f6d666a696a686e71757c838f939ea7a9a0958c8073685e5246382d22170b0000000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b0204050606060504020000000000000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000000000000000000000030f1c2936424f5c6975828f9c9b8f8275685c4f4235291c0f02000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000050a0f12101d2a3643505d69768390908376695d5043362a1d10120f0a050000000000030f1b27323d474f54565858585858585858585858585858585858585858585858585857606c77828f97a2a0958c7f72695f53493f33271b0f0300020d17212b333b404445464646464646463b3936302920170d020000000000000000000000000000000000000000000000000000000000000000000a151f2931383e4243464646464646463f3d3a342d241b110600000000000000050a0e1010131313131313130c0b0905010000050a0e1010131313131313130c0b09050100000000000000000008141f2b37424d57626f7c89949fa1978a7e7164594f44382c2c3845515c67737f8c98a39f94887c6f62574d4232291e0d04000000000815212e3b4854616e7b8798928c827b7174818e9b9e9184786b5e5145382b1e12050000000000000000000005121f2b3744505b657784919eaa9d91847769657784919eaa9d918477695f657784919eaa9d918477695f53473a2d211408000000121e2b3845515e6b7884919ea5988b7e7265584b3f42464c545c666f7c87929faa9d9084776a5d514745403931271d120700000000020e1a25313b45505a636d737e858d92989a9d9a9998999a9c9a98928d867e736e645b51463c31261a0f04000000000000000000000000000000000008111a242d373f464a4c535353535353534947433d342b20160a0000000a16202b343d434749535353535353534b4a453f362d241a1107000000000000000000000000000000000009141e2730373d414246464646464646464646464646464646464646464646464646464646464646464643413e3830281e140a0000000000000000000000000000000000000000000e1a26313b4653606d7984919eabb5afaca3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3abadb3ac9f92867a6d6054473d3221160c0100000000000000000006121f2b3844505c6673808d97a2aba79f92877d726d6762605c545d565e61646a6f79818f95a0aba79f92867a6e61544a3f33281c0f0300000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180c0e101213131312100e0b08070502000000000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000003101c2936434f5c6976828f9c9c8f8275695c4f4236291c0f03000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000010910161b1e20202a3643505d69768390908376695d5043362a20201e1b161009010000000713202c38444f596063656565656565656565656565656565656565656565656565656565656e7b85929fa79f92867b6e655b5044372b1f12050000060f1921292f343738393939393939392e2d2a251e170e0500000000000000000000000000000000000000000000000000000000000000000000030d171f272d3236373939393939393932312e29231b12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4854606a7683909ca79d9083776b6054483b312d3a4653606d7985919ea79c8f82766a5f54453b3120170d00000000000815212e3b4854616e7b879298948f857e74818e9b9e9184786b5e5145382b1e120500000000000000000000030f1b27333f49536976838f9ca9a096887b6e6976838f9ca9a096887b6e616976838f9ca9a096887b6e6155483b2f24190d010000111e2a3744515d6a7784909da5988b7f7265544a413d3b424b545f6a75828f9ca89d9084776a5d514438342f271f150b010000000005121e2a36424d57626c737f8a92979f9f97918e8c8b8c8e91969e9f98928b80736d62584e43372b21160b0000000000000000000000000000000007101a232c363f495156586060606060606056544e463d32271b0f0300030f1b27323d464e545660606060606060585650483f362c2319100700000000000000000000000000000000020c151e262c3134353939393939393939393939393939393939393939393939393939393939393939393635322d261e160c0300000000000000000000000000000000000000000009141f2c3844505c6673808c99a3afbbb9b1acaa9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa7a9afb8bab1a79b8e8174685d5245392c201304000000000000000000000713202d3a4653606d7985929b9d9e9f958b7e716b605c5553514a504c5254585f676d78839099a3aea2988c8073665b5044382b1f120600000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312518191b1d1f1f201f1f1d1b181414110e080200000000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000003101d293643505c6976838f9c9c8f8276695c4f4336291c1003000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000010a131b21272b2d2d2d3643505d69768390908376695d5043362d2d2d2b27211b130a0100000915222f3b4854606b6f7272727272727272727272727272727272727272727272727272727272727e8b97a1a3989082776c605346392d201306000000070f171e24282b2c2d2d2d2d2d2d2d21201e19140d05000000000000000000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2d2d2d2d2d2524221d181109000000000000000000000105070810101010101010101010101010101010101010101008070501000000000000000000000000000000000915202c38434e5863707d8a95a0a095897c6f63574d423638444f5964717e8b97a1a095897d7063584e43332a1f0e0500000000000613202d394653606c787f86909597928a81818e9b9e9184786b5e5145382b1e120500000000000000000000000b17222d414e5b6874818e9ba7a8988c7f726874818e9ba7a8988c7f72656874818e9ba7a8988c7f7265554c4135291d11040000101c2936434f5c6976828f9ca79a8d8074665c524c4a4847464e5865717e8b98a49d9084776a5d51443729231d150d0300000000000714212d3a46535e69717e8b919fa297928b85817f7f8081848a9196a09f928c7f726a5f53473d32271b10010000000000000000000000000000061019222c353e48515b62656c6c6c6c6c6c6c6260584e43382b1f13060006131f2b38434e5860626c6c6c6c6c6c6c65625a50483e352b22190f0600000000000000000000000000000000030c141b212528292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292826211b140c040000000000000000000000000000000000000000000003101c28343f4a54616e7b87929facb9b1a7a0939393939393939393939393939393939393939393939b9ea5afb8aca095897c6f63564c4135291d1104000000000000000000000a1623303d495663707c898c8e9092979083786c6059514b464440434146474e555d666f7c86929facaa9e9184786c605346392d20130600000916222f3c4955626f7c8895a2afa4978b7e7164584b3e31252225282a2b2c2d2c2b2a282521201e19140f0a040000000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000003101d2a3643505d697683909c9c8f8376695c504336291d1003000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000009131c252c33373939393943505d69768390908376695d50433939393937332c251c13090000091623303c4956636f7c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f85919eaa9f948b7f7265584b3f3225180c00000000060d13181c1e1f202020202020201414110e08020000000000000000000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20202020202020181815110c0600000000000000000002080d1114141c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1414110d08020000000000000000000000000000030f1b27323d4653606c7884919da79b8f8275695f53463a3c4854606b7783909da89d9083776b6054463c3221180e00000000000006121f2b3844505b666c727c838c9299938e8e939e9e9184786b5e5145382b1e12050000000000000000000000061a2633404d596673808c99a6a99c8f82766773808c99a6a99c8f8276676673808c99a6a99c8f8276675d5145392c20130600000c1926333f4c5966727f8c99a59e9184796d605d5656555453505663707c8996a39d9084776a5d5144372a18120b03000000000006121f2b37434e58616e7b86929fa29792857e787473727374787d849095a09f92867c6e62594f44382c1e130800000000000000000000000000060f18222b343e47505a626d72797979797979796f6a6054473b2e221508000815222e3b4754606a6f79797979797979716c625a50473d342b21180f050000000000000000000000000000000002091015191b1c2020202020202020202020202020202020202020202020202020202020202020201d1c1915100a030000000000000000000000000000000000000000000000000c17232e3846525e6975828f9ca8b2aca095898686868686868686868686868686868686868686868e939ea9b4aa9d9084776b6054443a2f24190d01000000000000000000000814212e3b4754616e7b7e7f81838587887e71655b5045403a38343036393c434b545f6a75818e9baaada196897c6f6256493c2f23160600000916222f3c4955626f7c8895a2afa4978b7e7164584b3e312d2e32353738393939383735312e2d2a251f1b150d0701000000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000004101d2a3743505d6a7683909d9c908376695d5043362a1d1003000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000005101b252e373e434646464646505d69768390908376695d504646464646433e372e251b1005000e1b2734414e5a6774808b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b8b9197a1ada69b8e8175685b4f4235281c0f000000000002070c0f11121313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0e1010131313131313130c0b090501000000000000000000050d14191e202129292929292929292929292929292929292929292921201e19140d0500000000000000000000000000000a161f2b3744505b65717e8b96a19f93877b6e61554c41424e5763707d8995a0a0968a7e7164594f44342a200f06000000000000030f1c28333f4a545b606a6e787f8690959b9b9ea59e9184786b5e5145382b1e120500000000000000000000000b1825323e4b5865717e8b98a4ac9f92867a6d717e8b98a4ac9f92867a6d65717e8b98a4ac9f92867a6d6054473a2d22170b00000915222f3c4855626f7c88939ea0968c7f746d6865636261605c5f626f7b8895a29d9084776a5d5144372a1e07010000000000000815212e3a47535f6a76828f98a29f92857b716c66666566656c707a839099a3989083766b6054483a2f24190d010000000000000000000000050e17212a343d474f59616c727f868686868686867c6f6256493c2f231609000916232f3c4956626f7c868686868686867e716c61594f463c332a21170e05000000000000000000000000000000000004090c0e0f131313131313131313131313131313131313131313131313131313131313131313100f0d0905000000000000000000000000000000000000000000000000000006111c2a36424d5763707d8a96a1acaa9d9083797979797979797979797979797979797979797979818e9ba7aea2988b7f7265594f4332281e130800000000000000000000000714202d3a46525e696e71737476787a7c796d6053493f46464544423f3b3a39424e5863707d8998a2aea8998c7f7266594c3f2d22170b00000916222f3c4955626f7c8895a2afa4978b7e7164584b3e373a3b3f4143454646464543413e3b3936302b272018130c040000000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000004111d2a3744505d6a7783909d9d9083766a5d5043372a1d1004000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a16212c3740494f5353535353535d69768390908376695d5353535353534f4940372c21160a000e1b2734414e5a6774818d9898989898989898989898989898989898989898989898989898989898989ea1a9b3a89b8e8175685b4f4235281c0f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a2d2e3636363636363636363636363636363636363636362e2d2a251e170e0500000000000000000000000000030f1b27333f4953606d7984919ea4998d8074675d514547535f6a75828f9ca79e9184786d6053463d3320190e00000000000000000b17222d38424a50585f666d727c838c9299a0a79e9184786b5e5145382b1e120500000000000000000000000a1723303d4a5663707d8996a3aea3998a7d71707d8996a3aea3998a7d7164707d8996a3aea3998a7d7164544a3f33281c0f03000815212e3a47535f6a75828f97a29c918c807a7572706e6d6d666c6c6f7b8895a29d9084776a5d5144372a1e1104000000000003101c28343f4a54626f7c88949fa0958a7e7169605b5458535b60686e7b86929f9f95897d7063564c4135291d110400000000000000000000040d172029333c464f59616b717e88939393939791847a6d6154473a2e211407000714212e3a4754616d7a84919793939392877e706b60584e453c332920160d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a25303b4653606c7884919eabaca095897c6f6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7a86929facac9f92867a6d6054473d3221160c01000000000000000000000005111e2a36424d575e616466686a686d6f6d675d515152535352514e4c4847423c4653606c7885929faba89b8f82756853493f33271b0f03000916222f3c4955626f7c8895a2afa4978b7e7164584b3e4246484c4e505252535252504e4b4746413b373229241d160d0500000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000004111e2a3744515d6a7784909d9d9083776a5d5044372a1d1104000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000f1b27333e49525a5f60606060606069768390908376696060606060605f5a52493e33271b0f000e1b2734414e5a6774818d9aa5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5abadb3aca89b8e8275685b4f4235281c0f00000000000000020507080c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0b0906010000000000000000000000000000000000000000000000020d1720293036393b4343434343434343434343434343434343434343433b3936302920170d02000000000000000000000000000b17222d3844515c66727f8c97a29f92857a6d60544a4c56626e7b87939fa1978b7e72665c5044382b1f1207000000000000000006111c262f383f444e545c606a6f788087909593939184786b5e5145382b1e120500000000000000000000000815222f3b4855626e7b8895a99f9f9b8e81746e7b8895a99f9f9b8e8174666e7b8895a99f9f9b8e8174665b5044382b1f12060006121f2b37434e58616e7b8592979f9c928d86827f7d7b7a79797978787c8895a29d9084776a5d5144372a1e1104000000000006121f2b3844505c6674818d9aa69d9083786c6057504a4c4950565f6974818d9aa79b8e8175685d5245392c201306000000000000000000030d161f29323b454e58606b707d87929aa4a29791857b6e685e5246392d201307000713202d3946525e686e7b859197a2a39992867d706a60574e453b32281f160c030000000000000000000000000000060a0e1011131313131313130b0a08080b0d0e131313131313130e0d0b07030000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2b3844505b66727f8c99a3aea79a8d8174675c606060606060606060606060605765717e8b98a2aea79b8e8174685d5245392c201304000000000000000000000000020e1a25303b454d525457595b565d6062605d555c5e5f5f5f5f5d5b5955534d4644505b6576838f9ca9aa9e918477655b5044372b1f1205000916222f3c4955626f7c8895a2afa4978b7e7164584b464d5355585b5d5e5f605f5e5d5b5854524d47433d352f281f170f05000000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000004111e2b3744515e6a7784919d9d9084776a5d5144372a1e1104000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c7683909083766c6c6c6c6c6c6c6c645a4f43372b1e12000e1b2734414e5a6774818d9a9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9b8e8275685b4f4235281c0f000000000003090e12141519191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191816120d070000000000000000000000000000000000000000000008141e29323b4146474f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4746413b32291e14080000000000000000000000000006111b2834404a54606d7a85929fa2988b7f72665b50525e6874818d9aa49e9285796d60544a3f34281c10030000000000000000000a141d262d333c424a50585f666d737c838686868684786b5e5145382b1e120500000000000000000000000714202d3a4753606d7a8697939393939285796d7a8697939393939285796c6d7a8697939393939285796c605346392d20130600030f1b26313c46535e696f7c858f949c9f98928f8c898887868685858584919eaa9d9084776a5d5144372a1e110400000000000713202d3a4653606d7885929fa9988b7f72655b50443f3f3f444d57626f7c8897a19f92867a6d6054473a2d2114070000000000000000030c151f28313b444d575f6a6f7d869299a3a29892857c6f695f564c4135291d11050005111d2935414c565f696f7c859298a2a39892867c6f6a5f574d443a31281e150c020000000000000000000000040b11161a1d1e2020202020202018171514171a1b202020202020201a1a17130e08010000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a54616e7a86929facab9f9285796d60535353535353535353535353535f697683909caaaca095897c6f63564c4135291d11040000000000000000000000000009141f29333b4246474a4c4e4c52545c606366696b6c6c6c6b6a6865625f5753504a536773808d9aa6ac9f9286796c605346392d201306000916222f3c4955626f7c8895a2afa4978b7e7164585053575f6165686a6b6c6c6c6b6a6864615e56544e45403a312921170f050000000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000005111e2b3844515e6b7784919e9d9184776a5e5144372b1e1104000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000013202d3946535f6c767979797979797979839090837979797979797979766c5f5346392d2013000e1b2734414e5a6774808d9393939393939393939393939393939393939393939393939393939393939393939393938e8275685b4f4235281c0f00000000060d141a1e2122262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262525221e1811090100000000000000000000000000000000000000010d1925303b444c52545c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c54524c443b3025190d01000000000000000000000000000c18232e3945515d6773808d98a39e9184786c605354616d7a86929fa2988c7f73675c5142382e23170b00000000000000000000020b141c222830383f444e545c606a6f77797979797872685c5043372a1d1104000000000000000000000006131f2c3945515d677885868686868686867c6f7885868686868686867c6f677885868686868686867c6f6256493c2f23160900000a15202a36424d57606a6f7b828a8f9299999b9896959499929292919196a1aa9d9084776a5d5144372a1e110400000000000915222f3c4855626f7c8897a2a197887b6e6153493f332d333b4653606c7985929ea399897d706356493d3023160a00000000000000020b151e27313a434c565f696f7c859298a2a39992867d6f6a5f574d443a3025190d0100010d1925303a444d575f6a6f7d869299a3a29892857c6e695e564c433a30271e140a00000000000000000000050d151c2227292a2d2d2d2d2d2d2d2524211f2426272d2d2d2d2d2d2d2726231f19120b0200000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3846525e6875828e9ba8ada2978a7e7164574d42464646464646463f4a54626e7b88949fabaa9d9084776b6054443a2f24190d0100000000000000000000000000020d17202930363a3b404850565d60666d70737677787979787775726e6964605c545966727f8c99a5aea399877a6d6154473a2e211407000916222f3c4955626f7c8895a2afa4978b7e7164545c6064696e72747678797979787674716e68626058514b433b332921170d0300000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000005121e2b3845515e6b7884919e9e9184776b5e5144382b1e1105000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000013202d394653606c798686868686868686909494908686868686868686796c605346392d2013000e1b2734414e5a67748086868686868686868686868686868686868686868686868686868686868686868686868686868175685b4f4235281c0f000000060f181f262a2d2e3232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232312e29231b13090000000000000000000000000000000000000005111e2a36414c565e61696969696969696969696969696969696969696969615e564c41362a1e11050000000000000000000000000007121c2935414b55616e7a86929fa0968a7d7064585c66737f8c98a29f92857a6d60554b4030261c11060000000000000000000000020a11171e262e343c424a51585f626a6c6c6c6c6b6860564b3f33271b0f02000000000000000000000004101d2935404b55687378797979797979796f6a7378797979797979796f6a687378797979797979796f6a6054483b2e2215090000030e1a25313b454e5860696e767d8286898c8e8f90909191919292929399a4aa9d9084776a5d5144372a1e110400000000000b1825323e4b5865717e8b98a99e928578695f5341382d222b3744505b6575828f9cab998c7f7266594c3f3326190c000000000000000a141d263039434c565e686e7b859197a2a49a92877d706b60584e453b32281e130800000008131e28323b454e58606b707d879299a4a19791847b6e685e554b433930261c11060000000000000000040d171f272e3336373939393939393931302d2b303334393939393939393433302b241d140b010000000000000000000000000000000000000000000000000000000000000000000000000006111c2a36414c5663707d8996a0aca99c8f8276695e5246382d393939393844505c6673808d99a6aea2988b7f7265594f4332281e1308000000000000000000000000000000050e171f252a38404a525a61686d73797d8082848586868584817f7b77716d66605865717e8b98a4b4ab94887b6e6155483b2e221508000916222f3c4955626f7c8895a2afa4978b7e716460666d71777b7f8183858586858583817e7b756f6a605d554d453b33291f150b01000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000005121f2b3845525e6b7885919e9e9184786b5e5145382b1e1205000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000013202d394653606c7986939393939393939c9f9f9c9393939393939386796c605346392d2013000d1a26333f4c58646e747979797979797979797979797979797979797979797979797979797979797979797979797979756f65594d4034271b0e0000030d18212931363a3b3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3e3a342d251b11070000000000000000000000000000000000000714202d3946525e686e7676767676767676767676767676767676767676766e685e5246392d20140700000000000000000000000000000d18242f3a46525e6874818e99a49c9083766a60606d7984919ea3998d8073685d5243392f1e140a0000000000000000000000000000060c141c2328303940444e54555d606060605e5c564e443a2f23170b000000000000000000000000000c18242f39435761686b6c6c6c6c6c6c6c6260686b6c6c6c6c6c6c6c626061686b6c6c6c6c6c6c6c6260584e43382c1f130700000009141f29333c464e575f626c70757a7d7f8182838484848585858687939faa9d9084776a5d5144372a1e110400000000000e1b2734414e5a6774808d9aa79d9083766a574d422f261b27333f49536774808d9aa79b8f8275685c4f4235291c0f00000000000006111b262f38424b555d686e7a849197a1a49f93887e716b61594f463c332a20160c02000000020c16202a333c464f59616b717e87939fa3a19691847a6d675d554b42382e2317130a000000000000000b151f2931393f4244464646464646463e3d39363c3f4146464646464646413f3c362f261d120800000000000000000000000000000000000000000000000000000000000000000000000000000d1925303b4854606b7784919daaac9f93877b6e6153493f33272d2d2d3a4653606d7984919eabac9f92867a6d6054473d3221160c01000000000000000000000000000000020c16202c36404a525c646c717a8085898d8f9192929292908e8c88837e786f6a6264717d8a97a4aea195887b6e6255483b2f221508000916222f3c4955626f7c8895a2afa4978b7e71646a6f787e83888b8e909192939291908e8b86827c746d675e574d453b31271d1207000000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000005121f2c3845525f6b7885929e9e9185786b5e5245382b1f1205000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000013202d394653606c798689898989898989909595908989898989898986796c605346392d2013000b1724303c47525c64676c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c000009141f29333b4246484c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4c4a463f372d23180d0100000000000000000000000000000000000814212e3b4754616e7a8282828282828282828282828282828282828282827a6e6154473b2e211408000000000000000000000000000007131d2a36414c56626e7b87939f9f94887c6f6264717e8b97a19f92867b6e61564c4131271d0c02000000000000000000000000000000020a11171e272e343c434749515353535351504b443c32281d12070000000000000000000000000007121d2731454f575d5f6060606060606056545d5f606060606060605654575d5f6060606060606056544e463d32271b0f030000020e1a25313b454d5354575a6164686d7072747576777778787878797c8895a29d9084776a5d5144372a1e110400000000000f1c2936424f5c6975828f9ca89b8e8175685b4e42312817222d3f4c5865727f8b98a59d9083766a5d5043372a1d100000000000091217222d38414a545d676d7a839096a0a49c928b7f726c61594f473d342a21180e040000000000040e18212a343d464f59616c727f8b919ca4a0969083796d675c544a3f3428251c1209000000000006111c27313b434a4f51535353535353534b494541474c4e535353535353534d4c4740382f24190e030000000000000000000000000000000000000000000000000000000000000000000000000008141e2c38444f5965727f8c98a3aea4998c7f73655b5044372b1f2a36414c5663707d8a97a1ada79b8e8174685d5245392c2013040000000000000000000000000000000008131e28323e48525c646e737e858d9297999c9e9f9f9f9e9d9b9895908b847c726d64717d8a97a4aea295887b6f6255483c2f221509000916222f3c4955626f7c8895a2afa4978b7e716c717c838b9095989b9d9e9f9f9f9e9d9b99928f8781796e695e574d43392f23180c030000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000006121f2c3945525f6c7885929f9e9285786b5f5245382c1f1205000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1723303d4a5663707d7d7d7d7d7d7d7d839090837d7d7d7d7d7d7d7d7063564a3d3023170a0008141f2b36414a52585a60606060606060606060606060606060606060606060606060606060606060606060606060605b59534b41372c20140800020e1a26313b454d535559595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959595959585651493f34291e120600000000000000000000000000000000000815212e3b4854616e7b878f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f877b6e6154483b2e2115080000000000000000000000000000010e1925303b47535f6975828f9ba69b8e8175686b7783909da49a8e8174695e52443a301f150b000000000000000000000000000000000000060c151c232832373b3c444646464645433f3a322a20160c0100000000000000000000000000010b151f333d454c505253535353535353494850525353535353535349484c5052535353535353534948433d342b21160a00000005121e2a36424d575e6163646566676663666869696a6b6b6b6b6c6f7b8895a29d9084776a5d5144372a1e11040000000000101d2a3643505d697682909ca79a8d8174675a4e4134271b25313e4b5864717e8b97a49d9184776a5e5144372b1e110000000008121b2427333f49535c666d79829095a0a59d928c7f736d625a50473e352b22180f0600000000000000060f18222b343d47505a626d727f8c929da59f958f82796d665c504440372e241b1208000000000a16222e39434d555b5d606060606060605856504a52585a606060606060605a58524a40362b1f13070000000000000000000000000000000000000000000000000000000000000000000000000002101c27333d4754616d7a86929facab9e9184786c6053463a2f242d3946525e6875828f9ba9aca095897c6f63564c4135291d1104000000000000000000000000000000010d1925303a44505a646e73808a92979ea1a9a9a8a19e9c9b9a9b9d9f9d9591877f736e717d8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa4978b7e71717e8790959da09e9c9b9a9b9c9ea1a9aba39f9a938e847b6e695e554b4034292015090000000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000006131f2c3946525f6c7985929f9f9285786c5f5245392c1f1200000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000916222f3c4854606b70707070707070768390908376707070707070706b6054483c2f22160900030e1a242f3841474c4e53535353535353535353535353535353535353535353535353535353535353535353535353534f4d4841392f251a0f040005121e2a36424d575f616565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565625b51463a2e22160900000000000000000000000000000000000815212e3b4854616e7b87949c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c94877b6e6154483b2e21150800000000000000000000000000000008141e2b37424d57626f7c89949f9f92867b6e707d8995a09f93877c6f62574d4232281e0d0300000000000000000000000000000000000000030b121820262b2e2f37393939393837332f2820180f05000000000000000000000000000000030d212b333b404445464646464646463c3b4445464646464646463c3b404445464646464646463c3b38322b22190f040000000714212d3a46535e696e7071727374736d63545c5d5d5e5e5e5f626f7b8895a29d9084776a5d5144372a1e11040000000000111e2a3744515d6a7783909da69a8d8073675a4d4034271a24313e4a5764717d8a97a49e9185786b5e5245382b1f12000000060f1a242d363f44505b656d78828f949fa69e938d80746d635b51483e352c23191006000000000000000000061019222c353e48515b636d73808d939da59f948f81786d605c52493f362d241a0f060000000e1a27333f4a555f676a6c6c6c6c6c6c6c64625a525c64676c6c6c6c6c6c6c67645c52473c3023170b00000000000000000000000000000000000000000000000000000000000000000000000000000b16202d3946525d6875818e9ba7aca096897c7063554b4135292e3a4754616d7a86929facaa9d9084776b6054443a2f24190d0100000000000000000000000000000005111d2935414c56616c73808d929fa2a9aaa29f9996918f8e8d8e9092999d99928c8073717d8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa4978a7e717e8892999e9896918f8e8d8e8f92979b9fa4aca49f9691847b6e675c51453c31261a0e0200000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000613202c3946535f6c7986929f9f9285796c5f52462e23170b00000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000713202c38444f5960636363636363697683909083766963636363636360594f44382c201307000008131d262f363c3f41464646464646464646464646464646464646464646464646464646464646464646464646464642403d372f271e130900000714212d3a46535f696e72727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272726d62564a3e3125180b00000000000000000000000000000000000815212e3b4854616e7b8794a1a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a194877b6e6154483b2e211508000000000000000000000000000000020e1a26313c4754606a7683909ca3998c807375828f9ca69c8f82756a5f53453b3020160c00000000000000000000000000000000000000000000070c151b1f22222a2d2d2d2d2b2a27231d160f0600000000000000000000000000000000000f1921292f343738393939393939392f2e3738393939393939392f2e343738393939393939392f2e2c2721191007000000000815212e3b4854616e7b7d7e7f7f807f73665b50505151515256636f7c8996a29c8f8376695c504336291d10030000000000111e2b3844515e6b7784919ea6998c807366594d4033261a24303d4a5763707d8a96a39f9285796c5f5246392c1f130000030e18212c363f48515b606c77818e949ea69e948e81776c605b52493f362c231a1007000000000000000000000007101a232c363f49515b646e74818e939ea69e938e81746e635b51483f362c21180e030000101d2936424f5b67717779797979797979716c6258646e7479797979797979746e64584c3f33261a0d000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56636f7c8995a0aca89b8e8174675d5145392c37434e5865727f8b99a3aea2988b7f7265594f4332281e1308000000000000000000000000000000000713202d3946525e68717e8a929da4ada79f98928d88848281818183868b91959f928b7f727d8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa4978a7e7c86929a96918c8784828181818285898e939aa1a9a8a0969083796d60574e42372b1f140900000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000000000000000000000000000000006121f2b3844505c667986939f9f9286796c5f4a3f34281c1003000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000004101c27333d474f5456565656565d69768390908376695d5656565656544f473d33271c10040000010b141d242b30333439393939393939393939393939393939393939393939393939393939393939393939393939393534312c251e150c0200000815222e3b4855616e7b7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7265584c3f3225190c00000000000000000000000000000000000815212e3b4854616e7b87949f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e211508000000000000000000000000000000000915202b38434e5863707d8a95a09e9285797b87939f9f94897c6f63584e4333291f0e040000000000000000000000000000000000000000000000040a0f1315161e202020201e1d1b17120c05000000000000000000000000000000000000070f171e24282b2c2d2d2d2d2d2d2d23222b2c2d2d2d2d2d2d2d2322282b2c2d2d2d2d2d2d2d23221f1b160f0700000000000b1724313e4a5764717d8a8b8b8c8d86786c60544c4a494a4e5764717e8b97a49b8e8275685b4f4235281c0f020000000000111e2a3744515d6a7783909da6998d8073665a4d4033271a24313d4a5764707d8a97a39f9285786c5f5245392c1f1200000915202a333e48505a636d73808d939ea69f948f82786d655b504940372d241a11080000000000000000000000000008111a242d374049525c606d78818f949fa59d938d80736d635a50483e332a2015090000111e2a3744515d6a7783868686868686867e71645a677480868686868686868074675a4d4134271a0e0000000000000000000000000000000000000000000000000000000000000000000000000000010d1924303a4854606b7783909daaac9f92857a6d6054473c313b4754606a7783909dabac9f92867a6d6054473d3221160c0100000000000000000000000000000004111d2935414c56616d7a85929ea4aea79f959086807b7875747475767a7e848c939992867c7d8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa3978a7e839098938d847f7b777574747476797c81889297a1a9a89f958d80736a5f53473b30251a0e02000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000713202d3a4653606d79869aa49f938679665c5044382b1f1206000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b16212b353d44484a4a4a4a505d69768390908376695d504a4a4a4a48443d352b21160b00000000020b131a1f2426272d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d282725201a130c030000000a1724303d4a5763707d8a8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c86796c5f5346392c201300000000000000000000000000000000000815212e3b4854616e7b8793939393939393939393939393939393939393877b6e6154483b2e21150800000000000000000000000000000000030f1b27323d4653606c7883909da1978b7e808d9aa49c9083766b6054463c3121170d000000000000000000000000000000000000000000000000000003060809111313131312110f0b07010000000000000000000000000000000000000000060d13181c1e1f2020202020202016151e1f2020202020202016151c1e1f202020202020201615130f0a040000000000000814212e3b4754616e7a8793989998897d70665e56565657585f6975818e9ba7998c7f7266594c3f3326190c000000000000101d2a3643505d697682909ca79a8d8174675a4e4134271b24313e4b5764717e8a97a49e9184786b5e5245382b1f1200020f1a26313c46505a626d727f8c929da5a0959082796d665c53493f372e251b120800000000000000000000000000000008121b242e374044505c666d79828f959fa59c928c7f726c625a50463c31261a0f0200111e2a3744515d6a77849093939393938b7e71645a6774818d93939393938d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000000000000000000000000008131e2c38434f5965727f8b98a2aea2988b7e7165574d4237404b55626f7c8895a0aca79b8e8174685d5245392c201304000000000000000000000000000000000713202c3945525d6873808d97a1adaa9f9590837b736e6969686768676d71797f87929890837e8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa89b8e818e9593878079726e6969686768656c6f757d859297a2ada79f92877b6e62574d42362a1e1105000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0a49a86796d6053463a2d201307000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000050f19232b33383c3d3d3d43505d69768390908376695d50433d3d3d3c38332b23190f05000000000001080e14171a1b20202020202020202020202020202020202020202020202020202020202020202020202020201c1b18140f0902000000000a1724303d4a5763707d8a96989898989898989898989898989898989898989898989898989898989898989898989898989898989898989898989286796c5f5346392c201300000000000000000000000000000000000815212e3b4854616e7b8686868686868686868686868686868686868686867b6e6154483b2e21150800000000000000000000000000000000000a161f2b3744505b65717e8b96a19e918486929fa0958a7d7064594f43342a200f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002070c0f111213131313131313090911121313131313131309090f1112131313131313130909070300000000000000000714202d3946525e6875828f9aa49d9083786e6865636363656a6e7b86929f9f95887c6f6255483c2f2215090000000000000f1c2935424f5c6875828f9ba79b8e8174685b4e4130251a25323f4b5865727e8b98a59d9083776a5d5144372a1e110006121f2b37434e58616c717f8b919ca4a09690837a6d675d544a41382d251c1309000000000000000000000000000000000009121c2528343f4a545c676d79839095a0a49c918b7e716c61584e43372b1f120600111e2a3744515d6a7784909d9f9f9f978b7e71645a6774818d9a9f9f9f9a8d8074675a4d4134271a0e000000000000000000000000000000000000000000000000000000000000000000000000000000020f1b27323d4754606d7a86929facaa9c908376695f53473845515c6774808d9aa7aca095897c6f63564c4135291d1104000000000000000000000000000000000714212d3a4754606d7a85929fa9aea2989083796e69625f575b5a555d60666d737e8692958f828f9ca8afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afaa9e938e9393877e736d67615e575b5a535b60626b707c85929fa6afa3998e8175695e52463a2d201408000000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000714212d3a4754606d7a8793a0a093867a6d6053473a2d201407000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000005101a232c33393c3d3d3d43505d69768390908376695d50433d3d3d3c39332c231a10050000000000000003080b0d0e13131313131313131313131313131313131313131313131313131313131313131313131313130f0e0c08040000000000000a1724303d4a5763707d8a969f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9286796c5f5346392c201300000000000000000000000000000000000714212d3a46535e697679797979797979797979797979797979797979797976695e53463a2d2114070000000000000000000000000000000000030f1b27333f4953606d7984919ea096919298a29d9184786c6053463d3220180e0000000000000000000000000000000000000000000000000000020507080c1011131311100c0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c56626f7c87939f9f958f827a757270707072757c849198a39a9083766a5f53473a2e2115080000000000000e1b2734414e5a6774818d9aa79c90837669574d42362a1e2733404d5a6673808d99a69c8f8276695c4f4336291c10000814212e3a47535f6a717e87939fa3a19691847a6e685d554b42382f261b130a010000000000000000000000000000000000000a1317232e38424b555d676d7a839196a1a39f92877e716a5f53473a2e21140800111e2a3744515d6a7784909daaaca4978b7e71645a6774818d9aa7aca79a8d8074675a4d4134271a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000a16202c3945515d6774818e9aa7ab9f94887b6e62544a3f4653606d7985929fabaa9d9084776b6054443a3024190d0100000000000000000000000000000004111d2935414c5665727e8b98a2aeab9f92867b6e675e57534d4e4e4b51545c606c717e8a92948f949eaaafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afafa59e9b958c7f736c605c55524d4e4e49505359606a717e8a949fabab9f92877b6e6154473b3025190e020000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000714212e3a4754616d7a8794a0a093877a6d6054473a2d211407000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000b17222c363e44494a4a4a4a505d69768390908376695d504a4a4a4a49443e362c22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a93939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939286796c5f5346392c2013000000000000000000000000000000000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e12050000000000000000000000000000000000000b17222d3844515c66727f8c97a2a09e9fa2a1968b7e71655b5044372b1f120600000000000000000000000000000000000000000000000003090e121415191c1e1f1f1e1c191514120e090300000000000000000000000000000000000105090b0b1313131307060400000105090b0b13131313070604000000000000000000000000000000000000000000000000010d1925303b4754606a73808d939f9e948f86817e7d7c7d7f82879196a09f93887d6f63584e43372b1f12060000000000000b1825323e4b5865717e8b98a99e918578695e52463a2d232b37424d576875828e9ba79a8d8074675a4d4134271a0e000815222f3b4855626e7b869299a4a29891847b6e685e564c433930261d140a01000000000000000000000000000000000000000006111c263039434b555e686e7b849197a2a39992867b6e6255483b2f22150800111e2a3744515d6a7784909daab1a4978b7e71645a6774818d9aa7b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c55626f7c88959faba6998d8073665c50444d5764717e8a97a2ada2988b7f7265594f4332281e1308000000000000000000000000000000000713202c3945525d687683909caaaea3998c8073695e554d4742414140454a515a616c74808d979c9ea6b0afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb7afa89d9083786d605a514b464241413f44464f58616c76828f9ca9afa3998c7f7266564c41362a1e11050000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000814212e3b4754616e7a8794a1a094877a6d6154473a2e211407000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000004101c28333e48505557575757575d69768390908376695d57575757575550483e33281c10040000000000000000000000000000000000000000000000000000000000000000050a0d0f101313100f0d0a05000000000000000000000000000000000a1724303d4a5763707d8686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5346392c20130000000000000000000000000000000000020e1a25313b454d535f6060606060606060606060606060606060606060605f534d453b31251a0e0200000000000000000000000000000000000006111b2834404a54606d7a85929393939393939184796d6053493f33271b0f030000000000000000000000000000000000000000000002090e141a1e212226292b2c2c2b292521211e1a140e09020000000000000000000000000000060c111517182020201f1413100c070c111517182020201f1413100c07010000000000000000000000000000000000000000000008141e2b38434e58606d78818c92999f98928e8b89898a8b8f92999f98928b7f726b6054463c31261b0f030000000000000915222f3c4855626f7c8897a2a197877b6e6154483d342e303947535f697784919ea7978b7e7164584b3e3125180b000a1723303d4a5663707d8999a3ab9f92857b6f695e564c433a31271e150b02000000000000000000000000000000000000000000000a141e27303a434c565e696e7b85929faba398897d7063564a3d3023170a00111e2a3744515d6a7784909daaa89f978b7e71645a6774818d9aa7a09f9a8d8074675a4d4134271a0e00000000000000000000000000000000000000000000000000000000000000000000000000000000010d19242f3a47545f6a7783909da9ab9e9184796d605346525e6976828f9ca9ac9f92867a6d6054473d3221160c02000000000000000000000000000000000714212d3a4754606d7a86929facac9f92867a6d61574d433b37312f35394044505a606d7a85919eaab0b8afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb9ada1968a7d70665c5045403936302d33373d46505a63707d8a97a1adab9d908377685e5246392d2014070000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000815212e3b4854616e7b8794a1a194877a6e6154473b2e211408000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000814202d3944505a616464646464646976839090837669646464646464615a5044392d201408000000000000000000000000000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a0300000000000000000000000000000916232f3c4855616b707979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979746a5e5145382b1f1200000000000000000000000000000000000009141f29333b4246485353535353535353535353535353535353535353534846423b33291f140900000000000000000000000000000000000000000c18232e3945515d67738086868686868686867f72665c5141382d22170b00000000000000000000000000000000000000000000050d141a1f262a2d2e32363839393836322e2d2a251f19140d050000000000000000000000000911181d2124252d2d2d2c201f1c1812181d2124252d2d2d2c201f1c18120b03000000000000000000000000000000000000000000020f1b27323d44505c666d777f868e92999a9b98969696989b9a98928e867f726d62594f44342a20150a000000000000000713202d3a4653606d7985929fa9988b7e7165594f443f3f3f424c56616e7b8896a0a095877b6e6154483b2e211508000a1723303d4a5663707d8996a1a9a2988b7e716b61584e463c332920160d03000000000000000000000000000000000000000000030c161f29323c454e58606b717e87939fa9a196897d7063564a3d3023170a00101d2a3743505d6a7683909d9e9b93938b7e71645a6773808d9aa19393938d8074675a4d4134271a0e000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e2b37434e5865717e8b97a2ada1968a7d7063564c54616e7b87939faca79b8e8174685d5245392c20130400000000000000000000000000000000000a1724313d4a5764707d8a99a3afa99c8f8276685e52453b312b2624292e343e45525d68727f8c98a2aebaafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb7ab9e9184786c60544a3f342e2a2522272b343e4653606c7885919eabac9f93877a6e6154473b2e2114080000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000000000000000000000000000815222e3b4855616e7b8894a1a194877b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1623303c4955616c70707070707070768390908376707070707070706c6155493c3023160a0000000000000000000000000000000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d04000000000000000000000000000714202c38444f5961636c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6a62584d4135291d10000000000000000000000000000000000000030d17212931363a3b4646464646464646464646464646464646464646463b3a36312921170d03000000000000000000000000000000000000000007121c2935414b55636e737979797979797979726d62544a402f261b1106000000000000000000000000000000000000000000080e171f252a31363a3b3f4344464644433f3b3a36312a251f170e070000000000000000000009121b22292e3132393939392d2c29231d22292e3132393939392d2c29231d150d030000000000000000000000000000000000000000000a162028343f4a545c656c737b82868b8e909192929291908d8b86817b726d625b51473d3222180e040000000000000006121f2b3844505c6674808d9aa69c9083766b6157504a4c4c4e545d68737f8c99a89d908377695e53463a2d211407000814212e3b4754616e7a849197a2aa9f92877d706a60584e453b32281f150c0200000000000000000000000000000000000000020b151e28313b444d57606a707d879299a4a29791847a6e6154473b2e21140800101d293643505c6976828f9c938e8686867e7164596673808c9997898686868074675a4d4134271a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1b26323c4753606d7985929faba99b8e8275685d525966737f8c99a4aca095897c6f63564c4135291d110400000000000000000000000000000000000d1a2733404d5a6673808d99abb5ab988b7f7265564c4133291f1a181c232935414c56606d7a85929fabb8afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb6ac9a8d8073665b5042382e231d1a171b222b3744505b6574818e9ba7afa49a8a7e7164574b3e312418070000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000000000010406070c0b0a09080815222f3b4855626e7b8895a1a194887b6e6155483b2e22150808090a0b0c07070501000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724313d4a5764707d7d7d7d7d7d7d7d839191837d7d7d7d7d7d7d7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000030d161f272d32353639393635322d271f160d0300000000000000000000000004101c28333e474f5557606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5e5850473c3125190d00000000000000000000000000000000000000050f171f252a2d2e3939393939393939393939393939393939393939392e2d2a251f170f05000000000000000000000000000000000000000000000d18242f3a43525c63666c6c6c6c6c6c6c6c65625b5142392e1d140a00000000000000000000000000000000000000000009111a202930363b4246484c4f515252514f4c4846423b36302920191109000000000000000006111b242d343a3d3e464646463a38342f272d343a3d3e464646463a38342f271f150b010000000000000000000000000000000000000000040b17232e38424a535b60696e757a7e8183848586858483817e7a756e69625b51493f352b211006000000000000000003101c28343f4a54626e7b88949e9f94897d7069605c5458595860666d7a85929fa1978b7f7265574d42362a1e1205000714202d3946525e686f7c859298a3a39992867d6f6a5f574d443a31271e140a000000000000000000000000000000000000000a141d27303a434c565f696f7c869299a3a29892857c6f685e5246392d201407000f1c2935424f5c6875828f9b8e81797979716c625965727f8c989285797979746e64584c3f33261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3945515d6774808d9aa6ac9f92867a6d6154606b7784919eabaa9d9084776b6054443a3024190d010000000000000000000000000000000003101c28343f4a546975828f9ca8afa399887c6f6255493c3022170d0d1219242f3a45525d6875818e9ba8b4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afafa49a897d7063544a3f30261c120e0b0f1b27333f495364717e8b97abb5ac9a8d8073675a4d402e23180c0000101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000000001080d11131419181716151415222f3c4855626f7b8895a2a195887b6e6255483b2f22151415161718181413110d080200000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000013202d394653606c79868a8a8a8a8a8a8a919595918a8a8a8a8a8a8a86796c605346392d2013000000000000000000000000000000000000000000000000000000000a151f2831383e4243464643423e3831281f150a000000000000000000000000000b16212c353e44484a5353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353514d473e352a1f14090000000000000000000000000000000000000000050d141a1e21212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21211e1a140d05000000000000000000000000000000000000000000000007131d2831404a52585a6060606060606060595751493f30271c0b02000000000000000000000000000000000000000009121b232b333b42464d5355595c5e5f5f5e5c5854534d46423b322b231b1209000000000000010c18222d363f454a4b535353524745403931363f454a4b535353524745403931271d120700000000000000000000000000000000000000000006111c263038414950575f62686d71747778787978787674716d68615f5751493f372d23190f000000000000000000000b17232e3847535f6a75828f97a29e92857b716d66666566676a6f78828f97a29e9285796d6053473b31251a0e020005111e2a36414c565f6a6f7d869299a3a29892857c6e695e564c433930261c1106000000000000000000000000000000000006111c262f39434c565e686e7b859298a2a39992867d6f6a5f564c41362a1e1105000f1b2835424e5b6875818e9b9083766c6c64625a5865727e8b989386796d6c67645c52473c3023170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b55626f7b88949faba3998b7e726557636f7c8996a0aca2988b7f7265594f4332281e1308000000000000000000000000000000000006121f2b3844505c667884919eabac9f9286796d6053463a2d2013070008131e2935414c5664717d8a97a8b2afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afac9f93867a6d6053473a2d20140a00000b17222d3c4855626f7b8899a4afa99c8f837669554b4034281c100400101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000000000040c13191d20212524232221201f222f3c4955626f7c8895a2a295887b6f6255483c2f221f20212223242521201d19130c04000000000000000000000203101d2a3643505d69768390908376695d5043362a1d1003020000000000000013202d394653606c798693939393939393939393939393939393939386796c605346392d201300000000000000000000000000000000000000000000000000000005111c27313a434a4e505353504e4a433a31271c110500000000000000000000000005101a232c33383c3d464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464645413c352c23190e0300000000000000000000000000000000000000000003090e1214152020202020202020202020202020202020202020201514120e0903000000000000000000000000000000000000000000000000010c161f2e3840474b4d53535353535353534c4a463f372d1e150b000000000000000000000000000000000000000007111b242d353d454d52575f6165696b6c6c6b6965615e57524d443d352c241b1107000000000005111d29343f485056586060605f53514b43393f485056586060605f53514b43392f23180c000000000000000000000000000000000000000000000a141e262f383f444d53565e6165676a6b6c6c6c6b696764605d56534d453f372d251b11070000000000000000000006111c2b37434e58616e7b85929fa19792857e797573727274777c838f949f9e938b7e71675d514539291f14090000020e1925303b444e58606b707e87929fa3a29791847b6e685d554b42382e23171309000000000000000000000000000000091317222d38424b555d686e7a849197a1a39f92877d706b60584e443b3025190e02000d1a2633404d596673808c99918477695e5856505663707d89969a877b6e615a58524a40362b1f1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18242f3947535f6a7683909ca9ab9d908376695f6774818e9aa8ac9f92867a6d6054473d3221160c0200000000000000000000000000000000000713202d3a4653606d7986929facaa9e918477665c5145382c1f130600010d19242f3a4754616d7a8796a0acafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afaa9e918477675d5145392c20130200000613202d3a4653606d7986939facab9e918478675c5145382c1f130600101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000000040d161e24292c2d3231302f2e2d2c292f3c4956626f7c8995a2a295887b6f6255483c2f292c2d2e2f3031322e2d29241e160e0400000000000000050a0f12101d2a3643505d69768390908376695d5043362a1d10120f0a05000000000013202d394653606c798686868686868686868686868686868686868686796c605346392d20130000000000000000000000000000000000000000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a0000000000000000000000000008111a21282c2f3039393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393835312a231a11070000000000000000000000000000000000000000000000000205070813131313131313131313131313131313131313131308070502000000000000000000000000000000000000000000000000000000040d1c262e363b3f4046464646464646463f3e3a352d251b0c0300000000000000000000000000000000000000050e19232d363e474f575e61696e72767779797776726e69615e564f473e362c23190e04000000000915212e3a45505a62656c6c6c6c605c554b4045505a62656c6c6c6c605c554b4034291c1004000000000000000000000000000000000000000000020c141d262d333c42474c5254585b5d5e5f5f5f5e5d5a5854524c46423b332d251b13090000000000000000000000000f1a26313c46525e69717e8a939aa197928b8581807f7f80848890959f9f948e81756c62554b403529170d0300000008141e29323c464f59616c717e8b919ca4a19691837a6d675d544a3f3428251b12080000000000000000000000000008121b2528333f4a545c676d7a839096a0a49c918b7e716b61594f463c32291e140800000b1724313e4a5764717d8a9796877b6e6154474754616e7a8797978a7e7164544a4740382f24190e030000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37434e5864717e8a97a1ab9f95887b6e616d7985929faba79b8e8174685d5245392c2013040000000000000000000000000000000000000815212e3b4854616e7b8799a3afa99c8f827669544b4034281c100400000813202d3946525d687784919eaaafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa89c8f827569554b4035291d1104000006131f2c3845515c677884919eabac9f9386796d6053463a2d20130700101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000000010c161f282f35393a3f3e3d3c3b3a38352f3c4956636f7c8996a2a295887c6f6255493c2f34383a3b3c3d3e3f3a3935302820160c0200000000010910161b1e20202a3643505d69768390908376695d5043362a20201e1b1610090100000013202d3946535f6c767979797979797979797979797979797979797979766c5f5346392d20130000000000000000000000000000000000000000000000000000010d1a26323e4a545e66696c6c69665e544a3e32261a0d01000000000000000000000000000810161c2023242d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f191108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141c242a2f3233393939393939393932312e29231b130900000000000000000000000000000000000000020c17202b353e48505960696e747b7f8284858584827f7b746e69605950483e352b20160c020000000b1724313d4a56626c71797979796d675c51454a56626c71797979796d675c5145382c1f130600000000000000000000000000000000000000000000020b141b222731373a4146474b4e505152535251504e4b4745413a36312a211b1309010000000000000000000000000a15202a36424d57616c727f8892979f9e97928e8c8b8c8d90959d9f99938d82796d605a5043392f24180500000000020d17202a343d47505a626c737f8c929da5a0959082796d665c504440372d241a1107000000000000000000000007111a242d373f44505b666d79828f95a0a59d928c7f726c62594f463d342a20170d0200000815222f3b4855626e7b8897978b7e7164574d46525e697885929a8e8174665c5044382c261d12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010f1a26313c4653606d7985929eaca7998c7f7366717d8a98a2aca095897c6f63564c4135291d11040000000000000000000000000000000000000916222f3c4955626f7c8895abb5a79b8e8174685b4e412e23180c00000005111d2935414c566875828f9ba8afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa79a8d8174675a4e412f24180d01000004101c2834404b556a7683909da9afa49a887b6e6155483b2e22150800101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000008131e28313a4145474c4b4a49484745404443495663707c8996a3a295897c6f625649434440454748494a4b4b4746413a32281e1308000000010a131b21272b2d2d2d3643505d69768390908376695d5043362d2d2d2b27211b130a010000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e120000000000000000000000000000000000000000000000000000030f1c2935424e5a66707679797670665a4e4235291c0f030000000000000000000000000000050b1014161720202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1d19140e070000000000000000000000000000000000000000000002070a0c0d131313130e0d0b0803000407090a131313131006050300000000000000000000000000000000000000000000000000000000000000000000020a12191f2326272d2d2d2d2d2d2d2d2625221e181109010000000000000000000000000000000000000008131e29323d47505a626b707b81878c8f919292918f8b87817b706b615a50473d32281e13080000000b1825323e4b5865717e86868686796d6053474b5865717e86868686796d6053473a2d20140a0000000000000000000000000000000000000000000000020a11171f262b3035393a3e4144454546454543413e3a3935302a261f180f090100000000000000000000000000030e1a25303b45505a626d727e858d92989a9c9b9998999a9d9b99938f8780786d675c51483e31281d12070000000000050e18222b353e47505a636d74808d939ea69f948f82786d605c52493f362c23191007000000000000000000071019232c363f49525c606c78818f949fa69e938d80746d635a50473e342b22180e050000000713202d3a4653606d7985929b8f8275695f53464d566975828f9c9184796d6053463e31271d12070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151f2c3845515c6773808d9aa4aa9d9184776a75828e9baaaa9d9084776b6054443a3024190d010000000000000000000000000000000000000a1623303d495663707c8996a3afa69a8d8073675a4d4034271a07000000010d192430414d5a6774808d9aa7afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa6998c807366594d4033261a07000000000c18232e424f5c6975828f9ca8b6ac95887c6f6255493c2f22160900101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013060000000000000000010d19242f3a434c5154585756555453514b504f4e5663707c8996a3a296897c6f63564e4f504b5153545556575854524c443a3024190d01000009131c252c33373939393943505d69768390908376695d50433939393937332c251c130900000f1b27333e49525a5f60606060606060606060606060606060606060605f5a52493e33271b0f000000000000000000000000000000000000000000000000000003101d2a3643505d69768286868276695d5043362a1d1003000000000000000000000000000000000407090a131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131312100d090300000000000000000000000000000000000000000000070e1316191a202020201b1a18140f0b10141617202020201d13120f0b0600000000000000000000000000000000000000000000000000000000000000000000080e1317191a2020202020202020191816120d070000000000000000000000000000000000000000010d1925303a444f59626c717d858e92999c9a98989a9c99928e857d716c61594f443a3024190d0200000a1723303d4a5663707d8993988a7d7063574a4a5663707d8993988a7d7063574a3d31261b0f03000000000000000000000000000000000000000000000000060b151a1e25292d2e32343738393939383634312d2c29241e1a140e060000000000000000000000000000000009141f29333e48515b626c707a80858a8d909192939291908e8b87827c736d665c554b40362d1f160c01000000000000061019232c353f48515b606c78818e949fa69e948e81746e635b51483e352b22190f0600000000000000060f18222b353e48515b636e74808d939ea69f948e81776c605b51483f352c221910060000000006121f2b3844505c6675818e9b93877b6e61574d4b5864717e8b98978a7e7164594f43392f23180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616e7b87939faca095887b6f7985929faca3988b7f7265594f4332281e1308000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0a6998c807366594d4033261a0d00000000081926323f4c5965727f8c98a5afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa5988b7f7265584c3f3225190c00000000071b2835424e5b6875818e9ba8b0a396897d7063564a3d3023170a00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201306000000000000000004111d2935414c555d606564636261605d555d5c5b5a63707d8996a3a396897c70635a5b5c5d555c606162636465615d564c4135291d11050005101b252e373e434646464646505d69768390908376695d504646464646433e372e251b1005000a16212c3740494f535353535353535353535353535353535353535353534f4940372c21160a000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a12191f2325262d2d2d2d282724201a161c2022232d2d2d2d2a201f1b17110a0200000000000000000000000000000000000000000000000000000000000000000002070a0c0d13131313131313130c0b09060100000000000000000000000000000000000000000005111d2a36414c56606b717e8792979e96918d8c8c8d91969e9792877e716b60564c4135291e130800000815222f3b4855626e7b88959a8d817467584e4855626e7b88959a8d817467584e43372b1f12060000000000000000000000000000000000000000000000000003090e13191d202125282a2b2c2c2c2b2a272521201d19130e09030000000000000000000000000000000000020d17202c363f49515a61686d73797d8083848586858583817e7b756f6a605c544b43392f241b0d04000000000000000007101a232d364044505b666d79828f95a0a69d938d80736d625a50473d342a21180d040000000000040d18212a343d47505a626d73808c929da59f958f82786d655b50493f362d231a1007000000000003101c28343f4a5463707d8995998d8074695e534754606d7a86929d9083766b61554b4034291c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3946535f6976828f9ca9a7998c7f737d8a98a2ac9f92867a6d6054473d3221160c02000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5998c7f7266594c3f3326190c000000000b1825323e4b5865717e8b98a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000613202c3945515d676d7271706f6e6d676b6a69686766707d8a96a3a396897d70666768696a6b676d6e6f7071726d685d5246392d201307000a16212c3740494f5353535353535d69768390908376695d5353535353534f4940372c21160a0005101b252e373e4346464646464646464646464646464646464646464646433e372e251b1005000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000000000000010406070a0d10111213131211100d0a07060400000000030505060606060606000000000000000000000000000000000000040613131313131313131312110e0904000000000000000a131c242a2f3233393939393433302b2521272c2f3039393939372d2b27221b140b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68707d87929997918a84807f7f81848a92979992877d6f685d52453a3024190d01000714202d3a4753606d7a86979e9184786a5f534753606d7a86979e9184786a5f53473a2e21150800000000000000000000000000000000000000000000000000000002080d111314181b1d1e1f201f1e1d1b181413110d08020000000000000000000000000000000000000000050e1a242d373f4850565e61676d70747678797979787774716e68625f58504a423931271d12090000000000000000000008111b2428333f4a545c676d79839096a0a59c928b7f726c61594f463c332a1f160c01000000010c161f2a333c464f59616c727f8b929ca4a0969083796d665c53493f372e241b1108000000000000000b17232e394653606c7883909d92867b6e615a50515d6774818e99958a7d70675c5145382c1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2b37424d5764717d8a97a1aa9d908377818e9baaa79b8e8174685d5245392c20130400000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1a5988c7f7265594c3f3226190c000000000b1824313e4b5764717e8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa4978b7e7164584b3e3125180b000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000714212d3a4754606d797f7e7d7c7b7a79787776757473727d8a97a3a3968a7d72737475767778797a7b7c7d7e7f7a6d6154473a2e211407000f1b27333e49525a5f60606060606069768390908376696060606060605f5a52493e33271b0f000009131c252c33373939393939393939393939393939393939393939393937332c251c130900000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000000000000000001080d111314171a1d1e1f1f201f1e1c1a171413100c07010c0f111213131313131309090703000000000000000000000001070c10132020202020202020201f1d1a150f08000000000007121c252e353b3f404646464641403c362f2b33383c3d46464646433937332d261d140a00000000000000000000000000050a0d0f10131313130b0a0805050a0d0f10131313130b0a08050000000000000000000000000000000000000000000000000000000000000005111e2a36414c56616d7a8592999691857e7774727274787e8591969992857a6d60564c4135291d11040006131f2c3945515d677885929e96887b6f625548515d677885929e96887b6f6255483c3025190d0100000000000000000000000000000000000000000000000000000000010507070b0e111212131212100e0b07070401000000000000000000000000000000000000000000000008121b252d363e444c52555c606467696b6c6c6c6b6a6865615e56544e443f3830271f150b000000000000000000000000091217222d38424b555d676e7a849197a1a49f93887e716b60584e453b31281d130700000007131d28313b454e58606b717e87939fa4a19691847a6d675d544a41382d251c1209000000000000000006121f2b3744505b65717e8a94988f82756c61554c55616e7b8692939184796d6053473a2d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c4653606d7984919eaba095887b85929faba095897c6f63564c4135291d110400000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a5988b7f7265584c3f3225190c000000000b1724313e4a5764717d8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa4988b7e7165584b3e3225180b000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000815212e3b4854616e7b878a898887868584838281807f7e808d9aa7a79a8d807e7f808182838485868788898a887b6e6255483b2f22150800121e2b37434f5a646c6c6c6c6c6c6c6c7683909083766c6c6c6c6c6c6c6c645a4f43372b1e120000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a0100000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000000003090e13191d20212427292b2b2c2c2c2b292724201f1c18120e181c1e1f2020202020201615130f0a040000000000000000030b12181c1f2d2d2d2d2d2d2d2d2c2c2a2620191209000000020e19242e3740474b4d535353534e4c484138353d44484a535353535046443f382f261b110600000000000000000000030a1016191c1d20202020181714111016191c1d20202020181714110c0600000000000000000000000000000000000000000000000000000000000714202d3946525e6874808d979891847b716c676565656c717b849198978d8073685d5245392c2013070004101d2935404b556a7783909d998c7f7266564c4b556a7783909d998c7f7266564c41362a1d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b242c323a41464b5153575a5d5e5f605f5e5d5b5854524d47433c342e261e150d030000000000000000000000000006111c262f39434c555e686e7b859298a2a49a92877d706a5f574d433a2f24180d0100010d18242f3a434d575f6a707d869299a4a29791847b6e685e554b42392f261b130a000000000000000000030f1b27333f4953616c7682868686867d7064574a535e69748086868686807366594d4033261a0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2c3844505c6673808c99a4a79c8f828f97a2aa9d9084776b6054443a3024190d0100000000000000000000000000000000000000000b1824313e4b5764717e8a97a4b1a5988c7f7265594c3f3226190c000000000b1825313e4b5864717e8b97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa5988b7e7265584b3f3225180c000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130600000000000000000815212e3b4854616e7b8794969594989291908f8e8d8c8b8d929da9a99d928d8b8c8d8e8f9091929894959695887b6e6255483b2f2215080013202d3946535f6c767979797979797979839090837979797979797979766c5f5346392d2013000000010910161b1e202020202020202020202020202020202020202020201e1b161009010000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000000000060e141a1e24292c2d3033363738393939383634302d2c29231d1a24282b2c2d2d2d2d2d2d23221f1b160f07000000000000030d151d23292c3939393939393939393836312b241b1208000007131f2a354049525759606060605b59534a413d474f5456606060605d53504941382d22170b000000000000000000040d151b212628292d2d2d2d2423211d1b212628292d2d2d2d2423211d171008000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929f92867c6e69615a59535b60696e7c86929f92867a6d6054473a2d21140700000c18242f424f5c6875828f9b9c908376685e524f5c6875828f9b9c908376685e5246392d20130700000000000000000000000106090b0c13131313130d0c0a070200050a0d0f1013131313130a0907040000000000000000000000000000000000000000000000000000000000000109111a20283035394045474a4d505152535252504e4b4746413b373228231c150c030000000000000000000000000000000a141d27303a434c565f696f7c869299a3a39992867c6f695f554b4035291d11040004111d2935404b555f696f7c869298a3a39892857c6f695e564c433930271d140a01000000000000000000000b17222d3841505a66707679797979706c6155494d57646e7479797979736e63574b3f3225190c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54616e7b87939fac9e948f949ea9a3988b7f7265594f4332281e13080000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5998c7f7266594c3f3326190c000000000c1825323f4b5865727e8b98a5afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa5988b7f7265584c3f3225190c000000010e1b2834414e5b6774818e9aa7b0a4978a7d7164574a3e3124170b00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c20130600000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c20130600000000000000000815212e3b4854616e7b8794a1a2aaa29f9e9d9c9b9a99989a9da4aeaea49d9a98999a9b9c9d9e9fa2aaa2a195887b6e6255483b2f2215080013202d394653606c798686868686868686909494908686868686868686796c605346392d20130000000000050a0f1213131313131313131313131313131313131313131313120f0a0500000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000000000070f181f262a2f35393a3d404344454646454443403d3a38342f2a252f3437383939393939392f2e2c272119100700000000010b151f272f343846464646464646464645423d352d24190f04000a16232f3b47525c63666c6c6c6c67645d5346444f5960636c6c6c6c6a605b53493f33271b110600000000000000000d161f262d3235363939393931302d28262d3235363939393931302d28221a12080000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b99998c7f736a5f57504c4950575f6a73808d99988a7e7164574b3e3124180b0000071a2734414d5a6774808d9a9f93867a6d61544d5a6774808d9a9f93867a6d6154473a2e23180c00000000000000000000070d1216181920202020201a1917130e0a1015191c1d2020202020161613100b05000000000000000000000000000000000000000000000000000000000000080e161e25292f34383a3d4143454646464544413e3b3936302b262017110a0300000000000000000000000000000000020b151e28313b444d57606a707d87929aa4a29892857b6e675d5145392c201306000613202c3945515d676e7b859198a2a39992867d6f6a5f574d443a31281e150b02000000000000000000000006111b262f3e48545e66696c6c6c6c64615a504445525c64676c6c6c6c66635b52473b2f23160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17232e3846535e6975828f9ca8a69e9c9ea6ac9f92867a6d6054473d3222170b020000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a6998d8073665a4d4033271a0d000000000d192633404c5966737f8c99a6afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa6998c7f7366594c4033261907000000020f1b2835424e5b6875818e9ba8b0a3978a7d7064574a3d3124170a00101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c20130600000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c20130600000000000000000815212e3b4854616e7b8794a1aaa29f9e9d9c9b9a999796999ca4aeaea49c999697999a9b9c9d9e9fa2aaa195887b6e6255483b2f2215080013202d394653606c798693939393939393969696969393939393939386796c605346392d2013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000000030b1218212a31363a4145474a4d505152525352514f4d4a4745403936313a4044454646464646463c3b38322b22190f0400000007121d2731394045535353535353535353524e473f352b201509000c1925323f4b57636e7379797979746f64584e4854606b7079797979766c655b5044382d22170b0000000000000008111f2831383e4243464646463e3d393431383e4243464646463e3d39342c241a100600000000000000000000000000000000000000000000000000000f1c2835424f5b6875818e9b92867a6d61574e453f3f444e58616e7b87969b8e8174685b4e4135281b0e00000c1926323f4c5965727f8c98a4998b7e7164544a5965727f8c98a4998b7e7164544a4034281c100400000000000000010911181e2225262d2d2d2d2d2726231f19141b212628292d2d2d2d2d2322201c160f07000000000000000000000000000000000000000000000000000000000000040c13191d23292c2d31343638393939383735322e2d2a251f1b150c0600000000000000000000000000000000000000030c161f29323c454e58606b717e8893939393979184796d6053473a2d201407000714202d3a4753606d7984919793939392877e706b60584e453b32281f160c03000000000000000000000000000a141d2c36424c545a5c60606060575550483e414a52585a606060605957524940352a1e1307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2834404b545c66707d8a96a3b0aaa8aab0a79b8e8174685d544a3f33281d140a0000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afa79a8d8174675a4e4134271b08000000010e1b2734414e5a6774818d9aa7afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa79a8d8174675a4e412e23180c000000030f1c2936424f5c6975828f9ca8afa296897c6f6356493c3023160900101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d7a8693939393939286796c5f5346392c20130000000000000714202d3a4753606d7a8693939393939286796c5f5346392c20130600000000000000000815212e3b4854616e7b87949594989291908f8e8d8c8b8a8c929ca8a89c928c8a8b8c8d8e8f90919298949595887b6e6255483b2f2215080013202d394653606c79868989898989898989898989898989898d929386796c605346392d2013000000000000000105070810101010101010101010101010101010101010101008070501000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000000030c151c2328333b42464c5254575a5c5e5e5f5f5f5e5c5a5753514b46423b454c50525353535353534948433d342b21160a0000000c18232f39434b515f606060606060605f5e5951473d31261a0e000d1a2633404d596673808686868681746a5f534a5663707d8686868683776c6053493f33271b0f030000000000050f1a23313a42494e50535353534b49453e3a42494e50535353534b49453e362c22170c0000000000000000000000000000000000000000000000000000111d2a3744505d6a7783909d908377685e52453c33333c46525e697784919c8f8276695c504336291d1000000b1724313e4a5764717d8a97ab9b8e8275665c515764717d8a97ab9b8e8275665c5144382c1f12060000000000000009131b23292e3132393939393933322f2a241f262d3235363939393939302f2c272119110700000000000000000000000000000000000000000000000000000000000002080d12181c1f2024272a2b2c2d2c2b2a282521201e19140f0a04000000000000000000000000000000000000000000040d17202a333c464f59616c727f868686868686867b6e6154483b2e211508000815212e3b4854616e7b868686868686867e716c61594f463c332920160d040000000000000000000000000000020b1a24313a42494e50535353534a49443e363841474c4e535353534d4b4740372e24190e0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303945515c666d78808d99a6a3a0a0a1a4a89c8f82756c665b50443e2f261b110600000000000000000000000000000000000000000815222e3b4855616e7b8894a9b3a89b8f8275685c4f423025190e02000005121e2a36424d576976828f9ca9afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa89b8f827568544a4034281c1004000004101c2934404b556a7683909da9b4aa95887b6f6255483c2f22150900101d2a3643505d69768390908376695d5043362a1d1000000000000000000714202d3a4753606d798686868686868687796c5f5346392c140c0200000000000714202d3a4753606d798686868686868687796c5f5346392c20130600000000000000000815212e3b4854616e7b878a8887868584838281807f7e7d808c99a6a6998c807d7e7f80818283848586878889887b6e6255483b2f221508000a1723303d4a5663707d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d808d9386796c605346392d2013000000000002080d1114141c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1c1414110d080200000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000000000b151e272e343f454d53565d606366696a6b6c6c6c6b696763605c55534d444f575c5f60606060606056544e463d32271b0f030004101c2934404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d11000714202d3a4753606d7984919392877b6e62564c54606b75818e98958a7e71655b5044372b1f120600000000000b16212b35424c545a5c6060606057555048424c545a5c60606060575550483e34281d110500000000000000000000000000000000000000000000000000121f2b3845525e6b7885919b8f827568564c41332a2a36424d566976838f9c9184776a5e5144372b1e1100000916232f3c4956626f7c8995ab9f9285796d605356626f7c8995ab9f9285796d6053463a2d20130900000000000007111b252d353a3e3f4646464646403f3b352e2830383e424346464646463d3b38332b23190f050000000000000000000000000000000000000000000000000000000000000001070c101314171a1d1e1f201f1f1d1b181414110e0802000000000000000000000000000000000000000000000000050e18212b343d47505a626d727979797979797976695e53463a2d211407000714212d3a46535e697679797979797979716c625a50473d342a21170e050000000000000000000000000000000008121f2831383e4243464646463d3c39332c2f363c3f4146464646403f3b352e251c1207000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3943505a606d78828d929c9c97949394979d9e948e81786c60594f41382d22170b00000000000000000000000000000000000000000714202d3a4753606d7a8697a1ada99d9083766a564d41362a1e110500000714202d3a46525e697885919eabafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afaa9d908477665c5144382c1f1206000006131f2c3845515c677884919eabaea298877a6d6154473a2e21140700101d2a3643505d69768390908376695d5043362a1d10000000000000000006131f2c3845515c67767979797979797979756a5e52452e261e140a000000000006131f2c3845515c67767979797979797979756a5e5245382c1f120600000000000000000714212d3a4754606d797e7d7c7b7a7978767574737271727f8c98a5a5988b7f7271727374757678797a7b7c7d7e7a6d6054473a2d211407000916222f3c4854606b707070707070707070707070707070727e8b9386796c605346392d201300000000050d14191e202129292929292929292929292929292929292929292921201e19140d05000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000000007121c273039404451575f61686d7073767778797978777673706d67615e57505761686b6c6c6c6c6c6c6260584e43382c1f13070006131f2c3845515c67767979797979797979756a5e5245382c1f120006131f2c3845515c67707d8a95998e8275685e524f59616e7b86929d9184786c605346392d22170b0000000004101c27333d47545e66696c6c6c6c64615a5047545e66696c6c6c6c64615a5045392d21140800000000000000000000000000000000000000000000000000121f2b3845525e6b7884919b8f827568564c4135292a36414c566976828f9c9184776a5e5144372b1e1100000814212e3b4754616e7a8799a3a297897c70635654616e7a8799a3a297897c706356493d31261a0e0200000000010d18232d373f464a4c53535353534d4b474038303a42494e5053535353534948443d352b21160b000000000000000000000000000000000000000000000000000000000000000000000406070a0e101213131312110e0b08070502000000000000000000000000000000000000000000000000000000060f19222b353e48515b62656c6c6c6c6c6c6c6c5e574d42362a1e12050005121e2a36424d575e6c6c6c6c6c6c6c6c65625a50473e352b22180f050000000000000000000000000000000000000d161f262d3235363939393931302d2822242b3033343939393933322f2a241c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b55616c75818e949c94908a8786878a90959d938d80746b6153493f33271b0f030000000000000000000000000000000000000006131f2c3945515d677885919eabab9f928578685e5246392d20140600000815212e3b4854616e7b8797a1adafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afac9f9286796d6053463a2d20130900000714202d3a4753606d7a86939facac9f928579685e5246392d20130700101d2a3643505d69768390908376695d5043362a1d10000000000000000004101c2934404b555c6c6c6c6c6c6c6c6c6c6a6359443f3830261c110600000006111c263038404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d110400000000000000000613202c3945515d676d71706f6e6d676b6a696867666673808c99a6a6998c7f7366666768696a6b676d6e6f70716d685d5245392c201307000713202c38444f5960636363636363636363636363636365727e8b9386796c605346392d2013000000050e171e252a2d2e3636363636363636363636363636363636363636362e2d2a251e170e050000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000000000c18232e39424a515b63696e747a7d808384858586858482807d79746e69605b536873787979797979796f6a6054483b2e221509000714202d3a4753606d798686868686868687796c5f5346392c20130004101c2934404b55616b7683909d92867a6e615447525e6974808d9995897d7063544a3f33281c0f030000000714202c38444f5966707679797979716c61554f5966707679797979716c6155493d3023170a00000000000000000000000000000000000000000000000000111d2a3744505d6a7783909d908377685d52463c33333b46525e687784919c8f8276695c504336291d1000000613202d394653606c7986929fa99a8d8073675753606c7986929fa99a8d807367574d42372b1e12060000000006121e29353f4951575960606060605a57524a4038424c545a5c606060606056544f473d33271c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a232c363f49515658606060606060605f534d453b31251a0e0200020e1a25313b454d535f60606060606060585650483f352c2319100600000000000000000000000000000000000000040d151c212629292d2d2d2d2423201c171a1f2426272d2d2d2d2625231e19120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c67717e8b939c928c837d7a797a7e838e939d928a7d70655b5044372b1f12050000000000000000000000000000000000000004101d2935404b55697683909ca9ada297877a6e6154473b2d22170b0107111e2a36414d5665717e8b98a9b3afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afaea399887c6f6255493c31261a0d06030615222f3c4855626f7b8899a4afaa9d9084776a564c41362a1e110500101d2a3643505d69768390908376695d5043362a1d100000000000000000000c18232f39434b515f6060606060606060605f5e504a42382e23170b0000000b17232e38424a505e5f60606060606060605f5e5951473d31261a0200000000000000000004111d2935414b555d6064636261605d555d5c5b5a5a6774818d9aa7a79a8d8074675a5a5b5c5d555d6061626364605d564c4135291d11040004101c27333d474f54565656565656565656565656565865727e8b9386796c605346392d20130000020d1720293036393b4343434343434343434343434343434343434343433b3936302920170d0200000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000004101c2834404a545c606d727b81868a8d8f9191929292918f8d8a85807b726c655c6b78858686868686867c6f6256493c2f231609000714202d3a4753606d7a8693939393939286796c5f5346392c201300000c18232f39434f5964717e8a97998b7f7265554b4d56616e7b87929b8e8175665b5044382b1f12060000000916222f3c4854606b7682868686867e71645754606b7682868686867e7164574b3e3124180b000000000000000000000000000000000000000000000000000f1c2835424f5b6875818e9b92867a6d61574d453f3f454e57616e7a87939b8e8174685b4e4135281b0e000005121f2b3744505b657784919eaa9d918477695f535b657784919eaa9d918477695f53473a2d211408000000000916222e3a46515b62656c6c6c6c6c66635c52473e49545e66696c6c6c6c6c6360594f44382c201307000000000000000000000000000000020507080c10121312110f0c080705020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a242d373f464a4c535353535353534846423b33291f140900000009141f29333b424648535353535353534b4a453f362d231a1107000000000000000000000000000000000000000000030a1016191c1d20202020171614100b0e14171a1b202020201a1916130e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919e938c8076706d6d6e7178818e949d9083786c605346392d20130600000000000000000000000000000000000000000c18242f414d5a6774808d9aa7b3a9978a7d706453493f33271b100d1218252d3946525e6875828f9ca8b5afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb5ab998c7f7266574d42372b1f15120f121c2834404a5465717e8b98abb5a89b8e8175685b4e423025190d0100101d2a3643505d69768390908376695d5043362a1d100000000000000000040c131d2731394045534d545b60666c6c6c6c6c6a5c544a3f34281c10030003101c28343f4a545c6a6c6c6c6c6c66605b544d524e473f352019130c040000000000000000010d18242f3a434b51545857555453514b504f4e4f5b6875828e9ba8a89b8e8175685b4e4e4f504b51535455565854524c443a2f24190d0100000b16212b353d44484a4a4a4a4a4a4a4a4a4a4a4a4b5865727e8b9386796c605346392d2013000008141e29323b4146474f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4746413b32291e140800000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000000030e18212c3844515c666d757f878d9298999c9d9e9f9f9f9e9c9a98928d867f776d666679869293939393887b6e6255483b2f221508000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c2013000007121d27313e4653606d7984919d908376675d5146535e6975828f9b9285796c605346392d201306000006131f2b37434e5863707d8994998f82766c61555863707d8994998f82766c6155493d3023170a000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b99998c7f72695f57504c4c50575f6a73808c9a988a7e7164574b3e3124180b0000030f1b27333f49536976838f9ca9a096887b6e6155536976838f9ca9a096887b6e6155483b2f24190d010000000b1825313e4a57626d727979797979736e63574b424e5a6670767979797979706b6054483b2f2216090000000000000000000000000003090e121415191d1e1f1f1e1c181414110e080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008121b252d343a3e3f464646464646463b3a36312921170d03000000030d17212931363a3b464646464646463e3d3a342d241b1108000000000000000000000000000000000000000000000000050a0d0f10131313130a0a08040003080b0d0e131313130d0c0a0702000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96998e81756e64616061666d78828f9c95897c6f6256493c2f2316090000000000000000000000000000000000000000071825313e4b5864717e8b97a8b2a79a8d8074655b5044372b221c191d242a36414c56616e7b86929facb9afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb6a99c908376695f53473c3127201f1c1f232c3844515c6675818e9ba8b3a9988c7f7265594c3f322619080000101d2a3643505d69768390908376695d5043362a1d1000000000000001070e161e2529323b424651575f666c72797979797975665c5044382b1f12060006121f2b3844505c66757979797979726c665f575146423b3229251e160e07010000000000000007131d28313a4145474b4a4948474540434243505c6976838f9ca9a99c8f8276695c4f43424340454748494a4b4745413a32281e1308000000050f19232b33383c3d3d3d3d3d3d3d3d3d3d3d3f4b5865727e8b9386796c605346392d201300010d1925303b444c52545c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c54524c443b3025190d01000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000000915202c38434f59606d78818c92999fa2aaa9a8aaa29f9e9e9e9fa29f98928c81786d6d798699a39f9f94877a6e6154473b2e211408000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c2013000008121d262c3844505c6674818e9b92867a6d6053474d5765717e8b9897887b6e6255483b2f22150800000815212e3b47535f6a7683909d92867b6e615a535f6a7683909d92867b6e615a5045392d211408000000000000000000000000000000000000000000000000000814212e3b4754616e7a86929f92857b6e69615a59595a61696e7c86929f92867a6d6154473a2e2114070000000b17222d414e5b6874818e9ba7a8988c7f7265555b6874818e9ba7a8988c7f7265554c4135291d11040000000c1926323f4c5965727f86868686868073665a4d43505c69768286868686867d706356493d3023160a000000000000000000000002080e141a1e212226292b2c2c2b292521201e19140d0801000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e3132393939393939392e2d2a251f170f050000000000050f171f252a2d2e3939393939393932312e29221b12090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a6774818d9a93877b6e615c5453545c666f7c8997998c807366594d4033261a0d00000000000000000000000000000000000000000815212e3b4854616e7b8796a0acab9e9184786c6053463e342c2924292f353e46525e6873808c99a3aebbafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb7ab9f94887b6e62574e4339312d2b282b2e343f4953606d7985929fabada297897c6f6356493c302316090000101d2a3643505d69768390908376695d5043362a1d100000000000040c1318202830353e444d525b62696e787f8686868687796d6053463a2d201307000713202d3a4653606d7987868686867f786e69625b524d443e3530282018130c04000000000000010c161f282f35393a3e3d3c3b3a38352f3744515d6a7784909daaaa9d9083776a5d50442e2f35383a3b3c3d3e3a39352f2820160c0100000005101a232c33393c3d3d3d3d3d3d3d3d3d3d3d3f4b5865727e8b9386796c605346392d20130005111e2a36414c565e61696969696969696969696969696969696969696969615e564c41362a1e1105000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000000020e1a26313b4854606b74808d939fa3ababa49f9b979892919192939a989d9f938f82786d7a8794abb4a094877a6d6154473a2e211407000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300030e19242f3840474a5464717e8a9799897c6f6256494854616e7b8796978a7d7164574a3e3124170b00000916222f3c4955626f7c88959b8e8174695f5355626f7c88959b8e8174695f53483e34281d1105000000000000000000000000000000000000000000000000000714202d3946525e6874808d979891837b706c676565676c717b849198978d8073685d5246392d201307000000061a2633404d596673808c99a6a99c8f8276675d596673808c99a6a99c8f8276675d5145392c2013060000000d192633404c5966737f8c9393938d8074675a4d43505d6a7683909393938a7d7064574a3d3124170a00000000000000000000050d14191f262a2d2e32363839393836322e2d2a251e19130c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2d21211e1a140d0500000000000000050d141a1e21212d2d2d2d2d2d2d2524211d18110900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004060709090909090909090706030000000000000000000000000000000000000000000000000000000000000000000003101c2936434f5c6976828f9c908377695e5247464a54606a7885919b8e8175685b4e4235281b0f02000000000000000000000000000000000000000714212d3a46535e697784919eaaaca196897d70635a50463e38343035394045515b616e7a85929fabb2baafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afbdb0a69a8d81746a5f554b433c39383338393f44505b65717e8a97a2adab9f9285796d6053463a2d2013070000101d2a3643505d69768390908376695d5043362a1d1000000000070d161d2429323a414650565e616d727b828c929992877e71665c5044382b1f12060006121f2b3844505c66717e879399928c827b726d615e565046413a3229241d160d07000000000000040d161d24292c2d31302f2e2d2c292935404b556b7884919eabaa9e9184776b544a403428292c2d2e2f30312d2c29241e160d04000000000b17222c363e44494a4a4a4a4a4a4a4a4a4a4a4a4b5865727e8b9386796c605346392d2013000714202d3946525e686e7676767676767676767676767676767676767676766e685e5246392d201407000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000006121e2b37424e57636f7c87939fa5afa9a199938f8a878584848586888c90959e948d80747b8794a1ada093877a6d6054473a2d211407000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130007131f2b36404a52585a616e7b879a978a7e7164575055575e69788491998c7f7366594c403326190d0005121e2a36424d576673808d9994887c6f62574d576673808d9994887c6f62574d42362c22170c000000000000000000000000000000000000000000000000000005111e2a36414c56616d7a8592999591847d7774727274777e8591969992857a6d61564c4135291d11050000000b1825323e4b5865717e8b98a4ac9f92867a6d605865717e8b98a4ac9f92867a6d6054473a2d22170b0000010d1a2734404d5a6773808d9a9f9b8e8174685b4e44515e6a7784919d9f978a7e7164574b3e3124180b000000000000000000070e171f252a31363a3b3f4345464544423f3b39363029241e160d060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d12161819202020202020201514120e090300000000000000000003090e12141520202020202020181715110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c10131316161616161616161312100c06000000000000000000000000000000000000000000000000000000000000000004111d2a3744505d6a7783909c8f827569574d423a424e586a7783909c8f8276695c4f4336291c10030000000000000000000000000000000000000005121e2a36424d576673808d99a6b0a89c9083766c6258504745404241464b515a626d75818e989ea0a8b2afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afb5aba39f92877b6e675d554e4846443f44464a5059606c7883909da9b1a89b8e8175665c5044382b1f12060000101d2a3643505d69768390908376695d5043362a1d100000000710191f282f353e444c525a61696e767f8690949a93877e716c61544a3f34281c10030003101c28343f4a54616c717e87939a9490867f766e69615a524c443e352f281f191007000000000000040c13181d202125242221201f1f2c3845515d677985929facab9f928578665c5144382c1f1f202122232521201d19130c040000000004101c28333e485055575757575757575757575757575865727e8b9386796c605346392d2013000814212e3b4754616e7a8282828282828282828282828282828282828282827a6e6154473b2e211408000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000814212e3a47535f6a76828f9aa4afaba1979287827d7a79787778797b7f838a9196928a7e7b8895a1ada093867a6d6053473a2d201407000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000b1723303c47525c64676c6d798693998c7f7266595a61646c6c7683909b8e8174685b4e4135281b0e000714212d3a46535e697884919c8f82766a5f53535e697884919c8f82766a5f53453c31241a10060000000000000000000000000000000000000000000000000000020e1925303b46525e68707d87929996918a84807f7f81848a91979992877d70685e52443a3024190d010000000a1723303d4a5663707d8996a3aea3998a7d71645463707d8996a3aea3998a7d7164544a3f33281c0f0300010e1b2734414e5a6774818d9aa79b8e8275685b4f45515e6b7884919ea5988b7e7265584b3f3225180c0000000000000000081019202930363b4246484c50515252514f4b4746413b352f282018100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c13131313131313080705020000000000000000000000000002050708131313131313130b0b09050100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b12181c1f202323232323232323201f1c17110a0300000000000000000000000000000000000000000000000000000000000003101d293643505c6976838f9c908376675d51464446535f697884919b8e8275685b4f4235281c0f0200000000000000000000000000000000000000020e1a25313b4855626e7b88949eacab9f948b7e716a615a53514b4e4c52555d606c727f8b93969196a0acafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afafa39992999083796d6760585553504a5053545c606b727f8b95a0acaca095897d7063544a3f34281c10030000101d2a3643505d69768390908376695d5043362a1d100000040f19222b313a41454f565e616c717b828b92989a93887e716c615a5042382e23170b0000000b17232e3842505a616c717e88939a98928b827b716c615e564f45413a312b22190f0400000000000001070d111314181716151414202d3a4753606d7a8698a2aeaea29886796d6053463a2d201314151617181413110d080100000000000814202d3944505a61646464646464646464646464646465727e8b9386796c605346392d2013000815212e3b4854616e7b878f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f877b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000815222f3b4855626e7b88949facaea39992857d75716e686b6b666d6e72767d84909492857d8996a3aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000d1a26333f4c58646e7479797985929a8d8073675a616c71797979828f9b8f8275685c4f4235291c0f000815212e3b4854616e7b8796988c7f7265584e54616e7b8796988c7f7265584e433b33291f140900000000000000000000000000000000000000000000000000000008141e2a36414c56606b717e8792989e96918d8c8c8d91969e9892877e716b60564c4132281e1308000000000815222f3b4855626e7b8895a99f9f9b8e8174665b626e7b8895a99f9f9b8e8174665b5044382b1f120600020e1b2835414e5b6874818e9ba79c8f8276695c4f45525f6b7885929ea5988c7f7265594c3f3226190c0000000000000008111a222b323b41464d5355595c5e5f5f5e5c5854524c45413a322a2219100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c151d23282c2d30303030303030302d2c28231c150c030000000000000000000000000000000000000000000000000000000000020f1b2835424e5b6875818e9b92867a6d605a5351535b616e7b88969a8d8073675a4d4034271a0d0100000000000000000000000000000000000000000914212e3a47535f6975828f9aa4afa69f92867d716c64605c555b565d61676d737e8792989184919eaaafa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afac9f928692958f81796f6a6462605b545b6062666d727d87929fa7b0a69d9184786c605346392e23170b000000101d2a3643505d69768390908376695d5043362a1d1000000a16212b343d434b515961686d757e858f949f9f93887f716c625a50483e30261c110600000006111c26303e48505a626c717f88939f9f948f857e756d686159514b433d342b21160a0000000000000000010406070b0a09080815212e3b4854616e7b8794aab4b3aa94877a6e6154473b2e21140808090a0b07070401000000000000000a1623303c4955616c707070707070707070707070707070727e8b9386796c605346392d2013000815212e3b4854616e7b87949c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c94877b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000000d192633404c5966737f8c99a6b0ac9f92877c6f6b64615e56545c6062656c707a8290949083909daaaca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a67748086868689979a8d8174675a64717e8686868f939c8f8276695c504336291d10000a1724313d4a5764707d8a9798887b6e6255525764707d8a9798887b6e6255524d453b30251a0e020000000000000000000000000000000000000000000000000000020d1925303a444f59626c717d868e93999c9a98989a9c99938e857d716c62594f443a3020160c02000000000714202d3a4753606d7a8697939393939285796c60606d7a8697939393939285796c605346392d20130600020f1c2935424f5c6875828f9ba89c908376695d5044505b667985929fa6998c807366594d4033261a0d00000000000006101a232c343d444d52575f6165696b6c6c6b6965615e56524c443c342b22190f0500000000000000000000050a0d0f1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100f0d09040000000000000000000000050a0d0f1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100f0d090400000000000000000b151e272e34383a3c3c3c3c3c3c3c3c3a38342e261e150a0000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b98988d80736d63605c60636d75818e9b97897d7063564a3d3023170a00000000000000000000000000000000000000000006121e2b37424d57626f7c87939fa7aea29892867e76706d67686869686d72798088929992867e8a97a4afa295887c6f6255493c2f221609000916222f3c4955626f7c8895a2afa6998c7f8c93938f837c76716e6c666b666c6e72787f879299a3aea99f948a7e71665b5044382b1c1106000000101d2a3643505d69768390908376695d5043362a1d1000030f1b27323d464e555d606b707a818a92979f9b918b7f726d625a50483e362c1e140a00000000000a141e2c363e48505a626d727f8b919b9e97928a817a706b605d554e463d32271b0f030000000000000000000000000000000915222f3c4855626f7b8895a2aeaea195887b6e6255483b2f2215080000000000000000000000000000000a1724313d4a5764707e7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d808d9386796c605346392d2013000815212e3b4854616e7b8794a1a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a194877b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d1003000000000000000005111e2a36424d576976838f9ca9b1a79a8d80736a605954524c4a5053555a61676d798290959095a0abaca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d939393a19a8e8174675b64717d8a93939b9e9d9083766a5d5043372a1d10000c1926333f4c5966727f8c999285796a63615e5766727f8c999285796a63615e574d42362a1e110500000000000000000000000000000000000000000000000000000008131e29323d47505a626b707b81878c8f919292918f8c87817b706b625a50473d32281e0e04000000000006131f2c3945515d677885868686868686867c6f625d677885868686868686867c6f6256493c2f2316090003101c2936434f5c6976828f9ca99d9084776a5d514653606c798698a3a69a8d8073675a4d4034271a0d0100000000020c18222c353e474f565e61696e72767879787775726e68605d564e463d342b21170b0200000000000000030a1016191c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1c1b1915100a0200000000000000030a1016191c1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1c1b1915100a02000000000007121d273039404546494949494949494946443f3830261c110600000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929f93887f756f6d666d7076808c939e9185796d6053463a2d201307000000000000000000000000000000000000000000020e1a26313c4754606a74818d95a0a9aaa298928a827d7977757575777a7f848d939a948c7f7c8895a2afa295897c6f6256493c2f231609000916232f3c4956626f7c8995a2afa296897d818e96959087827e7b79787778797b7f848c9299a3abaaa2978f82776c60544a3f33281c0a00000000101d2a3643505d69768390908376695d5043362a1d100007131f2c38434e5860676d747d858e939fa29b918b7f726d625a50483f362d241a0c020000000000020c1a242d363f48505a626d727f8b919ba29f938e857d746d6760584e43382c1f13070000000000000000000000000000000a1623303d495663707c8996a3acaca296897c6f6356493c3023160900000000000000000000000000000013202d394653606c79868a8a8a8a8a8a8a8a8a8a8a8a8a8a8a8d929386796c605346392d2013000815212e3b4854616e7b87949f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000714202d3a46525e697885929fabaca095877b6e61584f4746413f44464850555d676e7b85929da0a7b1aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9a9fa0a79b8e8174685b64717d8a979fa8aa9d9084776a5d5144372a1e11000e1a2734414d5a6774808d9a91847770706e695e6774808d9a91847770706e695e52463a2d201407000000000000000000000000000000000000000000000000000000020d17202b353f48505961696e747b7f8284858584827f7b746e69615950483f352b20160c00000000000004101d2935404b55687378797979797979796f6a6055687378797979797979796f6a6054483b2e2215090003101d2a3643505d697683909ca99e9184776b5e514754606d7a8793aaa79a8d8174675a4e4134271b0e01000000000a141e2a343e474f5960686e747b7f8384858584827e7a736d685f584f473d33291d140a000000000000040d151c2126292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292825211b140c040000000000040d151c2126292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292825211b140c04000000000c18232e39424b5153565656565656565653504a42382e23170c00000000000000000000000000000000000000000000000000000000000713202d3946525e6873808c959a938b817c7978797d828c929c948b7e71665c5145382c1f13060000000000000000000000000000000000000000000009151f2b37434e58606d79839197a0a8aaa29f948f8a868382818284878b91969f958f82787b8894a1aea296897c6f6356493c3023160900091623303c4956636f7c8996a2aea295887c7a84919899938f8b888685848486888c91969fa3aba9a29892857b6e655b5042382d22170b00000000101d2a3643505d69768390908376695d5043362a1d10000915222e3b4854606a6f79818a91979ea39c918c7f726d625b51483f362d241b12080000000000000008121b242d363f48515b626d727f8c919ca39e97918a81796f6a6054483b2e2215090000000000000000000000000000000b1724313e4a5764717d8a979f9f9f9f978a7d7064574a3d3124170a00000000000000000000000000000013202d394653606c798693939393939393939393939393939393939386796c605346392d2013000815212e3b4854616e7b8793939393939393939393939393939393939393877b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000814212e3b4754616e7b8798a2aeaa9d908377695e53463d393634383a3e434c555e69717e8b97a1adb9aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9aa7b3a79b8e8174685b64717d8a97a4b0aa9d9084776a5d5144372a1e11000f1b2835424e5b6875818e9b91847d7d7d7b6e616875818e9b91847d7d7d7b6e6154473b2e21140800000000000000000000000000000000000000000000000000000000050e19232d363f474f575e61696e72767779797776726e69615e574f473f362d23190e05000000000000000c18242f39435761686b6c6c6c6c6c6c6c6260585761686b6c6c6c6c6c6c6c6260584e43382c1f13070004111e2a3744515d6a7784909daa9e9285786b5f4a4754616e7a8794a1a89b8e8175685b4e4235281b0f0200000006111c26303c464f59616b6f7a81878c8f919292918f8b86807a6f6a60594f453b2f261b110600000000030d161f262d323536363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363635312c261e160c02000000030d161f262d323536363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363635312c261e160c02000004101c2834404b545c606363636363636363605c544a3f34281c10030000000000000000000000000000000000000000000000000000000005111d2935414c56606d798390969f938e89868586898f949c958f82786c60544b4034281c100400000000000000000000000000000000000000000000030f1b27323d45515d676e7b8591969fa4aca69f9c9892908f8e8f90939a9e9f9490837a6d7a8794aab4a396897c706356493d3023160a000a1623303d495663707c8996a3aca194887b6f7d8692989f9c9799929291919298989ea0a8aba69f9792867d70695f53493f2f261c110600000000101d2a3643505d69768390908376695d5043362a1d10000916232f3c4956626f7c848e9393939393918c7f726d625b51493f362d241b120900000000000000000009121b242d363f49515b626d727f8c9193939393938e847c6f6256493c2f2316090000000000000000000000000000000c1825323f4b5865727e8b9393939393938b7e7165584b3e3225180b00000000000000000000000000000013202d394653606c798686868686868686868686868686868686868686796c605346392d2013000815212e3b4854616e7b8686868686868686868686868686868686868686867b6e6154483b2e211508000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d10030000000000000000091623303c4956636f7c8996aab4a79a8e817467574d42342d2a282b2d313a434d57606d7985929eabb8aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9aa7aca79b8e8174685b64717d8a97a4acaa9d9084776a5d5144372a1e11000f1c2936424f5c6975828f9c95918989897e72656975828f9c95918989897e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000007111b242d353e454d52575f6165696b6c6c6b6965615f57524d453d352d241b1107000000000000000007121d2731454f575d5f6060606060606056544e4f575d5f6060606060606056544e463d32271b0f030005111e2b3844515e6b7784919eaa9f928579665b504855616e7b8894a1a89b8f8275685c4f4235291c0f020000000b17232e38424e58616b707d858e92999c9e9f9f9e9c98928d847c6f6b60574d41382d22170b000000000a151f2831383e42434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343413d3830281e140a0000000a151f2831383e42434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343413d3830281e140a000006131f2c3845515c666d6f6f6f6f6f6f6f6f6d665c5044382c1f120600000000000000000000000000000000000000000000000000000000010d1925303a45515d676e7a848f949d9b99929292999c9d938e83796d665b5042392e23180c0000000000000000000000000000000000000000000000000a15202935414b555f696e7b848e939a9fa3aaaaa39f9d9b9b9c9d9f9f99928d827a6d6d798698a29f9f96897d7063564a3d3023170a000a1723303d4a5663707d89969f9fa49a877a6d707d8690959da0a39f9e9e9e9fa3aaa9a8a69f9c948f857d706b60574d41382d1d140a0000000000101d2a3643505d69768390908376695d5043362a1d10000e1b2734414e5a67748186868686868686867f736d635b51493f372d241b1209000000000000000000000009121b242d373f49515b636d737f86868686868686868174675a4e4134271b0e0000000000000000000000000000000d192633404c5966737f86868686868686867f7265594c3f3226190c00000000000000000000000000000013202d3946535f6c767979797979797979797979797979797979797979766c5f5346392d2013000714212d3a46535e697679797979797979797979797979797979797979797976695e53463a2d211407000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f31261e1c1f2028313b45515c6673808d99aab4aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9a9f9f9f9b8e8174685b64717d8a979f9f9f9d9084776a5d5144372a1e1100101c2936434f5c6976828f9ca09d96968b7e72656976828f9ca09d96968b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000009121b232c333b42464d5355595c5e5f5f5e5c5955534d46423b332c231b1209000000000000000000010b151f333d454c505253535353535353494843454c5052535353535353534948433d342b21160a000005121f2b3845525e6b7885919eaba29886796c60534955626f7c8895a2a99c8f8376695c504336291d1003000003101c28343f4a545f6a707d8692979fa3ababacabaaaaa39f9691867d6f695e53493f33271b0f03000005101c26313a42494e50505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504f4e49423a30261b10040005101c26313a42494e50505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050504f4e49423a30261b1004000713202d3a4653606d787c7c7c7c7c7c7c7c786d6053463a2d201307000000000000000000000000000000000000000000000000000000000008131e2935404b555e686e7a828a919598999a999795908981796d675d544a3f30271d1207000000000000000000000000000000000000000000000000040d18242f3a434d575f696e7981878e92989a9c9e9f9f9f9e9d9a98928e8680786d6866798592939393938a7d7164574a3e3124170b000b1724313e4a5764717d8a939393939386796d6b707c838b9195989b9d9e9f9f9f9e9d9b9894908a827b706b60594f453b2f261b0b020000000000101d2a3643505d69768390908376695d5043362a1d10000d1a2733404c58646e747979797979797979736d635b51493f372d251b12090000000000000000000000000009121b252d373f49515b636d737979797979797979746e64584c4033271a0d0000000000000000000000000000000c1825323e4b57636d737979797979797979726d63574a3e3125180c000000000000000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c645a4f43372b1e120005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e1205000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1824313e4b5764717e8a97a4b0a4978a7d7164574a3e3124171012161f2834404b54626f7c8998a3aeaca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d93939393938e8174685b64717d8a93939393939084776a5d5144372a1e1100101d293643505c6976838f9ca9aaa3988b7e72656976838f9ca9aaa3988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000009111a212930363b4246484c4f515252514f4c4846423b363029211a11090000000000000000000000030d212b333b404445464646464646463c3b383b404445464646464646463c3b38322b22190f04000005121f2b3744505b657985929facaa93877a6d60544956636f7c8996a2a99d9083766a5d5043372a1d1004000006121f2b3844505c666f7c869298a1a9afb5b7b8b8b7b4aea8a19892857b6e655b5044372b1f140900000a16212d38424c545a5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5a544c42382c211509000a16212d38424c545a5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5a544c42382c211509000815212e3b4854616e7b87898989898989877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000020c18242f39434c565e686d777e84888b8c8d8c8b87837d746d675d554b42382d1e150b000000000000000000000000000000000000000000000000000007131d28313b454d575f676d747c81868a8d8f9192929291908d8a86817b736d665e6a77838686868686867e7165584b3e3225180b000b1825323e4b5865717e868686868686857866606a6e787e84888c8e909192929291908e8b88837d766e6960594f473d33291d140a000000000000101d2a3643505d69768390908376695d5043362a1d10000b1824303c48535c64676c6c6c6c6c6c6c6c66635b51493f372d251b130900000000000000000000000000000009131b252d373f49515b63666c6c6c6c6c6c6c6c67645c53483c3024180b0000000000000000000000000000000a16222f3b46515b63666c6c6c6c6c6c6c6c65635b51463a2e2216090000000000000000000000000000000f1b27333e49525a5f60606060606060606060606060606060606060605f5a52493e33271b0f00020e1a25313b454d535f6060606060606060606060606060606060606060605f534d453b31251a0e02000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825313e4b5864717e8b97a4b0a396897d7063564a3d3023170a060d18232e3a4653606d7986929facaca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a677480868686868686868174685b64717e8686868686868683776a5d5144372a1e1100101d293643505c6976838f9ca9b1a5988b7e72656976838f9ca9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000080f171f252a31363a3b3f4344464644433f3b3a36312a251f170f08000000000000000000000000000f1921292f343738393939393939392f2e2c2f343738393939393939392f2e2c27211910070000000613202d394653606c7986939faca194877a6e61544a5663707d8996a3aa9d9184776a5e5144372b1e070000000713202d3a4653606d78839198a2aab3bbc0c4c5c5c4bfbab2aaa1979083776c6053463b31261a0e02000d1926323e49545e66696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969655e54493d3125190d000d1926323e49545e66696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969696969655e54493d3125190d000815212e3b4854616e7b87949696969694877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000007121d27313b444c565d656c71777b7e80807f7e7b76706b605c554b43392f261c0c030000000000000000000000000000000000000000000000000000010c161f2a333b454d555d606a6f757a7d8183848586858583817e7a746e69605c54677177797979797979716c62564a3d3124170b000b1724313d4a56626c71797979797979787368585f666d71777b7f8183858586858583817e7b76706b615e574f473d352b21180b02000000000000101d2a3643505d69768386868376695d5043362a1d10000814202b36414a53585a60606060606060605957514940372e251b1309000000000000000000000000000000000109131b252e37404951575960606060606060605a58534a41362b20140800000000000000000000000000000006121e2a3540495157596060606060606060595751493f352a1e12060000000000000000000000000000000a16212c3740494f535353535353535353535353535353535353535353534f4940372c21160a000009141f29333b4246485353535353535353535353535353535353535353534846423b33291f140900000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa296897c6f6356493c302316090007131f2c3845515c667683909da9aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000d1a26333f4c58646e7479797979797979746f6459616c71797979797979797771675b4f4236291d1000101d293643505c6976838f9ca9aca5988b7e72656976838f9ca9aca5988b7e7265584b3f3225180c000000000000000000000000000000000000000000000000000000000000000000050d141a1f262a2d2e32363839393836322e2d2a261f1a140d050000000000000000000000000000070f171e24282b2c2d2d2d2d2d2d2d23221f24282b2c2d2d2d2d2d2d2d23221f1b160f07000000000714202d3a4753606d7a869aa4afa195887b6e62554a5764707d8a97a3ab9e9184786b5e51452f23180c000006121e2b37424e5765717e8b95a0aab4bcc5cbd1d2d2d0cbc4bcb3a99f958a7e7164574d42362a1e1205000f1c2935424e5a667076767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767670655a4e4135281b0f000f1c2935424e5a667076767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767670655a4e4135281b0f000815212e3b4854616e7b8794a1a2a2a094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000010b151f29323b444c535b6064696e71737473716e69636059514b433931281d140a00000000000000000000000000000000000000000000000000000000040d18212a333b434b51585f62686d71747678787979787674716d67615f5750555f676a6c6c6c6c6c6c65625a50453a2e211509000915212e3a45505a62656c6c6c6c6c6c6b686157545c60646a6e72757778787979787675726e69636159534d453d352b23190f06000000000000000f1c2935424e5a66707679797670665a4e4235291c0f00030f1a252f3841484c4e53535353535353534c4b4640372e251c1309010000000000000000000000000000000000010a131c252e3740464b4c53535353535353534e4c4841382f251a0f03000000000000000000000000000000020d19232e3740464b4c53535353535353534c4a463f372d23180d0100000000000000000000000000000005101b252e373e4346464646464646464646464646464646464646464646433e372e251b10050000030d17212931363a3b4646464646464646464646464646464646464646463b3a36312921170d0300000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090004101c2834404b546875828f9ba8aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000b1723303c47525c64676c6c6c6c6c6c6c68645d535a61646c6c6c6c6c6c6c6a675f554a3f33271a0e00101d293643505c6976838f9c9f9f9f988b7e72656976838f9c9f9f9f988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000003090e141a1e212226292b2c2c2b292622211e1a140e090300000000000000000000000000000000060d13181c1e1f20202020202020161513181c1e1f202020202020201615130f0a0400000000000814212e3b4754616e7a8794a1b6a295887c6f62554b5864717e8b97a4ab9f9285786c554b4034291c1004000814212e3a47535f6a7784919ea7b1bcc5cfd7dcdfdedcd6cec5bbb1a79d908377695f53463a2d21140700101d293643505c697683838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838276695c4f4336291c1000101d293643505c697683838383838383838383838383838383838383838383838383838383838383838383838383838383838383838383838276695c4f4336291c10000815212e3b4854616e7b8794a1aeada094877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000030d172029323a41495053575f626566676664615e57544f45403931281f160b020000000000000000000000000000000000000000000000000000000000060f182129313a40454e53565d606467696b6c6c6c6b6a6764605d55534d444d555b5e606060606060585650483f34291d11050005111d29343f485056586060606060605f5c574f4a5153585f6265686a6b6c6c6c6b6a6865615f57554f46423b332b2319110700000000000000000d1a26323e4a545e66696c6c69665e544a3e32261a0d000008131d262f363c40414646464646464646403e3b352e251c130a0100000000000000000000000000000000000000010a131c252e353b3e40464646464646464641403c362f261d1308000000000000000000000000000000000007121c252e353b3e4046464646464646463f3e3a352d251c1107000000000000000000000000000000000009131c252c33373939393939393939393939393939393939393939393937332c251c130900000000050f171f252a2d2e3939393939393939393939393939393939393939392e2d2a251f170f050000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000c18232e414e5b6874818e9ba7aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130007131f2b36404a52585a606060606060605b59534b505557606060606060605d5b554d43392e22160a00101d293643505c6976828f93939393938b7e72656976838f93939393938b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000003090e121415191c1e1f1f1e1c191514120e09030000000000000000000000000000000000000002070c0f1112131313131313130909070c0f11121313131313131309090703000000000000000815222e3b4855616e7b8894a1aca396897c7063564b5865727e8b98a5ac9f928679675c5145382c1f1306000815222f3b4855626e7b8896a0acb9c3ced7e1e8ebebe7e0d6cdc2b8aca095887b6e6155483b2e2215080013202d394653606c79868f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f86796c5f5246392c1f130013202d394653606c79868f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f86796c5f5246392c1f13000815212e3b4854616e7b8794a1aeada094877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000050e1720282f383f44464d535558595a595854534d48443d342f271f160d0400000000000000000000000000000000000000000000000000000000000000060f181f282f353c43474c5254575a5c5e5f5f5f5e5d5a5754514b46423b444a4f515353535353534b4a453f362d22180c0100010c18222d363f454a4b53535353535352504c454044464e5355595b5d5e5f5f5f5e5d5b5855534d48443e363129211911070000000000000000000a16222d38434c545a5d60605d5a544c43382d22160a0000010b141d252b303334393939393939393933322f2a231c130a01000000000000000000000000000000000000000000010a131c232a2f323339393939393939393433302b251d140b010000000000000000000000000000000000000a131c232a2f3233393939393939393932312e2a231c130a000000000000000000000000000000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2b27211b130a010000000000050d141a1e21212d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d21211e1a140d05000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f2316090000071a2734404d5a6773808d9aa6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300030e19242f3840474c4d535353535353534e4d484145494a53535353535353514f4a433b31271c110600101d293643505c697682868686868686867f7265697682868686868686867e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000020507080c1011131311100c0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b88959f9f9f968a7d7063574c5965727f8c989f9fa399867a6d6053473a2d201407000c1825323f4b5865727e8b98a8b2bdccd5e0e9f3f9f8f2e8dfd4c8bcb1a7988b7e7165584b3e3225180b0013202d394653606c7986939c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9286796c5f5246392c1f130013202d394653606c7986939c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9286796c5f5246392c1f13000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000050e161d262d33373c4247484b4d4d4c4b4846423b383329231d150d04000000000000000000000000000000000000000000000000000000000000000000060d161d242932373a4145474a4e505152535252504e4b4745413a3631393f43444646464646463e3d3a342d241b110600000006111b242d343a3d3e4646464646464544403b34383c4347484c4e505252535252504e4b4846423b38332a251f170f070000000000000000000005111c27313a434a4e505353504e4a433a31271c1105000000020b131a202427272d2d2d2d2d2d2d2d2625231e19120a010000000000000000000000000000000000000000000000010a12191e2325262d2d2d2d2d2d2d2d272724201a130b0200000000000000000000000000000000000000010a12191e2225262d2d2d2d2d2d2d2d2625221e18110a0100000000000000000000000000000000000000010910161b1e202020202020202020202020202020202020202020201e1b161009010000000000000003090e1214152020202020202020202020202020202020202020201514120e090300000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000008121d262f363c3f414646464646464641403c37393c3e4646464646464644423f3931291f150b00000f1c2835414e5a66707679797979797979726d6266707679797979797979726d62564a3d3124180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c8993939393938a7e7164574c5966737f8c9393939393877a6d6154473a2e211407000d1a2633404d596673808c99a6b3bfced9e7f2fbfffffaf1e4d9cebfb3a6998c807366594d4033261a0d0013202d394653606c7986939f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9285796c5f5246392c1f130013202d394653606c7986939f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9285796c5f5246392c1f13000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000040b141b22272b31373a3b3e4041403e3b3a36312c272118120b030000000000000000000000000000000000000000000000000000000000000000000000040c131820262b2f35393a3e4143454546464543413e3a39352f2a262e33363739393939393932312e29221b1209000000000009121b22292e31323939393939393837342f282c31373a3b3f4244454546464543423f3b3a36312c28211a140d050000000000000000000000000a151f2831383e4243464643423e3831281f150a000000000001080f14181a1b2020202020202020191916120d07000000000000000000000000000000000000000000000000000000070d1216191920202020202020201b1a18140f080100000000000000000000000000000000000000000000070d121618192020202020202020191816120d070000000000000000000000000000000000000000000000050a0f1213131313131313131313131313131313131313131313120f0a0500000000000000000000000205070813131313131313131313131313131313131313131308070502000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130000010b141d242b303334393939393939393534302b2d3031393939393939393736332e271f170d0400000d1926323e49545e66696c6c6c6c6c6c6c65625b5e66696c6c6c6c6c6c6c65625b51453a2e2215090000000000000000000000000000000000000000000000000000000000000000050a0d0f10131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d868686868686867e7165584d5a677380868686868686867b6e6155483b2e221508000e1b2734414e5a6774818d9aa7b4c0cddae7f7fffffffff5e7dacdc0b4a79a8d8174675a4e4134271b0e0013202d394653606c79869393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939285796c5f5246392c1f130013202d394653606c79869393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939285796c5f5246392c1f13000815212e3b4854616e7b87939393939393877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f262b2e2f32333433312e2d2a251f1c160c07010000000000000000000000000000000000000000000000000000000000000000000000000001070d151b1e24292c2d31343638393939383734312d2c29241d1a22272a2b2d2d2d2d2d2d2524211d181109000000000000000911181d2124252d2d2d2d2d2d2c2b28241c1f262b2e2f32353738393939383735322e2d2a261f1c170e090300000000000000000000000000030d161f272d32353639393635322d271f160d030000000000000003080b0d0e13131313131313130d0c0a0602000000000000000000000000000000000000000000000000000000000002060a0c0d13131313131313130e0d0b08030000000000000000000000000000000000000000000000000002060a0c0d13131313131313130c0c09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000000020b12191f2326272d2d2d2d2d2d2d282724202123242d2d2d2d2d2d2d2a2927221c150d050000000915212d38424c545a5c60606060606060585651545a5c60606060606060585651493f34291d1105000000000000000000000000000000000000000000000000000000000000030a1016191c1d20202020181714110c060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855606b7079797979797979716c62564b58646e737979797979797976695f53463a2d211407000d1a2733404d5a6673808d99a6b3c0cfdae6f3fcfffffbf2e9d9ccc0b3a6998d8073665a4d4033271a0d0013202d394653606c79868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5246392c1f130013202d394653606c79868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686796c5f5246392c1f13000815212e3b4854616e7b86868686868686867a6d6154473a2e21140700000000000000000000000000000000000000000000000000000000000000000000000000060b0f151a1e2122252627262521211e1a14100b050000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13191d20212427292b2c2c2c2b2a272421201d18130e171b1d1e202020202020181715110c06000000000000000000060c111517182020202020201f1e1c1810151a1f212226282a2b2c2c2c2b2a282522211e1a14100b0500000000000000000000000000000000040d151c2226292a2d2d2a2926221c150d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060712131313131311110e0b0601000000000000000000000000060a0e1011131313131313100f0d0a050000000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130000000001080e13171a1a202020202020201b1a1814141717202020202020201e1d1a16110b040000000005101b26303a42494e50535353535353534b4a45494e50535353535353534b4a453f372d23180c010000000000000000000000000000000000000000000000000000000000040d151b212628292d2d2d2d2423211d17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f5960636c6c6c6c6c6c6c65625a5047525c64676c6c6c6c6c6c6c6c5f574d42362a1e1205000c1925323f4c5865727f8b98a9b3bec9d5e1eaf4f9f8f3e9e0d5c9bdb2a8988b7f7265584c3f3225190c0013202d3946535f6c7679797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797974695d5144382b1f120013202d3946535f6c7679797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797974695d5144382b1f12000714202d3a46525e6976797979797979797976685e5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181a1a19181514120e090300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001080d111314171b1d1e1f201f1f1d1b181413110d07010b0e10111313131313130b0b09050100000000000000000000000105090b0b13131313131312110f0c040a0f121415191b1d1f1f201f1f1d1b181514120e090300000000000000000000000000000000000000030a11161a1c1d20201d1c1a16110a030000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111112131312110f0c0908060300000000000000000406070b0f1213131211100e0c0b09060100000000000000000000000000000000000000000000000000000406070a0d0f11121313131212100e0c09060603000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c1012131f20202020201e1d1b17120c04000000000000000000040b11161a1d1e2020202020201d1c1916100a03000000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300000000000003070b0d0e131313131313130e0e0c08080a0b1313131313131311100e0a06000000000000000a141e2830383e4143464646464646463f3d3a3e4143464646464646463f3d3a342d241b11060000000000000000000000000000000000000000000000000000000000000d161f262d3235363939393931302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c27333d474f55566060606060606058565048404a52585a606060606060605f534d453b31261a0e0200091623303c4956636f7c8997a1adb9c4cfd9e2e8ebebe7e1d7cec6b9ada196887c6f6255493c2f22160900121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6962584d4135291c1000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6962584d4135291c100005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000020608080b0d0e0d0b0807050200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407070b0e101212131312100e0b07060401000000020404060606060606000000000000000000000000000000000000000000060606060606050503000000020608080c0f111212131312100f0c080705020000000000000000000000000000000000000000000000050a0d0f101313100f0d0a05000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191515120f0a0401000000070c101313181c1e1f201f1e1d1b181815120d060000000000000000000000000000000000000000000001070c10131416191c1d1f1f20201f1e1d1b191613120f0b060000000000000000000000000000000000000000000000000000000000000000000000000000030a11171c1f202c2d2d2d2d2d2b2a27231d160e0600000000000000050d151c2227292a2d2d2d2d2d2d292926211c150d040000000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c161e262d3235363939393939393932312e3235363939393939393932312e29231b120900000000000000000000000000000000000000000000000000000000000008111f2831383e4243464646463e3d39342c241a1006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b16212c353d44484a535353535353534b4a453f3840474b4d535353535353534846423b33291f140900000613202d394653606c7885929ea9b3bdc7d0d8dddfdedcd7cfc6bcb2a89e9184776c605346392d201306000f1b27333e49525a5f60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5d5850463b3025190d000f1b27333e49525a5f60606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605f5d5850463b3025190d00020e1a25303b454d525f60606060606060605f524c443a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212125282a2b2c2c2c2b2a282622211f1b15110d08030b12181c1f2025292b2c2c2c2b2a272524221d18110901000000000000000000000000000000000000040a0f12181c1f202326282a2b2c2c2c2c2b2a282523201f1c17110f0a0300000000000000000000000000000000000000000000000000000000000000000000030c151c23282c2d3939393939393837332e2820180e040000000000040d171f272e3336373939393939393635322d261f160d0300000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300000000000002070a0c0d131313130e0d0b080303070b0d0e131313130d0c0a06020000000000000000000000040c141b212628292d2d2d2d2d2d2d2524222628292d2d2d2d2d2d2d2524221d181109000000000000000000000000000000000000000000000000000000000000050f1a23313a42494e50535353534b49453e362c22170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f1a232c33383c3d464646464646463e3d3a342e363b3f40464646464646463b3a36312921170d03000006121f2b3844505b6673808c97a1abb5bdc5ccd2d2d2d1cbc4bcb4aaa0968c7f72655b5044372b1f1205000a16212c3740494f53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535352514d463e342a1f1408000a16212c3740494f53535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535352514d463e342a1f1408000009141f29333b42464853535353535353535346413a32281e13080000000000000000000000000000000000000000000000000000000000030608091313131313120707050100000000000000000000000000000003060809131313131313131313131313131313131313131313131313130b0a080400000000000000000000000000000306131313131313131308070502000000000000000000000005080a0b13131313130e0d0b0803000000000000000000000306080913131313131313130603000000000000000000000000000004090c0e0f13131313131313130908060300000000000000000000000000000000000000000000000000000000020507081213131313131313100706040000000000000000000000000000000000060c161b1f252a2d2e31343738393939383735322f2e2b26201d19130c151d23282c2d32353839393838363432312e29231b130900000000000000000000000000000000040a0f161b1d23292c2d303335373839393939383635322f2d2b28221c1b150e090300000000000000000000000000000000000000000000000000000000000000000a151e262e34383a45464646464644433f39322a20160c01000000000b151f2931393f424446464646464643423e3831281f150a00000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130000000000070e1316191a202020201b1a18140f0e13171a1a20202020191916120d070000000000000000000000030a1015191c1d20202020202020181815191c1d20202020202020181815110c06000000000000000000000000000000000000000000000000000000000000000b16212b35424c545a5c60606060575550483e34281d11050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21272c2f303939393939393932312e29242a2f3334393939393939392e2d2a261f170f06000000030f1c28333f4a54606d79859199a3abb3bbc0c4c5c5c4bfbab2aaa2989184796d6053493f33271b0f030005101b252e373e434646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464644413b342c22180d020005101b252e373e434646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464644413b342c22180d020000020d17212930363a3b4646464646464646463936302820160c02000000000000000000000000000000000000000000000000000000040a0f12151520202020201f1413110d08020000000000000000000000040a0f12151520202020202020202020202020202020202020202020202020171714110c0500000000000000000000060c101220202020202020201514120e090200000000000000060c1114171820202020201b1a18140f0801000000000000040a0f131516202020202020202012100c060000000000000000000002090f15191b1c20202020202020201615130f0a0400000000000000000000000000000000000000000000000002090e1114141f202020202020201d1312100c0700000000000000000000000000030a111720272b31363a3b3e4144444546464544423f3c3b37322c29241e191e272e34383a3e42454646454443413f3d3a342d251b11060000000000000000000000000000060b151b21272c2f34383a3d40424445464646454543413f3c3938332d2b26201a150b0600000000000000000000000000000000000000000000000000000000000006111c2630383f4446525353535353514f4b443c32281d120600000006111c27313b434a4f51535353535353504e49423a31261c1005000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000000010a12191f2325262d2d2d2d282724201a1a1f2426272d2d2d2d2625231e19120a01000000000000000000000005090d0f10131313131313130c0b090d0f10131313131313130c0b0905010000000000000000000000000000000000000000000000000000000000000004101c27333d47545e66696c6c6c6c64615a5045392d2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f161c2023232d2d2d2d2d2d2d2524211d191f2326272d2d2d2d2d2d2d22211e1a140d0600000000000b17222d3845515d67707d879299a2aaafb6b7b8b8b7b4aea8a19892867c6f665c5141382d22170b00000009131c252c3337393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393835302a221a100600000009131c252c3337393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393835302a221a100600000000050f171f252a2d2e39393939393939392e2d2a251e160e05000000000000000000000000000000000000000000000000000000060e151b1f21222c2d2d2d2d2c21201d19130c04000000000000000000060e151b1f21222d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2423211c17100800000000000000030a11171c1f2d2d2d2d2d2d2d2d21201e1a140d0500000000000810171d2123242d2d2d2d2d272724201a130b0200000000070f151b1f22222d2d2d2d2d2d2d2d1f1c17110a0300000000000000030c141b202528282d2d2d2d2d2d2d2c22211f1b150e0700000000000000000000000000000000000000000000050d141a1e20212c2d2d2d2d2d2d2d2a201f1c18120b0300000000000000000000030c151c232832373b4246484b4e505152535252504e4c4847433c39352f28222b30394045464b4f5152535251504e4b4a463f372d23180d010000000000000000000000020a111720262b323839404547494c4f50525253535251504e4c4946443f3837312b262017110a02000000000000000000000000000000000000000000000000000000000c17232e38424a50535f60606060605e5c564e44392e23170b0000000a16222e39434d555b5d6060606060605c5a544c42382d21160a000000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130000000a131c242a2f3233393939393433302b25242b3033343939393933322f2a231c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f5966707679797979716c6155493d3023170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020181715110e1317191a202020202020201514120e090300000000000006111c2935404b55606b717e8792989fa4acabacabaaaaa39f9691867d706a5f544b402f261b1106000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f18100800000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2b29251f181008000000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c0500000000000000000000000000000000000000000000000000000006101820262b2e2f3939393939382e2d29251e160e040000000000000006101820262b2e2f3939393939393939393939393939393939393939393939393931302d28221a12080000000000030c151c23282c39393939393939392e2d2a251f170f0500000008121a22282d303139393939393433302b251d140b00000007101920272b2e2f39393939393939392c28231c150c030000000000020c151e252c31343539393939393939392f2e2b26201810070000000000000000000000000000000000000000050e171f252a2d2e3939393939393939372d2c28231c150c030000000000000000030d151e262e343d43474d5354585b5d5e5f5f5f5e5d5b5955534e4745413a3129343c424b5153585c5e5f5f5f5e5d5a585651493f34291d120600000000000000000000040b141c222832373d43484b515356595b5d5e5f5f5f5f5e5d5b585653504a47433c373127221b140b03000000000000000000000000000000000000000000000000000003101c28343f4a545c606c6c6c6c6c6c6b6760564b3f33271b0e0000010e1a27333f4a555f676a6c6c6c6c6c6c69665e54493e3226190d010000000000000000000000000000000003101d2a3643505d69768390908376695d5043362a1d100300000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000007121c252e353b3f404646464641403c362f2f363c3f4146464646403e3b352e251c0e0500000000000000000000060a0e1011121313131212100e0b07070501000000000000000000000000000000000000020507081313131313131313070705010000000000000000000916222f3c4854606b7682868686867e7164574b3e3124180b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313130b0b090502070b0d0d13131313131313080705020000000000000000000d18242f3a434f59626c717d858e939a9c9e9f9f9d9c98928d847c706b61584e42392e1d140a0000000000010910161b1e2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1f1c19140d06000000000000010910161b1e2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201f1f1c19140d06000000000000000002090e12141520202020202020201413110d0802000000000000000000000000000000000000000000000000000000040e18222a31373a3c4646464646453a3935302820160c020000000000040e18222a32373b3c464646464646464646464646464646464646464646464646463e3c39332c241a1005000000000a151e262e343846464646464646463b3a36302921170d020006101a242c34393d3e464646464641403c362f261d0d0300040f19222b32373b3c464646464646464638342e261e150a000000000009141e2730373d414246464646464646463c3b37322a22180d03000000000000000000000000000000000000020b17202930363a3b4546464646464646433a38342e271e150b00000000000000010b151f2730383f444e54575e6164676a6b6c6c6c6b6a6865625f5854524c433f353c464e545c6065686b6c6c6b6b696765625b51463a2e221509000000000000000000040d161d262d333c43474f54555c606366686a6b6c6c6c6c6b69686562605b54534e47423c332d261d150d030000000000000000000000000000000000000000000000000006121f2c3844505c666d7879797979797772675c4f43372a1d11000003101d2936424f5b6771777979797979797670665a4e4235291c0f030000000000000000000000000000000203101d2a3643505d69768390908376695d5043362a1d100302000000000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300020e19242e3740474b4d535353534e4c4841383840474c4d535353534c4b4640372e20170d0200000000000000040b11161a1d1e1f2020201f1e1d1b181413110d0802000000000000000000000000000002090e12141520202020202020201413110d080200000000000006131f2b37434e5863707d8994998f82766c6155493d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313d47505a626b707b81878c8f919292918f8b86807a6f6a61594f463c30271d0b0200000000000000050a0f121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131312100d0802000000000000000000050a0f121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131312100d080200000000000000000000000205070813131313131313130707050100000000000000000000000000000000000000000000000000000000000a15202a343c4347485353535353524746413a32281e130800000000000a15202a343c434748535353535353535353535353535353535353535353535353534a49453e362c22170c00000006111c2630383f4453535353535353534846423b33291f1409000c17222c363e45494b53535353534e4c4841382f1f150b010a15202b343c4347495353535353535353443f3830261c1106000000040f1b25303942484d4f53535353535353534947433c342a1f150b0100000000000000000000000000000000000a141d29333b4246475253535353535353504644403930271c120700000000000007121d273139424a50586062696e71747777787979787775726f6a66605d56504540454e5860666d717578797978777674726d62564a3d3124180b0000000000000000030c161f282f383f444e54596063676d707375777879797978787674726f6c66625f58534d443f382f271f150d030000000000000000000000000000000000000000000000000713202d3a4653606d7886868686868684776b5e5144382b1e11000004111e2a3744515d6a77838686868686868276695c504336291d100300000000000000000000000000050a0f12101d2a3643505d69768390908376695d5043362a1d10120f0a0500000000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130007131f2a354049525759606060605b58534a41404a52585a60606060595751494032291e1408000000000000050e161c2227292a2c2c2d2c2c2b29282521201d19130f0a030000000000000000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c0500000000000815212e3b47535f6a7683909d92867b6e615a5045392d211408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2b353f48505961696e757b7f8384858584827e7b736d6860584f473e342a1e150b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b26313c464e53555f606060605f54524c443a3025190c03000000030f1b26323c464e535560606060606060606060606060606060606060606060606060575550483e33281c110400000c17232e38424a505f606060606060605f524d453b30251a0e05111d28343e4850555760606060605a58534a4131271d12070f1b27323c464e5455606060606060605f504a42382e23170c0000000915202c37424b53595b606060606060605f55534e463c31271d12070000000000000000000000000000000006111b262f3b454d52545f606060606060605d53514a42392e23180c0000000000020c18242f39434b545c606a6f757b7e8183848586858583817f7c78726d68625a514b4d57606a6f797e82848586858483817f7265584b3f3225180c00000000000000000b151e283139424a50585f626b6f75797d7f828385858686858483817f7c79746f6a625f575049413931271f150b010000000000000000000000000000000000000000000000091623303c4956636f7c89989393938d8174675a4e4134271b0e000004111e2a3744515d6a778490939393938f8376695c504336291d10030000000000000000000000010910161b1e20202a3643505d69768390908376695d5043362a20201e1b161009010000000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000a16232f3b47525c63666c6c6c6c67645c534547525c64676c6c6c6c66635b51443b3025190e0100000000040e1720272e3336373939393939383634312e2d2a251e1a150e06000000000000000000050f171f252a2d2e39393939393939392e2d2a251e160e05000000000916222f3c4955626f7c88959b8e8174695f53483e34281d110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d19232d363f474f575f61696e72767879787775726e69615e564e463e352c22190c0300000000000000000005090d0f101313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130f0f0d09040000000000000000000000000205070813131313131311100e0b0600000407090a1313131313130e0d0b0803000000000000000000000001070c0f11121313131313070705010000000000000000000000000105090b0b13131313100f0d09050000000000000000000000000000000000000000000000000006121f2b37434e585f626c6c6c6c6c6b615e564c4135291e150b00000006121f2b37434e585f626c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c64615a5045392d2114080003101c28343f4a545c6c6c6c6c6c6c6c6c6c5e574d42362a1e120814212d3945505a61646c6c6c6c6c67645c5343392f23180c131f2b37434e5860626c6c6c6c6c6c6c6c5c544a3f34281c100300000c1925313d48535d65686c6c6c6c6c6c6c6c625f584e43392f24180e050000000000000000000000000000030c17222d38414d575e616c6c6c6c6c6c6c6c6a605c544a4034281c1004000000000a141e2935404b555d666d747c82878b8e909192929291908e8c88847f7a716d605d55535f696f7c848b8f9192929291908d86796c605346392d20130000000000000007121d273039434b545b606a6f767c8185898c8e90919292929291908e8b8985817c756e69605b534b433931271d12070000000000000000000000000000000000000000000004111d2935414c566673808c99aaa3998a7d7064574a3d3124170a000004111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d100300000000000000000000010a131b21272b2d2d2d3643505d69768390908376695d5043362d2d2d2b27211b130a0100000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000c1925323f4b57636e7379797979746f64574d4c58646e7479797979736d63564c41362a1d1207000000000b16202932393f434445464646454543413e3a3936302b2620180f0900000000000000020d17212930363a3b4646464646464646463936302820160c02000005121e2a36424d576673808d9994887c6f62574d42362c22170c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111b242d353e454d53575f6266696b6c6c6a6965615e56524c443d342c231a10070000000000000000020a1015191c1c2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020201c1b1915100902000000000000000002080e1114142020202020201e1d1a17110b0b101316162020202020201b1a18140f08010000000000000000050c12181b1e1f20202020201413110d0802000000000000000000060c11151718202020201c1c1915100a0200000000000000000000000000000000000000000000000815212e3a47535f6a6f7979797979786d685e52463d30271c120700000815212e3b47535f6a7679797979797979797979797979797979797979797979797979716c6155493c3023170a0006121f2c3844505c66767979797979797976695e52463a2d20140a1723303d4955616c717979797979746e64554b4034291c1015222e3b4754606a767979797979797976665c5044382c1f120600020e1b2834414d59656f7579797979797979796f6a5f554b40352920170b02000000000000000000000000000b151e27333f49535e696e7879797979797979766d665c5144382c1f120600000006111c26303845515d676d7880898f93999a9d9e9f9f9f9e9d9b9896918c857e756d675d58626e7b8691969b9e9f9f9e9e9c9386796c605346392d2013000000000000040d18232e39434b555d666c737c83898e9298999b9d9e9f9f9f9f9e9c9b9897918d88827b736c655d554b43392f24180e050000000000000000000000000000000000000000000713202c3945525d687683909da99f92867a6d6054473a2d211407000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000009131c252c33373939393943505d69768390908376695d50433939393937332c251c130900000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000d1a2633404d59667380868686868174695f534d5a677480868686867f73685e5246392f23180c00000006111c27323b434a4f51525353535251504e4b4746413a37312a221b120900000000000009141f29333b42464853535353535353535346413a32281e130800000714212d3a46535e697884919c8f82766a5f53453c31241a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121b232c333b42464d5355595c5e5f5f5e5c5854524d46413a322b221a11080000000000000000040c141b212528292d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d292825211b140c03000000000000050d14191e20212d2d2d2d2d2d2a2a27221d16161b2022232d2d2d2d2d2d272724201a130b02000000000000060f171e23282a2b2d2d2d2d2d21201d19130c04000000000000000911181d2124252d2d2d2d292826211b140c04000000000000000000000000000000000000000000000915222f3c4855626f7c8786868686857a6d61594f42392e23180c03000915222f3c4855626f7c868686868686868686868686868686868686868686868686867e7164574a3e3124170b000713202d3a4653606d78868686868686867b6e6154483b2e2115121e2a36424d5764717e86868686868074675c5145382c1f1416222f3c4955626f7c86868686868686786d6053463a2d20130700020f1c2835424f5b68758286868686868686867c6f675d51453e32291d140a00000000000000000000000007121d27303944505b656e7b858686868686868683796d6053463a2d2013070000000b17232e3842505a606d79828d929b9fa4ababa39f9d9c9b9c9d9fa19e97928b82796d685f6a76828f98a1a8aaa39f9995949386796c605346392d20130000000000010c161f2834404b555d676d78808790949b9fa2a9a29e9c9b9a9a9b9d9fa3a9a19e9a948f877f776d675d554b40352920170d0200000000000000000000000000000000000000000714212d3a4754606d7a86939fa99c908376675d5145392c201306000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000005101b252e373e434646464646505d69768390908376695d504646464646433e372e251b1005000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000714202d3a4753606d7984919392877b6e62564c54606d7a85919392867a6e61554b4034291c100400000a16222e39434d555b5d5f5f605f5f5e5c5b5854524c47433c342d241b110800000000020e1a25303b454d525f60606060606060605f524c443a3025190d01000815212e3b4854616e7b8796988c7f7265584e433b33291f1409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009111a212931363c4247484c50515252514f4b4746423b363028201910080000000000000000020c161e262c3235363939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393635312c261e150c0200000000050e171e252a2d2e3939393939393736332e272021272c2f303939393939393433302b251d140b0100000000050f1821292f3437383939393939392d29241e160e04000000000009121b22292e3132393939393635322d261e160c000000000000000000000000000000000000000000000815212e3a47535f6a73808d9693978e81746b60544a4034281f1409000916232f3c4956626f7c8993939393939393939393939393939393939393939393938a7d7164574a3e3124170b000713202d3a4653606d79869393939393877b6e6154483b2e211514212d3a46535e6976828f9393939285796d6053473b30251a16222f3c4955626f7c88939393939386796d6053463a2d20130700000714212d3a4754606d7a849199939393999183796d605a50443b2f261b110600000000000000000000040d18232e39424e58606c77828f979393939392867b6e665c5144382c1f1206000003101c28343f4a54616c74818e949da4aca7a09d9992908f8f8f9192999a9e9f948f837a6d666f7c88949faaaea398928c88878886796c605346392d2013000000000008131e28313a45515c676d79828d92999fa6a39f9a97928f8e8d8e8e9092989b9fa3a69e99928c82796d675d51453f32291e140800000000000000000000000000000000000000000b1724313e4a5764717d8a99a4a9998c7f7366554b4135291d1104000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000a16212c3740494f5353535353535d69768390908376695d5353535353534f4940372c21160a000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130006131f2c3845515c67707d8a95998e8175685e52515d67717e8a96988d8073675c5145382c1f130600000e1a27333f4a555f676a6c6c6c6c6c6b696764615e56534e463e362d23190b0200000005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d1105000a1724313d4a5764707d8a9798887b6e6255524d453b30251a0e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f171f262a31373a3b3f4345464544423f3b3a36302a251e160e070000000000000000000a141e2830383d414346464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464642413d3730271e1409000000020d1720293036393b46464646464644433f3932292b32383b3d46464646464641403c362f261d1308000000010c17212a333a4044454646464646463935302820160c0200000006111b242d343a3d3e4646464643413e3830281e110700000000000000000000000000000000000000000006121f2b37434e58606d7984919e9f93887d6f665c51443b31261a0d04091623303c4956636f7c89969f9fa8a19e9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c9c978a7d7164574a3e3124170b000713202d3a4653606d7986939f9f9f94877b6e6154483b2e21151b27333f4953616e7b87939f9fa2978a7e7164574d42362a1e16222f3c4955626f7c88959f9f9f9386796d6053463a2d20130700000613202c3945525d686f7c87929fa69fa0958d81746c61564d41382d22170d030000000000000000010c161f2834404b545f6a727f8b949fa9a89e938b7e71695f544a4034281c1004000006121f2b3844505c66717e8b939ea6aea59d95908a86838282838486898d92979f959083786d73808d99a6b0a89f9286807c7a7b7d7063574a3d3024170a00000000010d19242f3a43505a606d79828f949fa3a7a099928e898583818181828386898e92999fa7a39f948f82796d605b51443b3025190e0200000000000000000000000000000000000006121e2b37424d576774818e9aaba297897c6f6256493c2f24180d01000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000f1b27333e49525a5f60606060606069768390908376696060606060605f5a52493e33271b0f000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130004101c2934404b55616b7683909d92867a6d61544c55606c7884919d9285796d6053473a2d2014070000101d2936434f5b6771777879797978787674716d68625f5850483e352b1d140a0000000714202d3a46525e6976797979797979797976685e5246392d201307000c1926333f4c5966727f8c999285796a63615e574d42362a1e1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060d141a20262b2e2f33363839393736322e2d2a251f19130c0500000000000000000005101b26303a42494e4f5353535353535353535353535353535353535353535353535353535353535353535353535353535353535353535353534f4d49423930261b1004000008141e29323b414653535353535353514f4a443b32353d4448495353535353534e4c4841382f251a0f03000007121e29333c454b505253535353535346413a32281e13080000010c18222d363f454a4b535353534f4e49423a3023190f050000000000000000000000000000000000000000030f1b26313c45515d67707d8a939e9a9183786d60574d42362a1f160c0a1623303d495663707c899aa4aca196918f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8a7d7164574a3e3124170b000713202d3a4653606d798693a0aca194877b6e6154483b2e21151f2b3744505b65737f8c99a4afa99c8f8276695e52463a2d2016222f3c4955626f7c8895a2aca09386796d6053463a2d201307000004111d2935414c56606a727f8c949ea8a89d928a7d70695e53493f33271f150b010000000000000008131e28313a45515c666f7c86929fa6aba1968e81756c62574d42392e23180c0000000713202d3a4653606d7884919ea5afa69d938e837d797776757677797c80858c9298958e81747683909ca9aca0958a7e736f6e6e706b6155483c2f2316090000000004111d2935414c56616c74818e949ea6a69f959087817c79767474747577797d818790959ea5a69e948e81756d62564c41362a1e14080000000000000000000000000000000000000814212e3a47535f697884919eab9e9285796c605346392d20130700000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c7683909083766c6c6c6c6c6c6c6c645a4f43372b1e12000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300000c18232f39434f5964717e8a97998b7f7265554b505b65727e8b97978a7d7164574a3e2f24180c0000111e2a3744515d6a778385868686858483817e7a756e6a615a50473d2f261b110600000815212e3b4854616e7b86868686868686867a6d6154473a2e211407000e1a2734414d5a6774808d9a91847770706e695e52463a2d2014070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e151a1e212226292b2c2c2b292521201e19140d0802000000000000000000000915212c38424c545a5c6060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060605c5a544c42372c21150900020e1925303b444c525f6060606060605d5b554d44393d474f54566060606060605a58534a41362b20140800000c18232f3a454e575c5e60606060605f524c443a3024190d010005111d29343f48505658606060605c5a544c42352b21160b0000000000000000000000000000000000000000000a15202935404b55616b75818e98a0958c7f72695f53463e31281e130815222f3b4855626e7b87939fa99e91848383838383838383838383838383838383827d706356493d3023160a000713202d3a4653606d798693a0aca194877b6e6154483b2e2115202d394653606c7884919eabb5ac9f93877b6e6154473d32271b222f3c4955626f7c8895a2aca09386796d6053463a2d2013070000010d19242f3a434e58606c77828f96a1aba49e92857b6e655b50443c31271d1207000000000000050e19242f3a434f59606d79839098a3aea39991847a6d605a50453c30271c12070000000b1824313e4b5764717e8a96a0acac9f948e8179716d67696869676d70747a7f869095938a7e7885929fabaa9d9184776c6261616361594f44382c201407000000000613202c3945525d68717e8a939da6a89f948f837c746f6c6668676768666d70757c838f939ea7a69e938b7f72685e52463b3025190d0100000000000000000000000000000000000815222f3b4855626e7b8896a1a89b8e8275665b5044382b1f120600000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d3946535f6c767979797979797979839090837979797979797979766c5f5346392d2013000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000007121d27313e4653606d7984919c908376675d514953606d7985929b8e817468554b4035291d100400121f2c3945525f6c78859292999292918f8e8b87827c716c61594f41382d22170b00000815212e3b4854616e7b87939393939393877a6d6154473a2e211407000f1b2835424e5b6875818e9b91847d7d7d7b6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415191d1e1f1f1e1c181414110e09020000000000000000000000000d1925323d49545e66696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c69655e54493d3125190d0005111e2a36414c565e6c6c6c6c6c6c6c6a675f554a3f444f5960636c6c6c6c6c6c67645c53483c3024180b00030f1b2834404b5760686b6c6c6c6c6c6c5d564c4135291d1105000915212e3a45505a62656c6c6c6c69665e54473d33271c10040000000000000000000000000000000000000000040c18242f39434f59616e7b85929f9f92867b6e615a50433a2f24190c14212e3a47535f6975818e97a29d9084787676767676767676767676767676767676706b6054483b2f221609000713202d3a4653606d798693a0aca194877b6e6154483b2e211d2935414c5563707d8996a0acacafa4998c7f7266584e43382c1d222f3c4955626f7c8895a2aca09386796d6053463a2d20130700000008131e28313d44505b656d7a849199a3ada1978f82776c60584e43392f24180e0500000000020b17202935414c56606b73808d95a0aaa69f92877d6f685d52483e332a1e150b00000005121e2a36424d576875818e9ba8afa49a8f82786d66605d555c555c6063676d727b838f9391857b8797a2ada79a8d8074675a545557554f473e33281c100400000004111d2935414c55606d7a85929ea5aca0968f82796e6a62605b545a5b545c60636a6e78818f959faba59f92857a6e61564c41362a1e11050000000000000000000000000000000003101c28343f4a5465727f8b98a8a7988b7e7165544a3f33281c0f0300000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d394653606c798686868686868686909494908686868686868686796c605346392d2013000b1825323e4b5865717e8b98a4afa295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000008121d262c3844505c6674818e9b92867a6d605347515d6775828f9b918477675d5145392c1f130600121f2c3945525f6c7885929493939496999a99938e867e716b6053493f33271b0f03000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e211407000f1c2936424f5c6975828f9c95918989897e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020608080c10121312110f0c0807050200000000000000000000000000000f1c2835414e5a6670767979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797570655a4d4135281b0f000714202d3946525e68767979797979797771675b4f434854606b70797979797979746e64584c4033271a0d0004111e2a3744505c687278797979797976685d5246392d201307000b1724313d4a56626d7179797979767066594f44382c20150a00000000000000000000000000000000000000000007121d27313e46525e69727f8b959f988f82756c61554c4135291e14121e2b37424d57616e7b85929fa0958c80736c6969696969696969696969696969696360594f44382c201307000713202d3a4653606d798693a0aca194877b6e6154483b2e21202c3945515d6775818e9ba8a39fa3ab9d9184776a605448392f24222f3c4955626f7c8895a2aca09386796d6053463a2d201307000000010c161f27333f49535e686f7d87929fa6a99f948c7f726a5f554b40352920170b020000000a141d29333b45525d68707d87939fa7aa9f948c80736b60564c41362d21180c030000000714202d3a46525e697885919eabac9f93877c6f665c54514b4f4b5153555d60696e79818f949083909da9b3a4988b7e7165584b484a48443e352c21160b000000000613202c3945515d6773808d97a1ada69e91847a6d675f5853504a4e4e4b5153585f666d79839099a3ada2978d8174685e5246392d2014090000000000000000000000000000000006121f2c3844505c6675828f9ba8a095877b6e6154483b2d22170b0000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d394653606c7986939393939393939c9f9f9c9393939393939386796c605346392d2013000b1825323e4b5865717e8b98a4aca295897c6f6256493c2f23160900000d1a2733404d5a6673808d99a6aca09386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c201300030e19242f3840474a5464717e8a9799897c6f6256494b5565727e8b9893867a6d6053473a2d20140700121f2c3945525f6c78858887868787898d92979f9892887d70655b5044372b1f1205000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e21140700101c2936434f5c6976828f9ca09d96968b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868275695c4f4236291c0f000814212e3b4754616e7a86868686868683776a5d5144495663707d8686868686868074675a4e4134271b0e0005121f2b3845525e6b788586868686867a6d6154473a2e211407000b1825323e4b5865717e8686868682766b6054483c32261b0f030000000000000000000000000000000000000000010b151f2a36424d56606c788390999e948a7e71675d51453c30261c111a26313c46525e68717e8a929c9f93887e716c605b535c5c5c5c5c5c5c5c5c5c5c56544f473d32271b1003000713202d3a4653606d798693a0aca194877b6e6154483b2e21212d3a4754606d7a86929fa3999299a3a096897c6f62554b403529222f3c4955626f7c8895a2aca09386796d6053463a2d20130700000000040d17222d38414c56606b737f8c949fa9a69f92867c6f675d51453e33291d140a000006111b262f3b45505a606d7a849199a4aea2989083786d60594f443a2f241b0f06000000000815212e3b4854616e7b8797a1adaa9d9083776a5f544b4540424045474b51575f676d78828f9590959fabb0a3968a7d7063574a3d3d3c38332c231a1005000000000714212d3a4754606d7a85929fa9aa9e94897d70685d554e46443f41414045464e545c676f7c87929faca99f92867a6e6154473c31261a0e020000000000000000000000000000000713202d3a4653606d7985929faa9d918477695e52463a2d1c11060000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d394653606c798689898989898989909595908989898989898986796c605346392d2013000b1825323e4b5865717e8b989f9f9f95897c6f6256493c2f23160900000d1a2733404d5a6673808d999f9f9f9386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c20130007131f2b36404a52585a616e7b879a978a7e71645753595b626f7b889599887c6f6255493c2f221609000916232f3c4956626f7c7b7a7a7a7b7d808590959f9a9184796c605346392d201306000815212e3b4854616e7b8794a1aeada094877a6d6154473a2e21140700101d293643505c6976838f9ca9aaa3988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393938f8275695c4f4236291c0f000814212e3b4754616e7a87939393939084776a5d5144495663707c89939393938d8174675a4e4134271b0e0004101d2935404b556c788592939393877b6e6154483b2e211508000613202d394653606c7883909994897d7063584e43372b1f1306000000000000000000000000000000000000000000030d1925303b44505b666f7c87929f9e91847a6d60584e42382e231715202a36414d56616c73808d939d9a92877e736c655d554e5050505050505050504948443d352b21160b00000713202d3a4653606d798693a0aca194877b6e6154483b2e212b37434e5865717e8b98a29f9286929fa89a8e8174675d5145382c222f3c4955626f7c8895a2aca09386796d6053463a2d201307000000000006111b262f3a444f59606c77828f97a1aba3999184796d605a50453b2f261b1106030c17222d38414d57616c75818e96a1aba59f92857b6e665c50473d32281e120900000000000916222f3c4955626f7c8895a9b3a79a8d817467584e4239352f34383a40454d555c666d7a85919d9fa7b1afa396897c706356493d302f2c28211a11080000000005111e2a36424d5765727f8b98a2aea99c8f82756b60564c433c38332d2e34383c424b555f6a74818e9ba8aea3988c7f7266574d42372b1e1205000000000000000000000000000000091623303c4956636f7c8998a2aa9a8d807467574d42362a1e0a000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000a1723303d4a5663707d7d7d7d7d7d7d7d839090837d7d7d7d7d7d7d7d7063564a3d3023170a000b1825323e4b5865717e8b9393939393897c6f6256493c2f23160900000d1a2733404d5a6673808d939393939386796d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000b1723303c47525c64676c6d798693998c7f7266595d64686c6d7a8799978a7d7164574a3e3124170b000815222e3b4754606a6f6e6d6d6d6e70737a83909da096897c6f6356493c30231609000815212e3b4854616e7b8794a1acaca094877a6d6154473a2e21140700101d293643505c6976838f9ca9b1a5988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c6976828f929292929292929292929292929292929292929292929292929292929292929292929292929292929292929292928f8275695c4f4236291c0f000814212e3b4754616e7a87949f9f9d9084776a5d5144495663707c89969f9f9a8d8174675a4e4134271b0e0006131f2c3945515d677986939f9f95887b6e6255483b2f2215080005121f2b3744505b656f7c87939d9083766a5f53473b2e2115090000000000000000000000000000000000000000000009141f28333f4a545f6a74808d96a1978d80746a60544a3f34281f141925303b44505a606c77818e939c99928b80776d675f585045414343434343433d3b38322b23190f0400000713202d3a4653606d798693a0aca194877b6e6154483b2e212e3a47535f6a7683909daa9b8e828e97a19f9285796d6053473b30252f3c4955626f7c8895a2aca09386796d6053463a2d2013070000000000000a141d28323d44505b656d7a859199a4aba0968e81746c61574d41382d22170d0b151e27333f49535e69717e8a939ea8a89e938a7e71695e544a3f352b20160c0000000000000a1723303d4a5663707d8996a3b0a6998c7f7366594c402f2924292c2f353b434b545d68707d8a959fabb7afa396897c706356493d3023201c16100800000000000714202d3a46525e697683909daaada196897d7063594f433a312b282223282c3039434e58626f7c8895a0acaa9d908477695f53463a2d211407000000000000000000000000000004111d2935414c566673808c99aaa3988a7d7063574a3d30251a0e000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000916222f3c4854606b70707070707070768390908376707070707070706b6054483c2f221609000b1825323e4b5865717e868686868686867c6f6256493c2f23160900000d1a2733404d5a66738086868686868686786d6053463a2d201307000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000d1a26333f4c58646e7479797985929a8d8073675a646f747979778692988b7e7165584b3e3225180b0006131f2b38434e586062616160606163686f7c8899a4988b7e7265584b3f3225180c000815212e3b4854616e7b87949f9f9f9f94877a6d6154473a2e21140700101d293643505c6976838f9ca9aca5988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875828585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858585858275685b4f4235281c0f000814212e3b4754616e7a8794a1aa9d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e000714202d3a4753606d7a8699a4a295897c6f6256493c2f23160900030f1b27333f49535f6a75828f9b95887c6f6255493c31261a0e02000000000000000000000000000000000000000000020b17222d38424e58606d7984919e9f93877c6f665c50443b30251a141f29323e44505b656c78818d929f9f928c81796f6a625a514c433c34363636302f2c27211911070000000713202d3a4653606d798693a0aca194877b6e6154483b2e28343f4a54626e7b88959fa398897d85919ea2988a7e7164574d42362a2f3c4955626f7c8895a2aca09386796d6053463a2d201307000000000000020b162027333f49535e68707d87939fa6a89d928a7e70695e53493f33271f15121d27303944505b656e7b85929fa5aba0968e81746c61574d42382e23190d040000000000000a1724313d4a5764707d8a97a3b0a5988c7f7265594c3f2e23181c1f24293139424c56616c7683909da9b3afa396897c706356493d302316100b050000000000000814212e3b4754616e7b87959fabab9e9184786c6053463d31281f1c17181c1f27313c47535f6a7784919daaaca095887b6e6155483b2e22150600000000000000000000000000000713202c3945525d687683909da99f92867a6d6053473a2d201409000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000713202c38444f5960636363636363697683909083766963636363636360594f44382c201307000b1724313d4a56626c71797979797979796f6a6054473b2e22150800000c1926323f4b58636e737979797979797976665c5044382c1f1206000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a67748086868689979a8d8174675b6874818686868999988b7f7265584c3f3225190c00030f1b27323d464e5456555453545456606c7986939f998c807366594d4033261a0d000815212e3b4854616e7b87939393939393877a6d6154473a2e21140700101d293643505c6976838f9c9f9f9f988b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1b2834414d59656f75797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979797979756f65594d4134271b0e000814212e3b4754616e7a8794a1a99d9084776a5d5144495663707c8996a3a79a8d8174675a4e4134271b0e000714212e3a4754616d7a8794a0a396897c706356493d3023160a00000b17222d38414e58636f7c89959a8d807367574d42362a1e12050000000000000000000000000000000000000000000006111c262f3c45515d67707d8a949e999083786d60574d42362a1f15172027333f49535b666c74808b92989c938f847c716c605d554e463e362e292322201b160f07000000000713202d3a4653606d798693a0aca194877b6e6154483b2e2c3844505c6673808d9aa79f928679818e9baa9c8f8276695e52463a2d2f3c4955626f7c8895a2aca09386796d6053463a2d20130700000000000000040e17222d38414c56606b73808c949fa9a59e92857b6e655b50443c31271d18232e39424e58606c77828f97a2ada3999184796d605a50453b30261c1007000000000000000a1723303d4a5663707d8996abb5a6998d807366544a403428211e1a181f27303a44505a64707d8a97a2adafa396897c706356493d3023160a00000000000000000b1824313e4b5764717e8a97a7b1a79a8e8174665b5044382b1f160f0b0c10151f2b37434e586773808d9aa6b1a7988b7e7165584b3e2d22170b00000000000000000000000000000714212d3a4754606d7a86929fa99c8f8276675d5145392c1f1306000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000004101c27333d474f5456565656565d69768390908376695d5656565656544f473d33271c1004000915212e3a45505a62656c6c6c6c6c6c6c6260584e43382b1f130600000a17232f3b47525c63666c6c6c6c6c6c6c6c5c544a3f34281c1003000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d939393a19a8e8174675b6874818e939394a3998c7f7366594c403326190d00000a162027333f49535b606060606062666e7b8799a4988c7f7265594c3f3226190c000815212e3b4854616e7b86868686868686867a6d6154473a2e21140700101d293643505c6976828f93939393938b7e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1925313d49545d65686c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c68655d53483d3125180c000814212e3b4754616e7a87949c9c9c9084776a5d5144495663707c89969c9c9a8d8174675a4e4134271b0e000815222e3b4855616e7b8894a1a3978a7d7064574a3d3124170a000006111b262f3c4854606b7783909d918478695f53463a2d21140700000000000000000000000000000000000000000000000a141d2935414b55616c75828f98a0958b7f72695e52463e31271d1217222d38414a545b606e737e8691969e9691867e756d675f58504840372e261c13100b0400000000000713202d3a4653606d798693a0aca194877b6e6154483b2e2d3a4653606d7985919ea99c8f82767e8a99a39f93877b6e6154483d322f3c4955626f7c8895a2aca09386796d6053463a2d201307000000000000000006111b262f3a444f59606d78828f97a1aca1978f82776c60584e43392f241f2834404b545f6a727f8c949fa9a69f92877c6f675d51483e33291e140a00000000000000000915222f3c4855626f7b8899a3afa89b8f8275665c51443a322d2b2627272628323e4653606d7985929fabafa396897c706356493d3023160a00000000000000010e1b2834414e5b6774818e9aa7b4aa978a7e7164544a3f3328190d040000040d1b26323d4a5764707d8a97aab4a79b8e81746853493f33271b0f03000000000000000000000000000b1724313e4a5764717d8a99a3a9988c7f7265554b4035291d1004000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000b16212b353d44484a4a4a4a505d69768390908376695d504a4a4a4a48443d352b21160b000005111d29343f485056586060606060606056544e463d32271b0f03000007131f2a36404a52585a606060606060605f504a42382e23170c00000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9a9fa0a79b8e8174685b6874818e9b9fa0a6998c807366594d4033261a0d000005121f2b3744505b656c6d6c6c6d6f7278818e9ba095897c6f6356493c30231609000714202d3a46525e6976797979797979797976685e5246392d20130700101d293643505c697682868686868686867e7265584b3f3225180c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212c37424b54595c5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5b59534b42372c201509000814212e3b4754616e7a878f8f8f8f8f84776a5d5144495663707c898f8f8f8f8d8174675a4e4134271b0e000915222f3c4855626f7b8895a2a4978a7e7164574b3e3124180b000007111b252c38434f5966737f8c9996887b6e6155483b2e2215080000000000000000000000000000000000000000000000020b18242f3a43505a616e7b86929f9f92867b6e61594f43392f2418111b262f38424a505c636c717c848e939f98928b817a6f6a625a524940382e251c11080000000000000713202d3a4653606d798693a0aca194877b6e6154483b2e36414c5664707d8a97a1a8988c7f727a86929fa4998c7f7366594f43382f3c4955626f7c8895a2aca09386796d6053463a2d2013070000000000000000000a141d29323d44505c666e7b85929aa4a99f948c7f726a60554b40352928313a45515c666f7c86929fa6a99f948c7f736a60554b41362c21170c0200000000000000000714202d3a4753606d7a86929facab9e9285796d60564c443d3a373134333332323845515c6675828f9ca8afa396897c706356493d3023160a0000000000000005111e2a36414c566a7683909da9aea298887b6e6155483b2d221708000000000a15212e3b4854616e7b8798a2aeaa9d908377655b5044372b1f120500000000000000000000000006121e2b37424d576774818e9aaba197887c6f6255483c2f24180c00000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000050f19232b33383c3d3d3d43505d69768390908376695d50433d3d3d3c38332b23190f050000010c18222d363f454a4b535353535353534947433d342b20160a000000020e19242e3840474b4d5353535353535353443f3830261c110600000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9aa7b3a79b8e8174685b6874818e9ba7b3a6998c807366594d4033261a0d00000613202d394653606c777979797a7b7e838e939e989083786c605346392d2013060005121e2a36424d575e6c6c6c6c6c6c6c6c6c6c5e564c41362a1d1105000f1c2835414e5a66707679797979797979726d62564a3d3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101b26303942494d4f5252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252524f4d48423930251b0f04000714212d3a4754606d7a8283838383838174675b4e414855626f7c8283838383827f7265584c3f3225190c000916232f3c4956626f7c8995a2a5988b7e7265584b3f3225180c00010d18232d373f464956626f7c8999978a7d7164574a3e3124170b00000000000000000000000000000006060606060606060007131d28313e46535e69727f8c95a0988e81756b61554b4035291d14141d262f383f44525a616a6f7a818b92989f938e847c716c635b524a40372e231a0d0400000000000713202d3a4653606d798693a0aca194877b6e6154483b2e3946525e6875828f9ba9a196887b6f76828f9cab9e9184776b605448392f3c4955626f7c8895a2aca09386796d6053463a2d201307000000000000000000020b172028343f4a545e69707d88939fa7a69f92877c6f675d51453e332f3a434f59606d79839098a3ada2979082786c60584e433a2f241a0f0500000000000000000006131f2c3945515d677783909dabada1978a7e71685e564f484742424140403f3f3f404b546673808c99a6afa396897c706356493d3023160a000000000000000713202d3946525e687885929fabac9f9285796c605346392d201306000000000714212d3a46535e697985929facac9f9285796c605346392d2013060000000000000000000000000814212d3a47535f697884919eab9e9185786c605346392d20130700000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000005101a232c33393c3d3d3d43505d69768390908376695d50433630302f2c27211911080000000006111b242d343a3d3e464646464646463c3b38322b22190f040000000008121c262e363b3f40464646464646464638342e261e150a0000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9aa7aca79b8e8174685b6874818e9ba7aca6998c807366594d4033261a0d00000613202d394653606c7984868687888b90959a9590867c6f665b5044382b1f120600020e1a25303b454d525f60606060606060605f524c443a3025190d01000d1926323e49545e66696c6c6c6c6c6c6c65625b51453a2e22150900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141e2730373d414246464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464642413d3730271e140900000713202c3945525d686d767676767676746f64584c4047535f6a6f767676767676726d62564a3e3125180b000a1723303d4a5663707d8996a3a5988c7f7265594c3f3226190c0006121e29353f49515759606d798692998c7f7366594c403326190d0000000000000000000002060a0c0d131313131313131313130c161f2a36424d57606d788390999e938a7d70675d51453c2f261b11141d262d33404850585f686d757e8690959d9691867e736d645c524940352c1f160c01000000000713202d3a4653606d798693a0aca194877b6e6154483b2e3a4754616d7a86929fab9e9184786a727f8b99a4a096897c6f63554b40353c4955626f7c8895a2aca09386796d6053463a2d20130700000000000000000000050e17232e38424d56616b73808d959fa9a3999184796d605a50453b35414c56606b73808d95a0aaa59f92857b6e665b50463d31281d12080000000000000000000004101d2935404b5566737f8c99a3aea99e91847a6d68615955534d4f4e4d4c4c4c4b4b4c5865727f8b98a5afa396897c706356493d3023160a000000000000000714212e3a4754616d7a8798a2aeaa9d918477665b5044382b1f12060000000005121e2a36424d576a7784919daaaea298877a6e6154473b2e2114080000000000000000000000000815222e3b4855616e7b8896a1ac9b8e8174655b5044372b1f120500000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000b17222c363e44494a4a4a4a505d69768390908376695d5043362a2322201c160f0800000000000009121b22292e3132393939393939392f2e2b27201910070000000000000a141c242a2f323339393939393939392c28231c150c030000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d9a9f9f9f9b8e8174685b6874818e9b9f9f9f998c807366594d4033261a0d000006121f2b3844505b6673808c9993999292908d89837c6f6a5f544a3f33281c0f03000009141f29333b42464853535353535353535346413a32281e130800000915212d38424c545a5c60606060606060585651493f34291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c151e262c3134353939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393534312c251e150c02000004111d2935414c565d6069696969696967645c53483c434e585f6269696969696965625b51463a2e221609000a1724313d4a5764707d8a97a3a6998c807366594d4033261a0d000916222e3a46515b62656c667885919a8d8174675a4e4134271b0e000000000000000000070d121619192020202020202020202020201a25313b44505c666f7c87939f9e9184796d60584e41382d22170b141c2228363e464e565d606c717b838d929f98928b80736e645b51473d31281e1308000000000713202d3a4653606d798693a0aca194877b6e6154483b37434e5865727f8c99a3a99a8d8074676e7b87939fa89a8e8174675d5145393c4955626f7c8895a2aca09386796d6053463a2d201307000000000000000000000006111c26303b444f59606d78839097a2aba0968e81746c61574d423b45525d68707d87939fa7a89d938a7e71695e544a3f342b1f160c0000000000000000000000000c18242f3b4854616e7b86929fa8ada19690827a706b65615f575c5a5a5959585858585865717e8b98a4afa396897c706356493d3023160a000000000000000915222f3c4855626f7b8895aab4a99c8f837669544a3f33281c0f0300000000020e1a2531434f5c6976828f9ca9b4aa95887b6f6255483c2f221509000000000000000000000003101c28343f4a5465727f8b98a8a49a8a7e716453493f33271b0f0300000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000004101c28333e48505557575757575d69768390908376695d5043362a1d1613100b0500000000000000000911181d2124252d2d2d2d2d2d2d23221f1b160f0700000000000000020a12191f2326272d2d2d2d2d2d2d2d1f1c17110a03000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a6774808d93939393938e8174685b6874818e93939393938c807366594d4033261a0d0000030f1c28333f4a54616e7b87939f92878583817d786f6a5f584e42382d22170b000000020d17212930363a3b4646464646464646463936302820160c02000005101b26303a42494e50535353535353534b4a453f372d23180c0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c141b212528292c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c2c282725201b140c03000000010d1924303a444c52545c5c5c5c5c5c5b58534a41363c464e53555c5c5c5c5c5c585651493f34291e1206000b1824313e4b5764717e8a97a4a69a8d8073675a4d4034271a0d000b1825313e4a57626d7279797983909b8e8275685b4f4235281c0f00000000000000010a12191e2325262d2d2d2d2d2d2d2d2d2d2d2d2d2d28343f4a54606a74808d97a1968d80736a5f53493f33271e13111317242d343c444c525a62696e78808b92999f928c80736d63594f433a2f24190d010000000713202d3a4653606d798693a0aca194877b6e6154483b3b4754606a7784909daba197897c70636876838f9caa9f9285796d6053473b3c4955626f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000a141e29323e44505c666e7b85929fa4a89d938a7e70695e544a45505a606d7a849199a4aba0968e81746c61574d42382d22190d040000000000000000000000000714202d3a46525e6974808d96a1a9a89f9590847d77726e696a6867666665656565646465717e8b98a4afa396897c706356493d3023160a000000000000000a1723303d4a5663707d8996a3b0a89b8e8275685b4f422d22170b000000000000091c2835424f5b6875828e9ba8b0a396897d7063564a3d3023170a000000000000000000000006121f2c3844505c6675828f9ba89f93877a6e6154473b2d22170b0000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000814202d3944505a6164646464646469768390908376695d5043362a1d1007040000000000000000000000060c11151718202020202020201615130f0a0400000000000000000000080e1317191a202020202020202012100c060000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000e1a2734414d5a677480868686868686868174685b68748186868686868686807366594d4033261a0d0000000b17222d3846535e6976828f9b8f82787774706c655f584e463c2f261c110600000000050f171f252a2d2e39393939393939392e2d2a251e160e05000000000a141e2830383e4143464646464646463f3d3a342d241b110600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002091015191b1c1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1c1b18150f0902000000000008131e28323a4145475050505050504e4c4841382f343c4347485050505050504c4a463f372d23180d01000c1825323f4b5865727e8b98a5a79a8e8174675b4e4134281b0e000c1926323f4c5965727f86868689959c8f8275695c4f4236291c0f000000000000000a131c232a2f32333939393939393939393939393939392e38424e58606d7a85919e9f92877c6f655b50443a3025191d202021222a323a414550575f666d747e8792989c928c7f726b61564c4135291d13070000000713202d3a4653606d798693a0aca194877b6e6154483b404b55626f7c8995a0ab9e9184796d6064717e8b98a2a2988a7e7164574d423c4955626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000020c172028343f4a545e69707d8a929da7a59e92857b6e665b504d57616c75818e96a1aba3999184796d605a50453b2f261c10070000000000000000000000000005121e2a36424d57606d79849197a1a9a79f969189837f7b78767574737372727271717171717e8b98a4afa396897c706356493d3023160a000000000000000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b060000000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a00000000000000000000000713202d3a4653606d7985929faa9d908377685e5246392d1b11060000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000a1623303c4955616c70707070707070768390908376695d5043362a1d1003000000000000000000000000000105090b0b13131313131313090806030000000000000000000000000002070a0c0d1313131313131313060300000000000000000714202d3a4753606d7a8693a0adac9f9286796c5f5346392c2013000d1a26333f4c58646e7479797979797979746f6459646f7479797979797979736e63574b3f3226190c00000006111c2a36424d5764717e8a9792877b6e6763605b534e463c342a1d140a000000000000050d141a1e20212d2d2d2d2d2d2d2d21201d19130c050000000000030c161e262d3235363939393939393932312e29231b120900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090c0e0f1313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313130f0e0c090400000000000000020c1620283035393a43434343434341403c362f262a32373b3c4343434343433f3e3a342d251b110700000c1926323f4c5965727f8c98a5a89b8e8175685b4e4235281b0f000c1926323f4c5965727f8c93939d9f9c8f8276695c504336291d1000000000000007121c252e353b3e4046464646464646464646464646464646464645525d68717e8a949f999083776c60564c41362a24292c2d2e2f30302f353e454d545c606c717d8692999f93887d70685d52453a2f24180d0100000713202d3a4653606d798693a0aca194877b6e6154483b45515d6774818d9aa7a6998d8073665c606d7a85929faa9c8f8276695e53463c4955626f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000050e17232e38424d57616c74808d959faaa2978f82786c6058535e69717e8a939ea8a69f92877c6f675d51483e33291d140a0000000000000000000000000000020e1a25303b45515d676f7c8591979ea5a8a09e95908b8885838281807f7f7f7e7e7e7e7d7d808d9aa7afa396897c706356493d3023160a000000000000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b0a4978a7d7164574a3e3124170b0000000000000000000000091623303c4956636f7c8998a2aa998d807366564c41362a1e0a000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000a1724313d4a5764707d7d7d7d7d7d7d7d8391908376695d5043362a1d100300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8693a0acac9f9286796c5f5346392c2013000b1723303c47525c64676c6c6c6c6c6c6c68645d535d64686c6c6c6c6c6c6c66635c52473b2f23170a000000000e1a25313b4653606d798592998c8073665c535049413c342a22190b020000000000000002090e12141520202020202020201413110d080200000000000000040c141b212628292d2d2d2d2d2d2d2524221d18110900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e161e24292c2d3636363636363433302b251d20262b2e2f36363636363632312e29231b13090000000d1a2633404d596673808c99a6a89c8f8275695c4f4236291c0f000c1926323f4c5965727f8c989faaa99c8f8376695c504336291d100000000000020d19232e3740464b4c535353535353535353535353535353535353534c56616c76828f989f948b7e71685e52463d302f35393a3b3c3c3d3d3c383b424a515a626b707e87939f9a92857a6d60554b4135291d110400000713202d3a4653606d798693a0aca194877b6e6154483b4753606d7985929fab9f94887b6e62545d6774818e9ba89f93877b6e6154483d4955626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000006111c26303b45505a606d78839098a2a99f948c7f726a605b656e7b85929fa5a99f948c7f726a60554b40362c21170b0200000000000000000000000000000009141f2935414b555f6a6f7c858f939c9fa4a79f9d989892908f8d8d8c8c8b8b8b8b8a8a8a8d929da9afa396897c706356493d3023160a000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e0100000000010e1a2734414d5a6774808d9aa7b1a4978b7e7164584b3e3125180b0000000000000000000004111d2935414c566673808c99aaa298897d706356493d3025190d000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d394653606c79868a8a8a8a8a8a8a9195908376695d5043362a1d1003000000000000000000000000000000000000000000010406070d0b0a08050000000003080b0d0e0d070604000000000000000000000000000000000000000000000714202d3a4753606d7a86939f9f9f9f9286796c5f5346392c20130007131f2b36404a52585a606060606060605b59534b53595b606060606060605957524a40352a1f13070000000009141f2c3845515c67748086868685796d6053463f382f2a22191007000000000000000000000205070813131313131313130707050100000000000000000000030a1015191c1d20202020202020181815110c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c13191d2021292929292929282724201a13151b1f21222929292929292525221e181109010000000d1a2734404d5a6773808d9aa6a99c8f8376695c504336291d10000c1926323f4c5965727f8c98a5b2a99c8f8376695c504336291d10000000000006121e2a3540495157596060606060606060606060606060606060606060605a616e7b86929f9e92857a6d61594f42393a4045474848494a4a48443d3940445059616c73808c96a0978d8073675d5145392c20130600000713202d3a4653606d798693a0aca194877b6e615448424d5764717e8a97a2aa9c908376695f535563707d8996a1a49a8c7f7366594f444955626f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000000000a151e29333e45515c666e7b85929fa5a69f92877c6f67606c77828f97a2ada1978f82776c60584e43392f241a0f0500000000000000000000000000000000020d18242f3a434e585f6a6f7a82898f93999c9fa2aaa29f9d9b9a999998989898979797979a9da4aeafa396897c706356493d3023160a000000000000000b1824313e4b5764717e8a97a4b1a79a8d8174675a4e4134271b0e0100000000010e1b2734414e5a6774818d9aa7b1a4978a7e7164574b3e3124180b000000000000000000000713202c3945525d687683909da99f9285796d6053463a2d201308000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d394653606c7986939393939393939393908376695d5043362a1d10030000000000000000000000000000000000000001070d1113141a181715110c0601080f14181a1b191413100c0701000000000000000000000000000000000000000714202d3a4753606d798693939393939286796c5f5346392c201300030e19242f3840474c4d535353535353534e4d4841484d4e535353535353534d4b4740382e24190e020000000004101c2834404b55646e74797979786d665c5044382d261d18100700000000000000000000000000000000000000000000000000000000000000000000000000000005090d0f10131313131313130c0b090501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d1113141d1d1d1d1d1d1b1a18140f080a0f1215151d1d1d1d1d1d191816120d0700000000000e1b2734414e5a6774818d9aa7aa9d9083776a5d5044372a1d11000c1926323f4c5965727f8c98a5aca99c8f8376695c504336291d1000000000000a16232f3b46515b63666c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b69727f8c95a0978e81746b60544b40434b51535455565756554f473d343f47505a606d7884919e9f92857a6d6054473a2d21140700000713202d3a4653606d798693a0aca194877b6e61544846535e6976828f9ca9a2988b7e7165574d53606c7884919eac9e9184776b6054484955626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000030c17212834404b545f69717e8a929da7a3999184796d6a727f8c949fa9a49e92857b6e655b50463c31281d120800000000000000000000000000000000000007131d28313c464e585f686d757c82878b8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abacb5afa396897c706356493d3023160a000000000000000a1724313d4a5764707d8a97a3b0a79a8e8174675b4e4134281b0e0100000000010e1b2834414e5b6774818e9aa7b0a3978a7d7064574a3d3124170a000000000000000000000714212d3a4754606d7a86929fa89c8f8275665c5145382c1f1306000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d394653606c7986868686868686868686868276695d5043362a1d1003000000000000000000000000000000000000040c13181d2020272524211d17100b131a2024272726201f1c18120b030000000000000000000000000000000000000714202d3a4753606d798686868686868687796c5f5346392c2013000008121d262f363c3f414646464646464641403c373c404146464646464646403f3b352e261c12070000000000000c18232e3943525c64676c6c6c6b605c544a3f34281b140b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010407071010101010100e0d0b08030000030608091010101010100c0b0906010000000000000f1b2835424e5b6875818e9b9f9f9d9184776a5e5144372b1e11000c1926323f4c5965727f8c989f9f9f9c8f8376695c504336291d1000000000000c1925323e4b57636d737979797979797979797979797979797979797979797978736d7883919a9e93897d70665c51454b555d60616263636360594f4438353e44505c66727f8b98a2988a7e7164574b3e3124180b00000713202d3a4653606d798693a0aca194877b6e6154484953616e7b87939fac9f92867a6d605447505b6573808c99a6a096897c6f63554b4955626f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000000050f18232e39424d57616c74818e95a0aaa0968e81746f7c86929fa6a79d928a7d70695e53493f342b1f160c00000000000000000000000000000000000000010c161f2a343c464e565e616b6f757b7f8285888a8c8d8f8f9090919191919292929292999ba3acafa396897c706356493d3023160a000000000000000a1723303d4a5663707d8996a3b0a89b8e8175685b4e4235281b090000000000020f1b2835424e5b6875818e9ba8b0a3968a7d7063574a3d3024170a000000000000000000000b1724313e4a5764717d8a99a3a8988b7f7265544b4034281c1004000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000013202d3946535f6c7679797979797979797979797670665a4e4235291c0f030000000000000000000000000000000003090d161d24292c2d3431302d28221b141d252b303334332d2c29231d150d09030000000000000000000000000000000006131f2c3845515c67767979797979797979756a5e5245382c1f120000010b141d242b303334393939393939393534302b3034353939393939393933322f2a241c130a0000000000000007121d2730404a52585a6060605e53504a42382e23170a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2935424f5c6875818f939393939184786b5e5245382b1f12000c1926323f4c5965727f8c93939393938f8376695c504336291d1000000000000d192633404c5966737f868686868686868686868686868686868686868686868578666f7d88939f9d9184796d60574d515d676d6e6f6f70706b6055483d32343f4a54616e7b8899a49a8d8174675a4e4134271b0e01000713202d3a4653606d798693a0aca194877b6e615448505b6573808c9aa4a89b8e8174675d51454953616e7b88949fa89a8e8174675d514955626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000000007121d27303b45505a606d79839098a2a89d938a7e79839098a3aaa0958d80746c61564d41382d22190d040000000000000000000000000000000000000000040d18222a343c444c52596063696e7276797b7d7f81828383848484848585858585868b909ba7afa396897c706356493d3023160a000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4330251a0e0200000000030f1c2936424f5c6975828f9ca8b5ab95897c6f6256493c2f23160900000000000000000006121e2b37424d576774818e9aaba196887b6e6255483b2e23180c00000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000121e2b37434f5a646c6c6c6c6c6c6c6c6c6c6c6c69665e544a3e32261a0d01000000000000000000000000000000060e151a1f282f35393a403e3d39342d241d262f363c4041403a38342f271f1a140d0500000000000000000000000000000004101c2934404b555c6c6c6c6c6c6c6c6c6c6a63594e42362a1d11000000020b12191f2326272d2d2d2d2d2d2d282724202427282d2d2d2d2d2d2d2626231f19120a0100000000000000000b151e2f3840474c4d5353535246443f3830261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101c2936434f5c69768286868686868685786c5f5245392c1f12000c1926323f4c5965727f868686868686868276695c504336291d1000000000000d192633404c5966737f8c93939393939393939393939393939393939393939185786b6b74818e97a0968c7f73695f5353606d797b7b7c7d7d7063584e4338313a4653606d7986939f9c8f8276695c4f4336291c1003000713202d3a4653606d798693a0aca194877b6e61544853606c7884919eaca096897c7063554b4146535f697683909caa9f92857a6d60534955626f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000000000000000b151e2a333e45515c676e7b86929fa5a59e9285818e95a0aaa3989183796d60594f443b2f261b1007000000000000000000000000000000000000000000050e171e252a323a41464f54575e6165666d6f717374757676777777787878787879797e8b98a4afa396897c706356493d3023160a000000000000000814212e3b4754616e7b8798a3aeaa9d9084776a574d42362a1e12050000000005111d2935414c566a7783909daaafa399877b6e6154483b2e2115080000000000000000000814212d3a47535f697784919eaa9e9184786a5f53473a2e1d120700000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000f1b27333e49525a5f60606060606060606060605d5a544c43382d22160a000000000000000000000000000000060f1820262b313a4045474d4b49453e362d222f3841484c4e4c47454039312a251f170f050000000000000000000000000000000c18232f39434b515f606060606060605f5e5951473d31261a0e0000000001080e13171a1a202020202020201b1a1814181a1b202020202020201a1917130e0700000000000000000000030c1d262f363c3f41464646453a38342e261e150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f1c2835414e5a6670767979797979797873695d5144382b1e12000b1825313e4a57626d72797979797979797670665a4e4235291c0f00000000000d192633404c5966737f8c999999999999999da0a7a9a29f999999999999999185786b616d7a85929e9f92867b6e615a5c6976828788898a85786a605448423f404653606d798699a49c8f8376695c504336291d1003000713202d3a4653606d798693a0aca194877b6e61544c5663707d8996a1ab9e9184786c6053463a424d5765717e8b98a2a2988b7e7164574d55626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000000000030c18212934404b555f69717e8b939ea7a297928e939da7a69f92867c6f675d51473e32291d140a000000000000000000000000000000000000000000020c1720293036393a3e3f44484d5354545c606264666768696a6a6a6b6b6b6b6c6c6c717e8b98a4afa396897c706356493d3023160a000000000000000713202d3a4653606d7986929facab9f928578695e52463a2d201407000000000713202d3946525d687885929eabac9f9286796d6053463a2d2013070000000000000000000815222e3b4855616e7b8896a0ab9a8e817467584e43372b1f0b0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000a16212c3740494f535353535353535353535353504e4a433a31271c11050000000000000000000000000000030e18212a31373e434b51535a585650483e322b34414a53585a5953514b433e36312921170d03000000000000000000000000000007121d2731394045535353535353535353524e473f352b20150900000000000003070b0d0e131313131313130e0e0c080c0e0e131313131313130d0c0a07020000000000000000000000000b141d242b303334393939382d2c28231c150c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1926323e49545e66696c6c6c6c6c6c6c6961574c4135281c10000916222e3a46515b62656c6c6c6c6c6c6c69665e54493e3226190d00000000000d192633404c5966737f8c8c8c8c8c8c8c8c9095a0a297928c8c8c8c8c8c8c8c85786b5d68717e8b949f988f82766c61566673808d959697897c6f625b534d4c4d4f58626f7c8895ab9b8e8275685b4f4235281c0f02000713202d3a4653606d798693a0aca194877b6e6154525d6875818e9ba8a4998c7f73655b5044373b4754606d7a86929faa9c8f8276695e5355626f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000000000000060f18232f39434d57616c74818e95a0a9a29e9b9da5a99e948b7f726a5f554b40352c20170b0200000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f65717e8b98a4afa396897c706356493d3023160a0000000000000006121f2b3844505c667784909daaaea298877b6e6154483b2e21150a000000000714212e3a4754616d7a8797a1adaa9e918477665c5145382c1f1306000000000000000003101c28343f4a5465727e8b98a8a4998a7d7164574a3e31261a0f0000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000005101b252e373e4346464646464646464646464643423e3831281f150a0000000000000000000000000000000915202a333c424750555d606764615a50443a323d46535c646766605c554f46423b33291f14090000000000000000000000000000010b151f272f343846464646464646464645423d352d24190f0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b131a1f2426272d2d2d2b201f1c17110a03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915212d38424c545a5c6060606060605f5d574f463b3024180c0006121e29353f49515759606060606060605c5a544c42382d21160a0000000000091623303c4956636f7d808080808080808083909d9f928580808080808080807f726556626c76828f989f948a7e71685d626f7c89959f9c8f82756d615e57595959616a73808d99a8998d8073665a4d4033271a0d00000713202d3a4653606d798693a0aca194877b6e615454606d7a86929fac9f93877b6e6153493f333945515d6775818e9ba89f93877b6e615355626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000000000000007121d27313c45505a606d79839198a2adaba7a9ada1978f82776c60584e43392f231a0e05000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525965727f8c98a5afa396897c706356493d3023160a0000000000000003101c28343f4a546875818e9ba8b3aa978a7d7064574a3d32271b0d04000001081623303d495663707c8996a9b3a89c8f827569544b4034281c1004000000000000000006121f2c3844505c6675828f9ba89f93867a6d6054473a2d2114090000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000009131c252c33373939393939393939393939393635322d271f160d030000000000000000000000000000020e1a26313c454e535a61676d73716c61564c4137434e58646e74736d676159534d453b31251a0e020000000000000000000000000000030d151d23292c3939393939393939393836312b241b120800000000000000000000000104060712131313130908060300000000000000000000000000000000000000000000000000000001080e13171a1a2020201f1312100c0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101b26303a42494e4f53535353535352514c463d342a1f130800010d18232d373f464a4c53535353535353504e49423a31261c100500000000000915222f3b4854606b6f7373737373737374818e9b9e91847873737373737373726d62575a626e7b86929f9e91857a6d60606a7783909a9e948c7f756e69676666676b707c86929fa096897c6f6356493c3023160900000713202d3a4653606d798693a0aca194877b6e61545865727e8b98a3a99c8f8276695e5341382d35414b5563707d8996a1a49a8c7f73655b55626f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000000000000000000010b151f2a333e45515d676f7c86929facb8b4b8ab9e92857a6d655b50463c31271d11080000000000000000000000000000000000000000000005111d2a36414c565e6164656768696a6b68655d534840414243434444444545454d596673808c99a6afa295897c6f6256493c2f23160900000000000000000b17232e3f4b5865727e8b98a8b2a69a8d807367584e43372b1f15100c090e131e2a36414c5666727f8c99a5b3aa998c7f7366594c402e23180c0000000000000000000713202d3a4653606d7985929fa99d908376685d5245392c2013070000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000010a131b21272b2d2d2d2d2d2d2d2d2d2d2d2d2a2926221c150d0400000000000000000000000000000006121e2b37424e575f626c7179807e71685d52453c4754606a74817f79706b615e574d42362a1e1205000000000000000000000000000000030b12181c1f2d2d2d2d2d2d2d2d2c2c2a26201912090000000000000000000001070d1013141e202020201615130f0a0400000000000000000000000000000000000000000000000000000003070b0d0e131313120706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e2830383e41434646464646464544413b342b22180d02000007111b252d353a3e3f4646464646464643423e3831281f150a0000000000000713202c38444f5960636666666666666874818e9b9e9184786b66666666666665625b51535f6973808c96a0978d80746a6063707d88939f9c918c817b7673727374777d859298a29e9184786d6053463a2d20130700000713202d3a4653606d798693a0aca194877b6e61545f6a7683909daaa2978a7e7164574d422f262f3a4653606c7884919eac9e9184786c6055626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000000000000000030d18212935404b555f6a737f8c99a6b2bdb0a3968a7d70685e53493f342a1f150b00000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3d323536373737383835404b556774818e9aa7b2a995887b6e6255483b2f22150800000000000000000615222f3c4855626f7b8896a0acaa9d9184776a6054473c31271f1c181b1a1e242d3946525e6876838f9ca9aea298897c706356493d30231607000000000000000000091623303c4956636f7c8998a2aa998c807366564c4135291d11040000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000010910161b1e2020202020202020202020201d1c1a16110a03000000000000000000000000000000000814212e3a47535f6a6e767e848d857a6d60584e43505a626f7c888c847d756e695e53463a2d2114070000000000000000000000000000000001070c10132020202020202020201f1d1a150f0800000000000000000000040c12181d20202b2d2d2d2d22211f1b150e070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c161e262d323536393939393939393835302a22191006000000000a131b23292e3132393939393939393635322d261f160d03000000000000030f1b27323d474f545659595959595b6874818e9b9e9184786b5e5959595959595751494d57606d7984919e9f93877c6f66606b73808d939f9c938e8783807f8081848a9297a19f928a7d70665c5044382b1f120600000713202d3a4653606d798693a0aca194877b6e6154626f7c88959fab9f9285796d6053473b31202b3844505b6673808d99a7a096897c706355626f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000000000000000007121d27313c46505a606d7984919eaab7b9b1a4978b7e71695f554b40342820170b02000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372e2c2823282c2f3945515d677783909daaada196877a6d6054473a2d21140700000000000000000815212e3a47535f6a7784919eabaca095887c6f62584e4339312c282327262b2f35414c56616d7a86929facab9f9285796d6053463a2d201307000000000000000004111d2935414c566673808c99aaa298897c6f6356493c3024190d010000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000050a0f12131313131313131313131313100f0d0a050000000000000000000000000000000000000815222f3b4855626e7c828a91968d80746a5f534b55616c76839096918a827b6e6154483b2e21150800000000000000000000000000000000000000040613131313131313131312110e090400000000000000000000040d161d24292c2d38393939392f2e2b2620181007000000000000000000000004090d0f0f131313131313130d0c0a060200000000000000000000000105090b0b13131313100f0d0905000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c141b212628292d2d2d2d2d2d2c2b28241f1810070000000000010a11181e2225262d2d2d2d2d2d2d292926211c150d0400000000000000000b16212b353d4448494d4d4d4d4e5b6874818e9b9e9184786b5e514d4d4d4d4c4a463f45515c67707d89939e999083786d60606c77808c92989f9992908d8c8c8e91969e9f99928c80736b61544a3f34281c100300000713202d3a4653606d798693a0aca194877b6e615c6673808d9aa7a79a8d8174675c5145382c1f28333f4a54626e7b88959fa89b8e8174675d626f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000000000000000000060f18242f39434e58626c75818e96a0acafacafac9f92867b6e675c51453e32291d140a000000000000000000000000000000000000000000000815212e3b4854616e7b878c8d8e8f909184786a6054473f3a38342e34383a404b55606d7a86929facab9e918578675d5145392c201306000000000000000006121f2b37434e586673808d99a3afa89b8e81756a5f554b433c38342e3431373a4145525d68737f8c99a3afa79b8e8175675c5145382c1f130600000000000000000713202c3945525d687683909da99f9285796d6053463a2d201308000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d949e9f92877c6f625a515c67717e8a949f9e93867d7063574a3d3024170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f35393a45464646463c3b37322a22180e04000000000000000002091015191b1c20202020202020191916120d07000000000000000000060c11151718202020201d1c1915100a030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1015191c1c2020202020201f1e1c18130d060000000000000000070d12161819202020202020201d1c1916100a03000000000000000000040f19232b32383b3c404040414e5b6874818e9b9e9184786b5e51454040403f3e3a34404b55606b75818e97a0958c7f72695e656c777f868e92999b9c9a99999a9d9b99938f867f736e63594f42382e23170b0000000713202d3a4653606d798693a0aca194877b6e61606d7985929eaba095897c6f62554b4034291c222d3847535f697683909daa9f92857a6d60626f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000000000000030c18212935404b555f6a717e8b939ea8aba39fa3aba2989083796d60594f443b2f261c11060000000000000000000000000000000000000000000714212d3a46535e697884919a9b9c9d96897c6f625a504a464440434044464b515c67717e8b98a3aeaa9b8f827568554b4135291d11040000000000000000030f1a26313c4854616e7b87929faaac9f92877c6f675d554e46454041414142474c515b606d7a85929eabaca095897d7063554b4034281c100400000000000000000714212d3a4754606d7a86929fa89b8f8275665c5044382c1f1206000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000000004080a0a131313130d0c0a070200000000000000000000000713202d3a4653606d78839097a2999083766c6156606d7984919e9f958d80736b6155483c2f23160900000000000000000002070c0f11121313130e0706040000000000000000000000000000000000000000000007121d28313940454751535353534947433c342a20150a00000000000000030c141b212528292d2d2d2d2d2d2d2625231e19120a010000000000000911181d2124252d2d2d2d292826211b140c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005090d0f101313131313131212100c0802000000000000000000000106090b0c13131313131313100f0d0a0500000000000000000000000007111921272c2f30333335414e5b6874818e9b9e9184786b5e514538333332312e2e39434f59616d7a85929f9f92867b6e615b656c727b81868b8e9091929291908e8b87827c726d635c52473e30261c11060000000713202d3a4653606d798693a0aca194877b6e6164707d8a97a1ab9d9083776a605443392f23181c2b37424d5765727e8b98a3a2988b7e7164626f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000000000000b151e2a333c45515d676f7c86929fa5a79f999299a3aaa0958d80746b61564d42382d22170d04000000000000000000000000000000000000000005121e2a36424d576774818e9aa6a9a89b8e81756c605c5453514a504a5153555d606d7983919daaaea2988b7e7165584b3e2f24180d010000000000000000000a15212d3a46535e6975818e98a3aea3999083796d675f5853514b4e4e4e4d53555d606d74818e97a1ada69d9083776b605443392e23180c0000000000000000000b1724313e4a5764717d8a99a3a8988b7e7265544a3f34281c1003000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d10030000000000000000000000000000000000000000000000000000050b101416171f2020201a1917130e070000000000000000000006131f2c3845515c666e7b85929a9f948b7e71675e68737f8c96a1989083796d60594f44382c2014070000000000000000060d13181c1e1f2020201b1313100c0700000000000000000000000000000000000000010d18242f39434b51535e6060606055534e463c32261b0f040000000000020c151e262c3135363939393939393933322f2a231c130a000000000009121b22292e3132393939393635322d261e160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b202223262835414e5b6874818e9b9e9184786b5e5145382b2626251d27303d46525e68717e8b949f988f82756c615b606a6e757a7e81838585868584817f7b756f6a635b524940352c1e140a000000000713202d3a4653606d798693a0aca194877b6e616875828f9ca9a3998c7f7265584e4331271d121a26313c4754606d7a86929faa9c8f837669626f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000000000007121d27303c45505a606d79839198a2aa9f9590869299a4a79d928a7d70695e544a3f332820160c0100000000000000000000000000000000000000020e1a25313c4855626f7c88949faaaa9e938a7e726d6662605c545d545c6062676d75808d95a0aca99f92867a6d6154473a2e2114070000000000000000000005121e2a36424d57616e7b86929fa6aba0958f82796f6a63605c555b5a5b575f62676d747f8c939ea9a99f948a7d7064594f4430271d1207000000000000000005121e2b37424d576774818e9aaba096887b6e6155483b2e23170c00000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d1003000000000000000000000000000000000000000000000000000810171c2023242c2d2d2d2726231f19120a01000000000000000004101c2834404b545e69707d88939f9e91857a6d616e7b86929f9f92867b6e665c51473e33281c1004000000000000000710171e24282b2c2d2d2d28201f1c18120b03000000000000000000000000000000000004101d2935404b555d606b6c6c6c6c625f584e43372b21160a000000000009141e2730373d414246464646464646403e3b352e251c120700000006111b242d343a3d3e4646464643413e3830281e1108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040b0f1315161b2835414e5b6874818e9b9e9184786b5e5145382b1e1918151e2a36414c56606c778390999e938a7d70675d575f62686e717477787979787775726e69625f58514940372e231a0c02000000000713202d3a4653606d798693a0aca194877b6e616e7a86929fac9f92867a6d6154473d3221150b15202c3945525d6875818e9ba99f93877b6e626f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000000000000060f18232e39434d57616c74818e95a0aaa29890837d87939fa7a49e92857b6e665b50443d32281e130800000000000000000000000000000000000000000915212e3b47535f6a76828f98a2aea59f92877f78726f6d666a696a666d6f7379818d929da7aca2978d8074685d5246392d20130700000000000000000000020e1a25313b46535f69737f8c949fa7a79f948f837c75706d676867676869696e737a818c919ca5aaa1978f82766c6155473d331e150b0000000000000000000714212d3a46535f697784919eaa9e918477695f53463a2d1c110600000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000000006111a22282d30313939393933322f2a241c140a0000000000000000000c18232e39424d57616b73808d949f978d80746a74818e989d938a7e71695f544b40352c21160b0000000000000006101922292f343738393939352d2c28231d150c05000000000000000000000000000000000613202c3945515d676d78797979796f6a5f53473d32271b0f0100000004101b26303942494d4f535353535353534c4b4640372e23190d0200010c18222d363f454a4b53535353504e49423a30231a0f05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000307090e1b2835414e5b6874818e9b9e9184786b5e5145382b1e120b0c1925303a44505b656f7c87929f9e9184796d605853565e6165686a6b6c6c6b6a6865615e57534e463f372e251c110800000000000713202d3a4653606d798693a0aca194877b6e66727f8c99a3a99b8f8275685e5246392d201304111d2935414c5663707d8a97a1a49a8c8073656f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000000030c17212834404b555f69717e8a939da7a59f92867b73808d95a0aaa1978f82786c60594f443a2f241910060000000000000000000000000000000000000006121f2b37434e58626f7c86929fa4aca399928b837f7b797777767777797c80858e939da4aea49a92857a6d61564c4135291d1105000000000000000000000009141f2a36424d57606d78828f959fa7a69f959087817d79777574747476787b80858e939ca3aaa29892857b6e615a5044352b210c030000000000000000000815222e3b4855616e7b8896a0ab9a8d817467574d42362a1e0a0000000000000000000000000004111e2a3744515d6a7784909daaa99c8f8376695c504336291d100300000000000000000000000000000000000000000000030a1117242c33393c3d46464646403f3b352e261c120700000000000000050c121d27303b454f59606d788290979f92877c6f7c87939f958e81746c61574d42392e231a110c060000000000020d17222b333b404445464646413a38342e271e170e060000000000000000000000000000000714202d3a4753606d7a84868686877c6f62594f44382c1d12070000000915212c37424c545a5c606060606060605957514940352a1e12060005111d29343f48505658606060605c5a544c42352b21160b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1b2835414e5b6874818e9b9e9184786b5e5145382b1e120008131e27333f49535f6a73808d96a0968d80736a5f534c5254585b5d5e5f5f5e5d5b5854524d47433c342d251c130a0000000000000713202d3a4653606d798693a0aca194877b6e6a7784919daba1978a7d7064564c41362a1e11050d19242f3a4653606d7984919eac9e9184786c6f7c8895a2aca09386796d6053463a2d201307000000000000000000000000000000000b151e29333b45515c676e7b86929fa5a89e938b7e716d79839098a3a99f948c7f736b60564c41352922180d03000000000000000000000000000000000000030f1b26323c47535f6a717e8b939aa2aaa39f95918c8886848483838485898c92979ea5aaa39f93887d70685e52443a3024190d010000000000000000000000030e1a26313b44505c666d7a8390959da5a7a099938e898683828181818385888c92979da5a7a09892867d70695e52483e3323190f00000000000000000003101c28343f4a5465727e8b98a8a3998a7d7064574a3d31261a0e0200000000000000000000000004111e2a3744515d6a7784909d9f9f9c8f8376695c504336291d1003000000000000000000000000000000000000000000040c151c2328363e44494a525353534d4b4740382e24190e0200000000000810171d1e252a333e44505c666e7b85929a9990827982909a989183796d605a50453c302a251e1d1710090000000007131e29333d454c50525353534e4645403930292018100800000000000000000000000000000613202c3945515d67707d8a949a8f82766b605448392f24180c0000000d1925313d49545e65696c6c6c6c6c6c6c66635b51463b2f23160a000915212e3a45505a62656c6c6c6c69665e54473d33271c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000205070e1b2835414e5b6874818e9b9e9184786b5e5145382b1e1205020b17222d38414e58606d7984919e9f92877c6f655b5046474b4e5152525352514e4c4846423b37312a221c130a010000000000000713202d3a4653606d798693a0aca194877a6e6f7c8995a0ab9e9185796d6053463a3025190d0108131f2b3844505c6673808d9aa7a196897d706f7c8895a2aca09386796d6053463a2d20130700000000000000000000000000000007121c27303b45505a606d79839098a2aba0968e81756c666e7c86929fa6a69f92877c6f685d52453f342a1f150b010000000000000000000000000000000000000a15202b37434e58616c727f8892989fa3a7a09d99999291909090919298999ea2a9a69f98928b7f726c61564c4132281e13080000000000000000000000000009141f28343f4a545e686d7a838e929d9fa7a49f9b9892908e8e8d8e8f9197999ea1a9a29e9590867d706b60574d42362c22110800000000000000000006121f2c3844505c6675828f9ba89f92867a6d6054473a2d2114090000000000000000000000000004111e2a3744515d6a778490939393938f8376695c504336291d10030000000000000000000000000000000000000000060d161e262e343f485055575f6060605a57524a40352a1f13070000000008121a22282d3036393a3f4a545e69707d88939f948e828e949f92867c6f675d51483e3a3936302d28221b12090000000c18242f3b454f575d5f6060605b53514b423a322a221a11070000000000000000000000000004101d2935404b55616c75828f9c94897c6f63554b4035291d100400000f1b2835414d5a65707579797979797979736d63574b3e3225190c000b1724313d4a56626d7179797979767066594f44382c20150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090e1114141b2835414e5b6874818e9b9e9184786b5e5145382b1e12050006111b262f3c45515d67707d8a939e999083776c60564c413e41444546464544423f3b3a36302b262018100a01000000000000000713202d3a4653606d798693a0aca094877a6d74818d9aa8a79a8d8073665c504438291e13080003101c28343f4a54626e7b88959fa89b8e81746f7c8895a2aca09386796d6053463a2d2013070000000000000000000000000000050f18232e39424d57616c74808d95a0aaa39991847a6d605f6a727f8b949fa9a39991847a6d605a50463c31271d1207000000000000000000000000000000000000040f1a26313c46505a636d727e868e92999da0a8aba39f9e9d9c9d9e9fa2aaaaa29f9b948f867e726d62594f443a3020160c0200000000000000000000000000030b17232e38424c565e686d79818990959b9fa2aaa39f9d9b9a9a9b9c9ea1a9a49f9c97928c837b706b60594f453b30241a10000000000000000000000713202d3a4653606d7985929fa99c908376675d5145392c2013060000000000000000000000000004111e2a3744515d6a77838686868686868276695c504336291d100300000000000000000000000000000000000000070f18202830383f44515a61646c6c6c6c66635c52473b2f23170a00000005101a242c33393a4146474a4d5357606b73808c949e938e939e938b7f726a5f55534d4b4746413a39342c241b100600000f1c2834404c5761696b6c6c6c68605c544c443c342c2318120b030000000000000000000000010d18242f3943505a626f7c89949b8e8175675d5145392c1f130600000f1c2936424f5c697582868686868686867f7366594c403326190d000b1825323e4b5865717e8686868682766b6054483c32271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d14191e2021272835414e5b6874818e9b9e9184786b5e5145382b1e120500000a141d2935404b55616b75818e989f958b7e72685e52463d3037383939383735322e2d2a251f1a150e060000000000000000000713202d3a4653606d798693a0aca093877a6d7985919eab9f95887b6e62544a3f3428170d0200000b17232e3847535f6a7783909dab9f9285796f7b8895a2aca09386796d6053463a2d20130700000000000000000000000000020c17212834404a545f69717e8a929da7a69f92877c6f675d58606c77828f97a1aba1968e81756d62584e43392f23180f050000000000000000000000000000000000000a15202a343e48515b636c717b81878c919597999c9d9e9e9f9f9f9e9d9b9998928e89827b716c625b51473e32281e0e0400000000000000000000000000000006111c26303a444c565e676d747c83898e9298999b9d9e9f9f9f9f9e9d9b999993908b857f786e6960594f473d33291f120800000000000000000000091623303c4956636f7c8998a2a9998c7f7366554b4135291d1104000000000000000000000000020d17222b36424f5b6771777979797979797670665a4e4235291c0f030000000000000000000000000000000000000810192129323a424a505b636c7079797979736e63574b3f3226190c0000000c17222c363e45494c525457575f6165656d78828f9c9e9b9e9b8f82756d6865615e575754524c49453e362c22170c0000111e2b3744505d697378797979746d665e564e463e3528231c150c04000000000000000000000007121d28313e4754606a7683909c9285796d6053473a2d20140700000f1c2936424f5c6975828f93939393938c7f7366594c403326190d000613202d394653606c7883909994897d7063584e43372b1f130600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171f252a2d2e342d35414e5b6874818e9b9e9184786b5e5145382b1e12050000020b18242f39434f59616e7b85929f9f92857a6e61594f43392e232c2c2b2a282521201e1a140f0a03000000000000000000000713202d3a4653606d798693a0aca093867a6f7c8997a1aa9d9083766a5f5342382e23170500000006111c2b37434e5865727f8b99a3a2988a7e717b8895a1aca09386796d6053463a2d201307000000000000000000000000000a141e29333b44515c666e7b85929fa4a99f948c7f726a6055505b656e7a85929ea5a89e938b7e716a5f554b40342921170c020000000000000000000000000000000000030e18222d363f49515a61696e747b8084888b8d8f90919292929291908e8c8985817c766e69615a51493f352c20160c00000000000000000000000000000000000a141e28323a444c555c606b6f777d8185898c8e90919292929291908f8d8a86837e79726d665f574f473d352b20170d0000000000000000000004111d2935414c566673808c99aaa197897c6f6256493c2f24180d0100000000000000000000000007131e29333d454c555f676a6c6c6c6c6c6c69665e54493e3226190d01000000000000000000000000000000000007121a222b333b444c545c606d727e868686868073665a4d4033271a0d000005111d28333e485055565e616467696e7175787c808d99a6a8a6998c807c7875716e696764615e565550483e34281d110500121f2c3845525f6b788586868681786d685f584f473f342e271e160e0600000000000000000000010c161f2b37434e5864717e8a99988a7e7164574a3e3124170700000f1c2936424f5c6975828f9c9f9f9f998c7f7366594c403326190d0005121f2b3744505b656f7c87939d9083776a6054473b2e221509000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17202930363a3b413a38414e5b6874818e9b9e9184786b5e5145382b1e120500000007121d27313e46525e68727f8b959f978e81756b60554b4034281f201f1e1b191514120e09030000000000000000000000000713202d3a4653606d798693a0aca093867974808d9aa9a3988b7e7265584e4330261c1106000000000f1a26313c4754616d7a86929faa9b8f82757b8894a1aca09386796d6053463a2d20130700000000000000000000000006111c26303b454f59606d78839097a2ada1978f82786c60584e49535e68707e8a939da8a59f92867c6f675c51453e33291e140a00000000000000000000000000000000000006101b242e373f4850575e61696e73777b7e80828484858686858583827f7d79756f6b625f5750483f372d231a0e040000000000000000000000000000000000020c162029323a434b515960636b7075797c7f82838485868685858382807d7a76726d67605c544d453d352b23190e05000000000000000000000713202c3945525d687683909da99e9285796c605346392d201307000000000000000000000000000c18242f3b454f575d5f60606060606060605c5a544c42382d21160a00000000000000000000000000000000030b1218242c343d454d565d666d747f87929892857b6e6154473b2e21140800000814212d3945505a6164686d7174777b7e8185888d929ca8b3a89c928c8885817e7b7774716d6864615a5045392d211508000c1926323f4c5965727f8c93938e827a6f6a615951444039302820180f0700000000000000000000040d1b27323d4754606d7a86929a8d8174675a4e412f24180d01000f1c2936424f5c6975828f9ca8aca6998c7f7366594c403326190d00030f1b27333f49535f6a75828f9b95887c6f6255493c31261a0e02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29323b4246474d4745404e5b6874818e9b9e9184786b5e5145382b1e1205000000010b151f2a36414d56606c788390999e93897d70675c51453c31261a0e110f0c0807050200000000000000000000000000000713202d3a4653606d798693a0afa39986797884919eab9f92867a6d6054473c3121150a00000000000a15202d3946525d6875828f9ba99f92867a7b8894a1aca09386796d6053463a2d2013070000000000000000000000050e17232e38424d57616b73808d959fa9a49e92857b6e665b5046414d56616c74818e96a0aba2989083796d605a50453b30261c110600000000000000000000000000000000000009121c25333d45454d52575f62666a6e71737577787879797978777573706d67636059534d453e362d251b110800000000000000000000000000000000000000050e1720333d454c504f54596063676d70727576787879797878777573706d6865605d55504a423c332b2319110700000000000000000000000714212d3a4754606d7a86929fa89b8e8175665b5044382b1f1206000000000000000000000000000f1c2834404c5761696b6c6c6c68605c544c504e49423a31261c1005000000000000000000000000000000050c151d2328363e464f575f686d78818c939993877d70695e52463a2d20140700000a1723303d4955616c71777a7e8184888b8e9297999e9ea1a9a39f9e9997918e8b8784817e7a77716c6155493d3024170a000b1825313e4a56626d75818f969490847c706b625b514a423a322a2119110600000000000000000915202b353f4745515d677683909c9083766a554b4035291d1004000f1c2936424f5c6975828f9ca8b2a6998c7f7366594c403326190d00000b17222d38414e58636f7c89959a8d807367574d42372b1e120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1925303b444d52545a53514b4e5b6874818e9b9e9184786b5e5145382b1e120500000000030d1925303b44505b666f7c87929f9e9184796d60574d42372b20160c02000000000000000000000000000000000000000713202d3a4653606d798693a0ac9f9286797c8996a1a89b8e8175685d5245392c201303000000000005111d2935414c5663707d8a97a1a2988a7d7b8794a1aca09386796d6053463a2d20130700000000000000000000020b172028343f4a545e69707d8a929da7a79d928a7d70695e544a3f3b44505a606d79849199a3aaa0958d80746c61574d42382e23170e0400000000000000000000000000000000000c18242f3a454f575c5f606059575f626466696a6b6b6c6c6c6b6a686663605d55544f47423c332d241b130900000000000000000000000000000000000000000c18242f3a454f575c5f606059555c606366686a6b6c6c6c6c6b6a686664615e5653514b443f38302a211911080000000000000000000000000a1724313d4a5764707d8a99a3a7988b7e7165544a3f33281c0f0300000000000000000000000000111e2b3744505d697378797979746d665e564e463e3528231c150c040000000000000000000000000000060e161e272e344048505960696e7a828e939f948c7f736b60574d42362a1e110500000b1724313e4a5764717e83878a8e9196989b9e9c97919197a1989292979c9e9b9896918e8a87837e7164574b3e3124180b000916222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a020000000000010e1a26313d4751595e556673808d99928578675d5145392c201306000f1c2936424f5c6975828f9ca8aa9f998c7f7366594c403326190d000006111b262f3c4854606b7783909d918478695f53473a2d2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36424d565e6167605c554e5b6874818e9b9e9184786b5e5145382b1e1205000000000008141f28333f4a545f6a73808d96a0968c8073695f53473e32281e1308000000000000000000000000000000000000000713202d3a4653606d798693a0ac9f928579808d9aa8a196897d7063564c4135291d11040000000000010d1924303a4653606d7985929eaa9b8e817a8794a0b5a09386796d6053463a2d201307000000000000000000000a141d29323b44505c666e7b85929ea4aaa0958d80746c61574d4238323e45515d676f7c87929fa7a79d928a7e70695e544a3f342820160c02000000000000000000000000000000030f1c2834404c5761686b6c6c66635b55585a5c5d5e5f565e61666a6c6c6a66605d564e463c322a211b12090100000000000000000000000000000000000000030f1c2834404c5761686b6c6c66635b5356595b5d5e5f565e61666a6c6c6a66605d564e463c342e261e180f0800000000000000000000000005121e2b37424d576774818d9aaba095877b6e6154483b2d22170b0000000000000000000000000000121f2c3845525f6b788586868681786d685f584f473f342e271e160e06000000000000000000000000070f18202830394045525a616b6f7b838f949d968f82776c60594f453b30251a0e0200000a1724313d4a5764707d8a939a9a9ea09e9a938f8a8585919e9286858a8f93999ea09e9a9a938a7d7164574a3e3124170b0006121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c030000000004111d2a36424e59636a6c6c727f8b9897867a6d6053473a2d201407000f1c2935424f5c6875828f9b9f9d93938c7f7366594c403326190d000007111b252c38444f596673808c9996887b6e6155483b2e221508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e696e746d675f585b6874818e9b9e9184786b5e5145382b1e12050000000000020b17222d38424e58606d7984919e9f92867b6e625a50443a3024190c030000000000000000000000000000000000000713202d3a4653606d798693a0ab9f92857884919eac9e9184786c6053463a2f24190d0100000000000008131f2c3844505c6673808d9aa79e9285798699a3afa09386796d6053463a2d20130700000000000000000006111c262f3b444f59606d78829097a1ada3989083796d605a50453b2f2935404b55606a73808c959faaa49f92857b6e665c50443d32281e130800000000000000000000000000000005111e2b3744505c6873787979736d63574b4d4f50555d60686d7276787977736d685f584e443b3025190e02000000000000000000000000000000000000000005111e2b3744505c6873787979736d6357494c4f50555d60686d7276787977736d685f584e443b3025190c06000000000000000000000000000714212d3a46535f697784919eaa9d918477695e52463a2d1c110600000000000000000000000000000c1926323f4c5965727f8c93938e827a6f6a615951444039302820180f0700000000000000000000071019212a323a434b515b636c717d8591959f9991847a6d655b50473d33291f14090000000713202d3a4653606d7985929f9f9c97928d87827d7883909c9285787d82878c91969b9f9f9285796d6053473a2d20140700010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c0300000006121f2c3845525e6a757979797e8a9794877b6e6154483b2e211508000e1b2835414e5b6874818e9b95898686867f7366594c403326190d00010d18232d373f464956636f7c8999978a7d7164574a3e3124170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7b80796f6a605b6874818e9b9e9184786b5e5145382b1e120500000000000006111c262f3c45515d67707d8a939e988f82766c61564c4135291e150a0000000000000000000000000000000000000713202d3a4653606d798693a0ab9e92857b8896a1a49a8c8073655b504437281e13080000000000000003101c28343f4a54626f7c8895a0a197897c86929faca09386796d6053463a2d2013070000000000000000050e17222d38424c56606b73808d949fa9a69f92867c6f675d51473e3329242f3a434e58606d78839098a2ada2979082786d60594f443a3025191006000000000000000000000000000005121f2c3845525f6b788586867f7366574d4e535a61676d727a7f83858584807a6f6a5f564d42362a1f1408000000000000000000000000000000000000000005121f2c3845525f6b788586867f7366574d4e535a61676d727a7f83858584807a6f6a5f564d42362a1f1408000000000000000000000000000815222e3b4855616e7b8896a0aa9a8d807467574d42362a1e0a0000000000000000000000000000000b1825313e4a56626d75818f969490847c706b625b514a423a322a211911060000000000000000040f19222b333c444c555c606d737e869297a09f92877c6f685d53493f352b20170d0200000006131f2c3845515c6775818e9a948f8a85807b76717783909d92857971767b80848a8f92998e8175675d5145382c1f13060000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b0000000613202c3946535f6c798786868a909a95887b6e6255483b2f221508000e1b2734414e5a6774818d9a9083797979736d63574b3e3225190c0006121e29353f49515759606d798692998c7f7366594c403326190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b87837c726c656874818e9b9e9184786b5e5145382b1e1205000000000000000a141d2935404b55616c75828f989f948a7e71685d52453d30261c110600000000000000000000000000000000000713202d3a4653606d798693a0ab9e91847f8c99a89f93877b6e6153493f3327160c0100000000000000000c17232e3847535f6a7783909da9998c7f85929faba09386796d6053463a2d20130700000000000000020b162028333f4a545e68707d88939fa6a99e938b7f726a5f554b40352c201d28313d44505c666e7b86929fa6a99f948c80736b60564c41352922180d030000000000000000000000000004101d2a3743505d6a7683908f8276695e54585f626c71797f858c909292908c857c6f695e52463b3025190e020000000000000000000000000000000000000004101d2a3743505d6a7683908f8276695e54585f626c71797f858c909292908c857c6f695e52463b3025190e02000000000000000000000003101c28343f4a5465727e8b98a8a398897d7063564a3d30251a0e0000000000000000000000000000000916222e3a46515b606d7a8491989691867d726d605c544c443c332b2317110a020000000000000a16212b343d454d565e676d757f8a9298a19e938b7f726a60564c41382d23190e050000000004101c2834404b5564707d8a8d88837e79736e696a7784919d9886796d696e73787d82868c8a7d7064554b4035291d100400000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d120700000613202c3946535f6c79869293979aa295887c6f6255493c2f221609000d1a2733404d5a6673808d99918578666c66635b51463b2f23160a000916222e3a46515b62656c667885919a8d8174675a4e4134271b0e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8790867f776e6974818e9b9e9184786b5e5145382b1e120500000000000000020b18242f3a43505a616e7b86929f9e92857a6d60594f42382e23170c03000000000000000000000000000000000713202d3a4653606d798693a0aa9e918482909caa9c8f8276695f5341382d22170400000000000000000006111c2b37434e5865727f8b99a39d908384919eaba09386796d6053463a2d201307000000000000000a141d28323a44505b666e7a85929aa4aba1968f82756d62584e43392f231a161f28343f4a545f69717e8b939ea9a69f93877d70685e52463f342a1f150b01000000000000000000000000020f1b2835424e5b6875818e92877b6e6663646a6f767e848c92989d9f9f9d9791857b6e61564d41362a1e110500000000000000000000000000000000000000020f1b2835424e5b6875818e92877b6e6663646a6f767e848c92989d9f9f9d9791857b6e61564d41362a1e1105000000000000000000000006121f2c3844505c6675828f9ba89f9286796d6053473a2d20140900000000000000000000000000000006121e29353f45525d686f7c86929f9892877f746d665d564d453d3528231c140c0300000000030f1b27323d464e575f686d79818c929fa3a0958e81756d62584e443a2f261b11080000000000000c18232e3a4653606d7984807b76716d66615f6b7884919e93877a6d6061666c70757a7f83796d6053463a2f24180c00000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c00000613202c3946535f6c7986929fa4a6a295887c6f6255493c2f221609000b1825323e4b5865717e8b989286796d605957514940352a1e1206000b1825313e4a57626d7279797983909b8e8275685b4f4235281c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8798928c827b7174818e9b9e9184786b5e5145382b1e1205000000000000000007131d28313e46525e69727f8c95a0978e81746b60544a3f34281f1409000000000000000000000000000000000713202d3a4653606d798693a0ab9e918587929fa2988b7e7164574d422f261b1106000000000000000000000f1b26313c4754616d7a86929f9f928785929eaba09386796d6053463a2d20130700000000000006111b262f3a444f59606c78828f97a1aca49991847a6d615b51463c31271d110d17232e38424d57626d75828f97a1ada49991847a6d615b51463c31271d1207000000000000000000000000000c1926333f4c5966727f8c998f8279727071757c838a91969fa2aaa3a3a9a1978e8174685e5246392d20140600000000000000000000000000000000000000000c1926333f4c5966727f8c998f8279727071757c838a91969fa2aaa3a3a9a1978e8174685e5246392d20140600000000000000000000000713202d3a4653606d7985929fa99c8f8276675d5145382c1f1306000000000000000000000000000000010d18232935414c565f6a727e8b939e99938c81786d685f574f473f342e261e150c0300000007131f2c38434e5860696e7a828e939ca4a2989183796d605b51463d32281d140a0000000000000007131f2c3845515c676d78746e6a64605c545f6b7885929e94877b6e61545b6063686e72776d675c5145382c1d12070000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c1004000613202c3946535f6c7986929facafa295887c6f6255493c2f221609000916232f3c4956626f7c899a99897c6f6356494640372e23190d02000c1926323f4c5965727f86868689959c8f8275695c4f4236291c0f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b879298948f857e74818e9b9e9184786b5e5145382b1e12050000000000000000010c161f2a36424d57606d788390999f93887c6f665c50443b31251a0d040000000000000000000000000000000713202d3a4653606d798693a0ada197919299a39f9285796d6053473b3120140a00000000000000000000000a15202d3946525e6875828f9ba399929297a1ada09386796d6053463a2d2013070000000000040e17222d38414c56606b737f8c949fa9a79f93877d70685e52493f342a1f150b06111c26303c45505a616d7a85919ea4aba1968f82756d62584e43392f24180f060000000000000000000000000a1623303d495663707c8998948f837e7d7e828790949ea1a19e9996979a9f9f92877b6e6154473b2d22170b00000000000000000000000000000000000000000a1623303d495663707c8998948f837e7d7e828790949ea1a19e9996979a9f9f92877b6e6154473b2d22170b0000000000000000000000091623303c4956636f7c8997a2a9988c7f7265554b4035291d100400000000000000000000000000000000070d19242f3a434e58626d75818e95a09f928e827a6e69605951443f3830271e150b0000000915222e3b4854606a6f7b8490949ea5a49f92867c6e675d51493f342b20160b020000000000000004101c2834404b555c666c66625f575351505b657985929f95887b6e62555053565e61666a605c554b4034281c0b01000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f1306000613202c3946535f6c7986929facafa295887c6f6255493c2f221609000714202d3a4753606d7a8693998c807366594f44382c251c120700000c1926323f4c5965727f8c93939da09c8f8276695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c787f86909597928a81818e9b9e9184786b5e5145382b1e1205000000000000000000040d1a25303b44505c666f7c87939f9a9083786d60574d42362a1f160c0100000000000000000000000000000713202d3a4653606d798693a0b3a9a19e9fa3a89a8e8174675d5145392c1f1302000000000000000000000005111d2a36414c5664707d8a97a1a39f9ea1a9b3a09386796d6053463a2d20130700000000020c162027333f49535e686f7d87929fa6aa9f958d80736b60564c41372d22180d03000a151e2a333f46525e68707d8a929da8a89e938b7f726a5f554b40352921170d0300000000000000000000000713202d3a4653606d7985929f95908b898b8f93999fa39f97918c8a8a8e9299998c7f7265544a3f33281c0f03000000000000000000000000000000000000000713202d3a4653606d7985929f95908b898b8f93999fa39f97918c8a8a8e9299998c7f7265544a3f33281c0f0300000000000000000004111d2935414c566673808c99a9a197887c6f6255483c2f24180c00000000000000000000000000000000000008131e28313c46515b606d79839198a29d948f847b706b625b504a423930271d120700000916232f3c4956626f7c85919693939393928a7e716a5f554b40372d22190e040000000000000000000c18232e39434b545b605b54534e464653606c7986939f95897c6f625649464c5254595d53514b43392e23180c000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d201307000613202c3946535f6c7986929facaca295887c6f6255493c2f221609000613202c3945515d677783909d9083776b6054483d30261c110600000c1926323f4c5965727f8c989faaa99c8f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505b666c727c838c9299938e8e939e9e9184786b5e5145382b1e12050000000000000000000009141f28343f4a54606a74808d97a0958c7f72695e53463e31281d130700000000000000000000000000000713202d3a4653606d798693a0acb3adabacaca095897c6f62554b4035291d10040000000000000000000000010d1925303a4653606d7985929eabacabadb3aca09386796d6053463a2d2013070000000008131e28323a44505b656d7a849199a3aea2989083786d60594f443a30251b10060000030c18212a36414c56616b74808d95a0aba69f92867c6f675d51453e33291f1409000000000000000000000006131f2c3845515c6774818d98a09d9896979b9fa49f99928d85807d7d818792998f8276665b5044382b1f12060000000000000000000000000000000000000006131f2c3845515c6774818d98a09d9896979b9fa49f99928d85807d7d818792998f8276665b5044382b1f12060000000000000000000613202c3945525d687683909da99e9185786c605346392d201307000000000000000000000000000000000000010c161f2a343f45515d676e7c86929fa59f9691857d726d605c544b42392e23180c00000d1a2633404d59667380868686868686868680746c61574e43392f251b10070000000000000000000007121d273039424a5053504a47423c4753606d7a869aa496897c706356493d4146474c504645403930271d12070000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e211408000613202c3946535f6c7986929f9f9f9f95887c6f6255493c2f2216090004101d2935404b556673808c9995897d7063584e42382e23170b00000c1926323f4c5965727f8c98a5b2a99c8f8376695c504336291d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1c28333f4a545b606a6e787f8690959b9b9ea59e9184786b5e5145382b1e120500000000000000000000030b17232e38424e58606d7a84919e9f92867b6e615a50433a2f24180d01000000000000000000000000000713202d3a4653606d798693a0acacacacb5ab9d9184776a605443392f24180c0000000000000000000000000008131f2c3844515c6674808d9aa7b1acacacaca09386796d6053463a2d201307000000010d1924303a444e58606c77828f96a1aba59f92857b6e665c50473d32281e130900000000060f1925303a444f59606d79839199a3aea3989183796d605a50453b31261a0e020000000000000000000004101c2834404b55616e7b86929fa4a5a3a4a7a09d948f868079737070747d87939285796c605346392d2013060000000000000000000000000000000000000004101c2834404b55616e7b86929fa4a5a3a4a7a09d948f868079737070747d87939285796c605346392d2013060000000000000000000714212d3a4754606d7a86929fac9b8e8174655b5044372b1f120500000000000000000000000000000000000000040d18222935404b555f6a717e8a939da7a09792877f746d665c544b4034281c1004000c1925323f4b57636d737979797979797979746e645a50453c31281d12090000000000000000000000000b151e272f383f4446443f38373a4754616d7a8794a0978a7d7064574a3d36393b3f443a38342e271e150b00000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d201407000613202c3946535f6c7986929393939393887c6f6255493c2f22160900010d18242f3b4855616e7b88949c8f82756a60544a3f34281c1003000c1926323f4c5965727f8c98a5aca99c8f8376695c504336291d1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38424a50585f666d727c838c9299a0a79e9184786b5e5145382b1e1205000000000000000000000006111c26303d45515d67717e8a949e988f82756c61554b4035291d1104000000000000000000000000000713202d3a4653606d7986939f9f9f9f9f9fa3998c7f7266584e4331271d12070000000000000000000000000004101c2834404a54626f7c8895a09f9f9f9f9f9f9386796d6053463a2d20130700000004111d2935414c56606a727f8c949ea8a89e938a7e71695f544a3f352b20160c00000000000008131e29323e45515d676f7c87929fa69fa0958e81746c61574d42362a1e120500000000000000000000000c18232e3946525e69727f8b929b9e9f9e9b959089827b736d6763646b74818e98887b6e6255483b2f22150800000000000000000000000000000000000000000c18232e3946525e69727f8b929b9e9f9e9b959089827b736d6763646b74818e98887b6e6255483b2f2215080000000000000000000a1724313d4a5764707d8a99a3a49a8a7e716453493f33271b0f030000000000000000000000000000000000000000071018242f39434e58616c74818e95a0a9a299928b80786d665c5145382c1f1306000a16232f3b47525b63666c6c6c6c6c6c6c6c67645c52483e332a1f160c00000000000000000000000000030c151d262d33383938332d2e3b4854616e7b87949f978a7e7164574b3e312d2e33372d2c28231d150c030000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e1105000613202c3946535f6c7987868686868686867c6f6255493c2f22160900000714212d3a47535f6975828f9c93877c6f665c5044382b1f1206000c1926323f4c5965727f8c989f9f9f9c8f8376695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c262f383f444e545c606a6f788087909593939184786b5e5145382b1e12050000000000000000000000000a141e2935414c55616c75828f9893948a7d70675d5145392c201306000000000000000000000000000713202d3a4653606d7986939393939393939392867b6e6154473d3221150b0100000000000000000000000000000c18232e394754606a778390939393939393939386796d6053463a2d2013070000000713202c3945525d686f7c879293939393968e81746c61574d42382e23190e04000000000000020c17202935404b55606a727f8c9493939393938a7e71695f53463a2d211407000000000000000000000007121d2a36424d56626d7380898f9292918f8a837d766e69605d5559626f7c89988a7d7063574a3d3024170a000000000000000000000000000000000000000007121d2a36424d56626d7380898f9292918f8a837d766e69605d5559626f7c89988a7d7063574a3d3024170a0000000000000000000e1b2734414e5a6774818d93939393877a6d6154473a2d22170b0000000000000000000000000000000000000000000007121d28313c46505a606d7983909893939393928d82796d6053463a2d2013070007131e2a35404952575960606060606060605a58524a40362c21180d040000000000000000000000000000030b141c22282b2d2b28222f3b4855626e7b889393938b7e7265584b3f322521262a201f1c18120b030000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e020006121f2c3845525e6a757979797979797979766a6054473b2e221508000006121e2b37424d57626f7c89939a9083786d6053463a2d201307000c1926323f4c5965727f8c93939393938f8376695c504336291d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262d333c424a50585f666d737c838686868684786b5e5145382b1e1205000000000000000000000000020c19242f3a43505a616e7b8686868686847a6d6053473a2d201407000000000000000000000000000713202d3a4653606d78868686868686868686868275685e5246392d20140300000000000000000000000000000007121c2b37434e5865727f86868686868686868686786d6053463a2d2013070000000714212d3a4754606d7a848686868686868684796d605a50453b30261c11070000000000000000050e18242f39434e58606c788286868686868686857b6e6155483b2e2215080000000000000000000000000e1925303b44515b636e737d82858684827d78706b625f57514b53606d788686867f7265584c3f3225190c0000000000000000000000000000000000000000000e1925303b44515b636e737d82858684827d78706b625f57514b53606d788686867f7265584c3f3225190c000000000000000000111e2b3844515e6b778486868686868377685e5246392d1b110600000000000000000000000000000000000000000000010c161f2a343e45515c676e7b8586868686868686867a6e6154473b2e21140800020d19242e3740474b4d53535353535353534d4c4740382f241a0f0600000000000000000000000000000000020a11171c1f201f1c222f3c4955626f7c86868686867f7265594c3f322619191d1313100c07000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e1408000004111d2a36424e59636a6c6c6c6c6c6c6c6c6260584e43372b1f13060000020e1a26313c4754606a7581868686867f7265584c3f3225190c000c1926323f4c5965727f868686868686868276695c504336291d10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141c222830383f444e545c606a6f77797979797872685c5043372a1d11040000000000000000000000000008131e28313e46535f696e7979797979786d675d5145392c2013060000000000000000000000000006121f2c3844505c667679797979797979797979757065564d41362a1e1105000000000000000000000000000000000f1b27323c4a57626d727979797979797979797976665c5044382c1f12060000000713202c3945525d686d7879797979797979776d675d51483e33291e150a0000000000000000000007121d27313c44505b666c7679797979797979786e695f53463a2d21140700000000000000000000000009141f29323f49525c636b707578797875706c656059534d4544505c6674797979726d62564a3e3124180b00000000000000000000000000000000000000000009141f29323f49525c636b707578797875706c656059534d4544505c6674797979726d62564a3e3124180b000000000000000000111d2a37434f5c6772777979797979777167564c41362a1e0a000000000000000000000000000000000000000000000000040d18222934404b555f696e78797979797979797976685e5246392d201407000007121c252e353b3f404646464646464646413f3c362f261d120800000000000000000000000000000000000000060b0f12131215222e3b4754606a767979797979726d63574a3e3125180c11070604000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d020000010e1a26313d4751595e5f6060606060606055544e463c32271b0f0300000009151f2b38434e58656f7579797979726d62564a3e3125180b000b1825313e4a57626d72797979797979797670665a4e4235291c0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e262e343c424a51585f626a6c6c6c6c6b6860564b3f33271b0f0200000000000000000000000000010c161f2a36424d575f616c6c6c6c6c6b605d554b4035291d11040000000000000000000000000003101c28343f4a545c6c6c6c6c6c6c6c6c6c6c6c69655e54443b3025190e02000000000000000000000000000000000a15202e3a46515b62656c6c6c6c6c6c6c6c6c6c6c5c544a3f34281c100300000004111d2935414c565d606b6c6c6c6c6c6c6c6b605d554b40362c21170c0300000000000000000000010b151f28333f4a545b60696c6c6c6c6c6c6c6c615f574d42362a1e1205000000000000000000000000020d17202d37404952596063686b6c6b6864605b534f47423c3f4a545c6a6c6c6c65625b51463a2e221509000000000000000000000000000000000000000000020d17202d37404952596063686b6c6b6864605b534f47423c3f4a545c6a6c6c6c65625b51463a2e2215090000000000000000000f1b27333f4b5660676b6c6c6c6c6c6a675f55443a3025190d00000000000000000000000000000000000000000000000000060f18232f39434d575f616c6c6c6c6c6c6c6c6c6c5e564c41362a1e11050000000a131c242a2f323339393939393939393433302b241d140b0000000000000000000000000000000000000000000003060606131f2b37434e5860626c6c6c6c6c65635b51463a2e2216090400000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e05000000000915202b353f474e5253535353535353534947433c342b20150a00000000030f1b27323d46535d65686c6c6c6c65625b51463a2e221609000916222e3a46515b62656c6c6c6c6c6c6c69665e54493e3226190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c141c2328303940444e54555d606060605e5c564e443a2f23170b000000000000000000000000000000040d1a26313b454d53555f606060605e53514b433a2f24180d0100000000000000000000000000000c17232e38424a505f606060606060606060605c5a544c4232291f1408000000000000000000000000000000000004121e29353f49515759606060606060606060605f504a42382e23170c00000000010d1924303a444c52545e606060606060605e53514b433a2f241a0f06000000000000000000000000030d17222d38424a50535d606060606060605f55534d453b31261a0e0200000000000000000000000000050e1b252e3740474f54565c5f5f5e5c57535049413d373138424a50535f6060585651493f34291e120600000000000000000000000000000000000000000000050e1b252e3740474f54565c5f5f5e5c57535049413d373138424a50535f6060585651493f34291e12060000000000000000000b17232e3a444e565c5e60606060605d5b554d4332291e1308000000000000000000000000000000000000000000000000000007121d27313c454d53555f60606060606060605f524c443b3025190e02000000010a12191e2325262d2d2d2d2d2d2d2d2726241f19130b0200000000000000000000000000000000000000000000000000030f1b27323c464e54556060606060595751493f352a1e1206000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d050000000000040f19242d353d424546464646464646463c3b37322b22190f0400000000000a16202b34414b53595b60606060585651493f34291e12060006121e29353f49515759606060606060605c5a544c42382d21160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171e272e343c434749515353535351504b443c32281d12070000000000000000000000000000000009141f29333b4246485253535353514745403a31281d130700000000000000000000000000000006111c2630383f4453535353535353535353534f4d4942393020170d020000000000000000000000000000000000010d18232d373f464a4c5353535353535353535353443f3830261c1106000000000008131e28323a4145475153535353535353514745403a31281d1208000000000000000000000000000006111c262f383f44465053535353535353524846423b33291f140900000000000000000000000000000009131c252e353d4448494f5253514f4a46443f382f2b2630383f44465353534c4a463f372d23180d01000000000000000000000000000000000000000000000009131c252e353d4448494f5253514f4a46443f382f2b2630383f44465353534c4a463f372d23180d0100000000000000000006121d28323c444b4f515353535353504f4a433b3120170d020000000000000000000000000000000000000000000000000000010b151f2a333c4246485253535353535353535346413b32291e1408000000000000070d1316191a20202020202020201a1a17130e08010000000000000000000000000000000000000000000000000000000a15202b343c43474953535353534c4a463f372d23180d010000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e08020000000000000008121b242b31363839393939393939392f2e2b2720191007000000000000040f19222f3941484d4e535353534c4a463f372d23180d0100010d18232d373f464a4c53535353535353504e49423a31261c1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c151c232832373b3c444646464645433f3a322a20160c0100000000000000000000000000000000030d17212931363a3b4646464646453a39352f281f160c01000000000000000000000000000000000a151e262e3438464646464646464646464642413d3730271e0e050000000000000000000000000000000000000007111b252d353a3e3f464646464646464646464638342e261e150a000000000000020c1620283035393a4546464646464646443a39352f281f160c000000000000000000000000000000000a141d262d3338394346464646464646453b3a36312921170d03000000000000000000000000000000010a131c232b33383c3d42454645423d3937332d261d1e262e34383a4646463f3e3a342d251b1106000000000000000000000000000000000000000000000000010a131c232b33383c3d42454645423d3937332d261d1e262e34383a4646463f3e3a342d251b110600000000000000000000010c16202a323a3f4344464646464644423e3931291f0e0500000000000000000000000000000000000000000000000000000000030d18212a31373a3b4546464646464646463b3936302920170d020000000000000002070a0c0d13131313131313130e0d0b07030000000000000000000000000000000000000000000000000000000000040e19222b32373b3c46464646463f3e3a352d251c11070000000000000000000000000000000000000000000000000000000002050708121313131313131313080705020000000000000000000009121920262a2c2c2d2d2d2d2d2d2d22221f1b150f07000000000000000007101d272f373d4042464646463f3e3a342d251b110700000007111b252d353a3e3f4646464646464643423e3831281f150a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121820262b2e2f37393939393837332f2820180f05000000000000000000000000000000000000060f171f262a2d2e3939393939382d2c29241d160d040000000000000000000000000000000000030c151c23282c39393939393939393939393635312c261e150c0000000000000000000000000000000000000000000a131b23292e313239393939393939393939392c28231c150c0300000000000000040e161e24292c2d3839393939393939382d2c29241d160d0400000000000000000000000000000000020b141c22282b2d3639393939393939392e2d2a261f170f060000000000000000000000000000000000010a111921272c2f303538393835312d2b27221b14151c23282c2d39393932312e29231b13090000000000000000000000000000000000000000000000000000010a111921272c2f303538393835312d2b27221b14151c23282c2d39393932312e29231b1309000000000000000000000000040e1820282e33373839393939393736332e271f170d000000000000000000000000000000000000000000000000000000000000060f181f262b2d2e3939393939393939392e2d2a251e170e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f393939393932312e2a231c130a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f151a1d1f20202020202020201615130f0a04000000000000000000000b151d252c3134353939393932312e29231b130900000000000a131b23292e3132393939393939393635322d261f160d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c151b1f22222a2d2d2d2d2b2a27231d160f060000000000000000000000000000000000000000060d141a1e21222c2d2d2d2d2b20201d18130c0400000000000000000000000000000000000000030a11171c1f2d2d2d2d2d2d2d2d2d2d2d292825211b140c03000000000000000000000000000000000000000000010a11181e2225262d2d2d2d2d2d2d2d2d2d2d1f1c17110a03000000000000000000040c13191d20212b2d2d2d2d2d2d2d2b20201d18130c04000000000000000000000000000000000000020a11171c1f202a2d2d2d2d2d2d2d2c22211e1a140d060000000000000000000000000000000000000000070f161c202223292c2c2b2924201f1b17110a0a11171c1f202c2d2d2524221e1811090100000000000000000000000000000000000000000000000000000000070f161c202223292c2c2b2924201f1b17110a0a11171c1f202c2d2d2524221e1811090100000000000000000000000000060e161d23272a2b2d2d2d2d2d2a2926221c150d0500000000000000000000000000000000000000000000000000000000000000060e141a1e21222c2d2d2d2d2d2d2d2d21201e19140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070e151b1f22222d2d2d2d2d2625221e18110a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004090e1112131313131313131309080603000000000000000000000000030b131a202427282d2d2d2d2525221e181109010000000000010a11181e2225262d2d2d2d2d2d2d292926211c150d04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315161e202020201e1d1b17120c050000000000000000000000000000000000000000000003090e1214151f202020201e1413110d070100000000000000000000000000000000000000000000060c101220202020202020202020201c1b1915100902000000000000000000000000000000000000000000000000070d12161819202020202020202020202012100c0600000000000000000000000002080d1113141e202020202020201e1413110d0701000000000000000000000000000000000000000000060b0f12131d202020202020201f1514120e090300000000000000000000000000000000000000000000050b101316161c1f201e1c1713120f0b060000060c101213202020191815120d0600000000000000000000000000000000000000000000000000000000000000050b101316161c1f201e1c1713120f0b060000060c101213202020191815120d0600000000000000000000000000000000040c12171b1d1e20202020201d1d1a16110b0300000000000000000000000000000000000000000000000000000000000000000003090e1214151f20202020202020201414110e0802000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315162020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001090f14181b1b20202020191816120d07000000000000000000070d12161819202020202020201d1c1916100a0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809111313131312110f0b07010000000000000000000000000000000000000000000000000002050708131313131312070604010000000000000000000000000000000000000000000000000000030613131313131313131313130f0f0d09040000000000000000000000000000000000000000000000000000000106090b0c13131313131313131313130603000000000000000000000000000000000104070712131313131313131107060401000000000000000000000000000000000000000000000000000306061013131313131313120807050200000000000000000000000000000000000000000000000000000407090a0f1213120f0a0605030000000000000306071313130c0b090601000000000000000000000000000000000000000000000000000000000000000000000407090a0f1213120f0a0605030000000000000306071313130c0b09060100000000000000000000000000000000000001060b0f1111131313131311100e0a06000000000000000000000000000000000000000000000000000000000000000000000000000205070812131313131313131308070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000306080913131313130c0c09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080c0e0f131313130c0b09060100000000000000000000000106090b0c13131313131313100f0d0a05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 - m_StreamData: - offset: 0 - size: 0 - path: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta b/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta deleted file mode 100644 index 66e69d18..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8f586378b4e144a9851e7b34d9b748ee -timeCreated: 1484171803 -licenseType: Pro -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt b/JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt deleted file mode 100644 index a52cc38f..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt +++ /dev/null @@ -1 +0,0 @@ -)]}〕〉》」』】〙〗〟’”⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、%,.:;。!?]):;=}¢°"†‡℃〆%,. \ No newline at end of file diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta b/JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta deleted file mode 100644 index 73ed6604..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fade42e8bc714b018fac513c043d323b -timeCreated: 1425440388 -licenseType: Store -TextScriptImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt b/JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt deleted file mode 100644 index ccbb4aed..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt +++ /dev/null @@ -1 +0,0 @@ -([{〔〈《「『【〘〖〝‘“⦅«$—…‥〳〴〵\[({£¥"々〇$¥₩ # \ No newline at end of file diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta b/JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta deleted file mode 100644 index cc684b30..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d82c1b31c7e74239bff1220585707d2b -timeCreated: 1425440388 -licenseType: Store -TextScriptImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Sprite Assets.meta b/JNFrame2/Assets/TextMesh Pro/Resources/Sprite Assets.meta deleted file mode 100644 index 5171f1b6..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Sprite Assets.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 512a49d95c0c4332bdd98131869c23c9 -folderAsset: yes -timeCreated: 1441876896 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset b/JNFrame2/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset deleted file mode 100644 index 98e6d277..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset +++ /dev/null @@ -1,659 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2103686 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: TextMeshPro/Sprite - m_Shader: {fileID: 4800000, guid: cf81c85f95fe47e1a27f6ae460cf182c, type: 3} - m_ShaderKeywords: UNITY_UI_CLIP_RECT - m_LightmapFlags: 5 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 2800000, guid: dffef66376be4fa480fb02b19edbe903, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _ColorMask: 15 - - _CullMode: 0 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _UseUIAlphaClip: 0 - m_Colors: - - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} - - _Color: {r: 1, g: 1, b: 1, a: 1} ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - 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: 84a92b25f83d49b9bc132d206b370281, type: 3} - m_Name: EmojiOne - m_EditorClassIdentifier: - hashCode: -1836805472 - material: {fileID: 2103686} - materialHashCode: 0 - m_Version: 1.1.0 - m_FaceInfo: - m_FamilyName: - m_StyleName: - m_PointSize: 0 - m_Scale: 0 - m_LineHeight: 0 - m_AscentLine: 0 - m_CapLine: 0 - m_MeanLine: 0 - m_Baseline: 0 - m_DescentLine: 0 - m_SuperscriptOffset: 0 - m_SuperscriptSize: 0 - m_SubscriptOffset: 0 - m_SubscriptSize: 0 - m_UnderlineOffset: 0 - m_UnderlineThickness: 0 - m_StrikethroughOffset: 0 - m_StrikethroughThickness: 0 - m_TabWidth: 0 - spriteSheet: {fileID: 2800000, guid: dffef66376be4fa480fb02b19edbe903, type: 3} - m_SpriteCharacterTable: - - m_ElementType: 2 - m_Unicode: 128522 - m_GlyphIndex: 0 - m_Scale: 1 - m_Name: Smiling face with smiling eyes - m_HashCode: -1318250903 - - m_ElementType: 2 - m_Unicode: 128523 - m_GlyphIndex: 1 - m_Scale: 1 - m_Name: 1f60b - m_HashCode: 57188339 - - m_ElementType: 2 - m_Unicode: 128525 - m_GlyphIndex: 2 - m_Scale: 1 - m_Name: 1f60d - m_HashCode: 57188341 - - m_ElementType: 2 - m_Unicode: 128526 - m_GlyphIndex: 3 - m_Scale: 1 - m_Name: 1f60e - m_HashCode: 57188340 - - m_ElementType: 2 - m_Unicode: 128512 - m_GlyphIndex: 4 - m_Scale: 1 - m_Name: Grinning face - m_HashCode: -95541379 - - m_ElementType: 2 - m_Unicode: 128513 - m_GlyphIndex: 5 - m_Scale: 1 - m_Name: 1f601 - m_HashCode: 57188256 - - m_ElementType: 2 - m_Unicode: 128514 - m_GlyphIndex: 6 - m_Scale: 1 - m_Name: Face with tears of joy - m_HashCode: 239522663 - - m_ElementType: 2 - m_Unicode: 128515 - m_GlyphIndex: 7 - m_Scale: 1 - m_Name: 1f603 - m_HashCode: 57188258 - - m_ElementType: 2 - m_Unicode: 128516 - m_GlyphIndex: 8 - m_Scale: 1 - m_Name: 1f604 - m_HashCode: 57188261 - - m_ElementType: 2 - m_Unicode: 128517 - m_GlyphIndex: 9 - m_Scale: 1 - m_Name: 1f605 - m_HashCode: 57188260 - - m_ElementType: 2 - m_Unicode: 128518 - m_GlyphIndex: 10 - m_Scale: 1 - m_Name: 1f606 - m_HashCode: 57188263 - - m_ElementType: 2 - m_Unicode: 128521 - m_GlyphIndex: 11 - m_Scale: 1 - m_Name: 1f609 - m_HashCode: 57188264 - - m_ElementType: 2 - m_Unicode: 0 - m_GlyphIndex: 12 - m_Scale: 1 - m_Name: .notdef - m_HashCode: -600915428 - - m_ElementType: 2 - m_Unicode: 129315 - m_GlyphIndex: 13 - m_Scale: 1 - m_Name: 1f923 - m_HashCode: 57200239 - - m_ElementType: 2 - m_Unicode: 9786 - m_GlyphIndex: 14 - m_Scale: 1 - m_Name: 263a - m_HashCode: 1748406 - - m_ElementType: 2 - m_Unicode: 9785 - m_GlyphIndex: 15 - m_Scale: 1 - m_Name: 2639 - m_HashCode: 1748462 - m_SpriteGlyphTable: - - m_Index: 0 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 0 - m_Y: 384 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 1 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 128 - m_Y: 384 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 2 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 256 - m_Y: 384 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 3 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 384 - m_Y: 384 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 4 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 0 - m_Y: 256 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 5 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 128 - m_Y: 256 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 6 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 256 - m_Y: 256 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 7 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 384 - m_Y: 256 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 8 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 0 - m_Y: 128 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 9 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 128 - m_Y: 128 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 10 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 256 - m_Y: 128 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 11 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 384 - m_Y: 128 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 12 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 0 - m_Y: 0 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 13 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 128 - m_Y: 0 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 14 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 256 - m_Y: 0 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - - m_Index: 15 - m_Metrics: - m_Width: 128 - m_Height: 128 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 115.6 - m_HorizontalAdvance: 128 - m_GlyphRect: - m_X: 384 - m_Y: 0 - m_Width: 128 - m_Height: 128 - m_Scale: 1 - m_AtlasIndex: 0 - sprite: {fileID: 0} - spriteInfoList: - - id: 0 - x: 0 - y: 384 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: Smiling face with smiling eyes - hashCode: -1318250903 - unicode: 128522 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 1 - x: 128 - y: 384 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: 1f60b - hashCode: 57188339 - unicode: 128523 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 2 - x: 256 - y: 384 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: 1f60d - hashCode: 57188341 - unicode: 128525 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 3 - x: 384 - y: 384 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: 1f60e - hashCode: 57188340 - unicode: 128526 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 4 - x: 0 - y: 256 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: Grinning face - hashCode: -95541379 - unicode: 128512 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 5 - x: 128 - y: 256 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: 1f601 - hashCode: 57188256 - unicode: 128513 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 6 - x: 256 - y: 256 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: Face with tears of joy - hashCode: 239522663 - unicode: 128514 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 7 - x: 384 - y: 256 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: 1f603 - hashCode: 57188258 - unicode: 128515 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 8 - x: 0 - y: 128 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: 1f604 - hashCode: 57188261 - unicode: 128516 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 9 - x: 128 - y: 128 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: 1f605 - hashCode: 57188260 - unicode: 128517 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 10 - x: 256 - y: 128 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: 1f606 - hashCode: 57188263 - unicode: 128518 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 11 - x: 384 - y: 128 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: 1f609 - hashCode: 57188264 - unicode: 128521 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 12 - x: 0 - y: 0 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: 1f618 - hashCode: 57188168 - unicode: 128536 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 13 - x: 128 - y: 0 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: 1f923 - hashCode: 57200239 - unicode: 129315 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 14 - x: 256 - y: 0 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: 263a - hashCode: 1748406 - unicode: 9786 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - - id: 15 - x: 384 - y: 0 - width: 128 - height: 128 - xOffset: 0 - yOffset: 115.6 - xAdvance: 128 - scale: 1 - name: 2639 - hashCode: 1748462 - unicode: 9785 - pivot: {x: 0.5, y: 0.5} - sprite: {fileID: 0} - fallbackSpriteAssets: [] ---- !u!21 &1369835458 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: TextMeshPro/Sprite - m_Shader: {fileID: 4800000, guid: cf81c85f95fe47e1a27f6ae460cf182c, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 5 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: [] - m_Floats: [] - m_Colors: [] diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta b/JNFrame2/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta deleted file mode 100644 index c7ac83f4..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c41005c129ba4d66911b75229fd70b45 -timeCreated: 1480316912 -licenseType: Pro -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Style Sheets.meta b/JNFrame2/Assets/TextMesh Pro/Resources/Style Sheets.meta deleted file mode 100644 index 4958550d..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Style Sheets.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 4aecb92fff08436c8303b10eab8da368 -folderAsset: yes -timeCreated: 1441876950 -licenseType: Pro -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset b/JNFrame2/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset deleted file mode 100644 index ceb609b2..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset +++ /dev/null @@ -1,68 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ab2114bdc8544297b417dfefe9f1e410, type: 3} - m_Name: Default Style Sheet - m_EditorClassIdentifier: - m_StyleList: - - m_Name: H1 - m_HashCode: 2425 - m_OpeningDefinition: <#40ff80>* - m_ClosingDefinition: '*' - m_OpeningTagArray: 3c00000073000000690000007a000000650000003d00000032000000650000006d0000003e0000003c000000620000003e0000003c000000230000003400000030000000660000006600000038000000300000003e0000002a000000 - m_ClosingTagArray: 2a0000003c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e000000 - - m_Name: Quote - m_HashCode: 92254330 - m_OpeningDefinition: - m_ClosingDefinition: - m_OpeningTagArray: 3c000000690000003e0000003c00000073000000690000007a000000650000003d0000003700000035000000250000003e0000003c0000006d000000610000007200000067000000690000006e0000003d0000003100000030000000250000003e000000 - m_ClosingTagArray: 3c0000002f000000690000003e0000003c0000002f00000073000000690000007a000000650000003e0000003c0000002f00000077000000690000006400000074000000680000003e0000003c0000002f0000006d000000610000007200000067000000690000006e0000003e000000 - - m_Name: Link - m_HashCode: 2687968 - m_OpeningDefinition: <#40a0ff> - m_ClosingDefinition: - m_OpeningTagArray: 3c000000750000003e0000003c000000230000003400000030000000610000003000000066000000660000003e0000003c0000006c000000690000006e0000006b0000003d0000002200000049000000440000005f0000003000000031000000220000003e000000 - m_ClosingTagArray: 3c0000002f000000750000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e0000003c0000002f0000006c000000690000006e0000006b0000003e000000 - - m_Name: Title - m_HashCode: 98732960 - m_OpeningDefinition: - m_ClosingDefinition: - m_OpeningTagArray: 3c00000073000000690000007a000000650000003d000000310000003200000035000000250000003e0000003c000000620000003e0000003c000000610000006c00000069000000670000006e0000003d00000063000000650000006e0000007400000065000000720000003e000000 - m_ClosingTagArray: 3c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000610000006c00000069000000670000006e0000003e000000 - - m_Name: H2 - m_HashCode: 2426 - m_OpeningDefinition: <#4080FF> - m_ClosingDefinition: - m_OpeningTagArray: 3c00000073000000690000007a000000650000003d000000310000002e00000035000000650000006d0000003e0000003c000000620000003e0000003c000000230000003400000030000000380000003000000046000000460000003e000000 - m_ClosingTagArray: 3c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e000000 - - m_Name: H3 - m_HashCode: 2427 - m_OpeningDefinition: <#FF8040> - m_ClosingDefinition: - m_OpeningTagArray: 3c00000073000000690000007a000000650000003d000000310000002e0000003100000037000000650000006d0000003e0000003c000000620000003e0000003c000000230000004600000046000000380000003000000034000000300000003e000000 - m_ClosingTagArray: 3c0000002f00000073000000690000007a000000650000003e0000003c0000002f000000620000003e0000003c0000002f000000630000006f0000006c0000006f000000720000003e000000 - - m_Name: C1 - m_HashCode: 2194 - m_OpeningDefinition: - m_ClosingDefinition: - m_OpeningTagArray: 3c000000630000006f0000006c0000006f000000720000003d000000230000006600000066000000660000006600000034000000300000003e000000 - m_ClosingTagArray: 3c0000002f000000630000006f0000006c0000006f000000720000003e000000 - - m_Name: C2 - m_HashCode: 2193 - m_OpeningDefinition: - m_ClosingDefinition: - m_OpeningTagArray: 3c000000630000006f0000006c0000006f000000720000003d000000230000006600000066000000340000003000000046000000460000003e0000003c00000073000000690000007a000000650000003d000000310000003200000035000000250000003e000000 - m_ClosingTagArray: 3c0000002f000000630000006f0000006c0000006f000000720000003e0000003c0000002f00000073000000690000007a000000650000003e000000 - - m_Name: C3 - m_HashCode: 2192 - m_OpeningDefinition: - m_ClosingDefinition: - m_OpeningTagArray: 3c000000630000006f0000006c0000006f000000720000003d000000230000003800000030000000410000003000000046000000460000003e0000003c000000620000003e000000 - m_ClosingTagArray: 3c0000002f000000630000006f0000006c0000006f000000720000003e0000003c0000002f000000620000003e000000 diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta b/JNFrame2/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta deleted file mode 100644 index 95fd96ed..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f952c082cb03451daed3ee968ac6c63e -timeCreated: 1432805430 -licenseType: Store -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/TMP Settings.asset b/JNFrame2/Assets/TextMesh Pro/Resources/TMP Settings.asset deleted file mode 100644 index c09a92f1..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/TMP Settings.asset +++ /dev/null @@ -1,46 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - 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: 2705215ac5b84b70bacc50632be6e391, type: 3} - m_Name: TMP Settings - m_EditorClassIdentifier: - m_enableWordWrapping: 1 - m_enableKerning: 1 - m_enableExtraPadding: 0 - m_enableTintAllSprites: 0 - m_enableParseEscapeCharacters: 1 - m_EnableRaycastTarget: 1 - m_GetFontFeaturesAtRuntime: 1 - m_missingGlyphCharacter: 0 - m_warningsDisabled: 0 - m_defaultFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_defaultFontAssetPath: Fonts & Materials/ - m_defaultFontSize: 36 - m_defaultAutoSizeMinRatio: 0.5 - m_defaultAutoSizeMaxRatio: 2 - m_defaultTextMeshProTextContainerSize: {x: 20, y: 5} - m_defaultTextMeshProUITextContainerSize: {x: 200, y: 50} - m_autoSizeTextContainer: 0 - m_fallbackFontAssets: [] - m_matchMaterialPreset: 1 - m_defaultSpriteAsset: {fileID: 11400000, guid: c41005c129ba4d66911b75229fd70b45, - type: 2} - m_defaultSpriteAssetPath: Sprite Assets/ - m_enableEmojiSupport: 1 - m_MissingCharacterSpriteUnicode: 0 - m_defaultColorGradientPresetsPath: Color Gradient Presets/ - m_defaultStyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e, - type: 2} - m_StyleSheetsResourcePath: - m_leadingCharacters: {fileID: 4900000, guid: d82c1b31c7e74239bff1220585707d2b, type: 3} - m_followingCharacters: {fileID: 4900000, guid: fade42e8bc714b018fac513c043d323b, - type: 3} - m_UseModernHangulLineBreakingRules: 0 diff --git a/JNFrame2/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta b/JNFrame2/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta deleted file mode 100644 index 32db3845..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3f5b5dff67a942289a9defa416b206f3 -timeCreated: 1436653997 -licenseType: Pro -NativeFormatImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader deleted file mode 100644 index bab2b2c6..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader +++ /dev/null @@ -1,143 +0,0 @@ -Shader "TextMeshPro/Bitmap Custom Atlas" { - -Properties { - _MainTex ("Font Atlas", 2D) = "white" {} - _FaceTex ("Font Texture", 2D) = "white" {} - [HDR]_FaceColor ("Text Color", Color) = (1,1,1,1) - - _VertexOffsetX ("Vertex OffsetX", float) = 0 - _VertexOffsetY ("Vertex OffsetY", float) = 0 - _MaskSoftnessX ("Mask SoftnessX", float) = 0 - _MaskSoftnessY ("Mask SoftnessY", float) = 0 - - _ClipRect("Clip Rect", vector) = (-32767, -32767, 32767, 32767) - _Padding ("Padding", float) = 0 - - _StencilComp("Stencil Comparison", Float) = 8 - _Stencil("Stencil ID", Float) = 0 - _StencilOp("Stencil Operation", Float) = 0 - _StencilWriteMask("Stencil Write Mask", Float) = 255 - _StencilReadMask("Stencil Read Mask", Float) = 255 - - _CullMode("Cull Mode", Float) = 0 - _ColorMask("Color Mask", Float) = 15 -} - -SubShader{ - - Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } - - Stencil - { - Ref[_Stencil] - Comp[_StencilComp] - Pass[_StencilOp] - ReadMask[_StencilReadMask] - WriteMask[_StencilWriteMask] - } - - - Lighting Off - Cull [_CullMode] - ZTest [unity_GUIZTestMode] - ZWrite Off - Fog { Mode Off } - Blend SrcAlpha OneMinusSrcAlpha - ColorMask[_ColorMask] - - Pass { - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile __ UNITY_UI_CLIP_RECT - #pragma multi_compile __ UNITY_UI_ALPHACLIP - - - #include "UnityCG.cginc" - - struct appdata_t { - float4 vertex : POSITION; - fixed4 color : COLOR; - float2 texcoord0 : TEXCOORD0; - float2 texcoord1 : TEXCOORD1; - }; - - struct v2f { - float4 vertex : SV_POSITION; - fixed4 color : COLOR; - float2 texcoord0 : TEXCOORD0; - float2 texcoord1 : TEXCOORD1; - float4 mask : TEXCOORD2; - }; - - uniform sampler2D _MainTex; - uniform sampler2D _FaceTex; - uniform float4 _FaceTex_ST; - uniform fixed4 _FaceColor; - - uniform float _VertexOffsetX; - uniform float _VertexOffsetY; - uniform float4 _ClipRect; - uniform float _MaskSoftnessX; - uniform float _MaskSoftnessY; - - float2 UnpackUV(float uv) - { - float2 output; - output.x = floor(uv / 4096); - output.y = uv - 4096 * output.x; - - return output * 0.001953125; - } - - v2f vert (appdata_t v) - { - float4 vert = v.vertex; - vert.x += _VertexOffsetX; - vert.y += _VertexOffsetY; - - vert.xy += (vert.w * 0.5) / _ScreenParams.xy; - - float4 vPosition = UnityPixelSnap(UnityObjectToClipPos(vert)); - - fixed4 faceColor = v.color; - faceColor *= _FaceColor; - - v2f OUT; - OUT.vertex = vPosition; - OUT.color = faceColor; - OUT.texcoord0 = v.texcoord0; - OUT.texcoord1 = TRANSFORM_TEX(UnpackUV(v.texcoord1), _FaceTex); - float2 pixelSize = vPosition.w; - pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1])); - - // Clamp _ClipRect to 16bit. - float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); - OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); - - return OUT; - } - - fixed4 frag (v2f IN) : SV_Target - { - fixed4 color = tex2D(_MainTex, IN.texcoord0) * tex2D(_FaceTex, IN.texcoord1) * IN.color; - - // Alternative implementation to UnityGet2DClipping with support for softness. - #if UNITY_UI_CLIP_RECT - half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw); - color *= m.x * m.y; - #endif - - #if UNITY_UI_ALPHACLIP - clip(color.a - 0.001); - #endif - - return color; - } - ENDCG - } -} - - CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI" -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta deleted file mode 100644 index 0a416c85..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 48bb5f55d8670e349b6e614913f9d910 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader deleted file mode 100644 index 006a271e..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader +++ /dev/null @@ -1,145 +0,0 @@ -Shader "TextMeshPro/Mobile/Bitmap" { - -Properties { - _MainTex ("Font Atlas", 2D) = "white" {} - [HDR]_Color ("Text Color", Color) = (1,1,1,1) - _DiffusePower ("Diffuse Power", Range(1.0,4.0)) = 1.0 - - _VertexOffsetX("Vertex OffsetX", float) = 0 - _VertexOffsetY("Vertex OffsetY", float) = 0 - _MaskSoftnessX("Mask SoftnessX", float) = 0 - _MaskSoftnessY("Mask SoftnessY", float) = 0 - - _ClipRect("Clip Rect", vector) = (-32767, -32767, 32767, 32767) - - _StencilComp("Stencil Comparison", Float) = 8 - _Stencil("Stencil ID", Float) = 0 - _StencilOp("Stencil Operation", Float) = 0 - _StencilWriteMask("Stencil Write Mask", Float) = 255 - _StencilReadMask("Stencil Read Mask", Float) = 255 - - _CullMode("Cull Mode", Float) = 0 - _ColorMask("Color Mask", Float) = 15 -} - -SubShader { - - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - - Stencil - { - Ref[_Stencil] - Comp[_StencilComp] - Pass[_StencilOp] - ReadMask[_StencilReadMask] - WriteMask[_StencilWriteMask] - } - - - Lighting Off - Cull [_CullMode] - ZTest [unity_GUIZTestMode] - ZWrite Off - Fog { Mode Off } - Blend SrcAlpha OneMinusSrcAlpha - ColorMask[_ColorMask] - - Pass { - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma fragmentoption ARB_precision_hint_fastest - - #pragma multi_compile __ UNITY_UI_CLIP_RECT - #pragma multi_compile __ UNITY_UI_ALPHACLIP - - - #include "UnityCG.cginc" - - struct appdata_t { - float4 vertex : POSITION; - fixed4 color : COLOR; - float2 texcoord0 : TEXCOORD0; - float2 texcoord1 : TEXCOORD1; - }; - - struct v2f { - float4 vertex : POSITION; - fixed4 color : COLOR; - float2 texcoord0 : TEXCOORD0; - float4 mask : TEXCOORD2; - }; - - sampler2D _MainTex; - fixed4 _Color; - float _DiffusePower; - - uniform float _VertexOffsetX; - uniform float _VertexOffsetY; - uniform float4 _ClipRect; - uniform float _MaskSoftnessX; - uniform float _MaskSoftnessY; - - v2f vert (appdata_t v) - { - v2f OUT; - float4 vert = v.vertex; - vert.x += _VertexOffsetX; - vert.y += _VertexOffsetY; - - vert.xy += (vert.w * 0.5) / _ScreenParams.xy; - - OUT.vertex = UnityPixelSnap(UnityObjectToClipPos(vert)); - OUT.color = v.color; - OUT.color *= _Color; - OUT.color.rgb *= _DiffusePower; - OUT.texcoord0 = v.texcoord0; - - float2 pixelSize = OUT.vertex.w; - //pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1])); - - // Clamp _ClipRect to 16bit. - float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); - OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); - - return OUT; - } - - fixed4 frag (v2f IN) : COLOR - { - fixed4 color = fixed4(IN.color.rgb, IN.color.a * tex2D(_MainTex, IN.texcoord0).a); - - // Alternative implementation to UnityGet2DClipping with support for softness. - #if UNITY_UI_CLIP_RECT - half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw); - color *= m.x * m.y; - #endif - - #if UNITY_UI_ALPHACLIP - clip(color.a - 0.001); - #endif - - return color; - } - ENDCG - } -} - -SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - Lighting Off Cull Off ZTest Always ZWrite Off Fog { Mode Off } - Blend SrcAlpha OneMinusSrcAlpha - BindChannels { - Bind "Color", color - Bind "Vertex", vertex - Bind "TexCoord", texcoord0 - } - Pass { - SetTexture [_MainTex] { - constantColor [_Color] combine constant * primary, constant * texture - } - } -} - -CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI" -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta deleted file mode 100644 index d5fb125e..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 1e3b057af24249748ff873be7fafee47 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader deleted file mode 100644 index 8ce4937a..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader +++ /dev/null @@ -1,143 +0,0 @@ -Shader "TextMeshPro/Bitmap" { - -Properties { - _MainTex ("Font Atlas", 2D) = "white" {} - _FaceTex ("Font Texture", 2D) = "white" {} - [HDR]_FaceColor ("Text Color", Color) = (1,1,1,1) - - _VertexOffsetX ("Vertex OffsetX", float) = 0 - _VertexOffsetY ("Vertex OffsetY", float) = 0 - _MaskSoftnessX ("Mask SoftnessX", float) = 0 - _MaskSoftnessY ("Mask SoftnessY", float) = 0 - - _ClipRect("Clip Rect", vector) = (-32767, -32767, 32767, 32767) - - _StencilComp("Stencil Comparison", Float) = 8 - _Stencil("Stencil ID", Float) = 0 - _StencilOp("Stencil Operation", Float) = 0 - _StencilWriteMask("Stencil Write Mask", Float) = 255 - _StencilReadMask("Stencil Read Mask", Float) = 255 - - _CullMode("Cull Mode", Float) = 0 - _ColorMask("Color Mask", Float) = 15 -} - -SubShader{ - - Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } - - Stencil - { - Ref[_Stencil] - Comp[_StencilComp] - Pass[_StencilOp] - ReadMask[_StencilReadMask] - WriteMask[_StencilWriteMask] - } - - - Lighting Off - Cull [_CullMode] - ZTest [unity_GUIZTestMode] - ZWrite Off - Fog { Mode Off } - Blend SrcAlpha OneMinusSrcAlpha - ColorMask[_ColorMask] - - Pass { - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - - #pragma multi_compile __ UNITY_UI_CLIP_RECT - #pragma multi_compile __ UNITY_UI_ALPHACLIP - - - #include "UnityCG.cginc" - - struct appdata_t { - float4 vertex : POSITION; - fixed4 color : COLOR; - float2 texcoord0 : TEXCOORD0; - float2 texcoord1 : TEXCOORD1; - }; - - struct v2f { - float4 vertex : SV_POSITION; - fixed4 color : COLOR; - float2 texcoord0 : TEXCOORD0; - float2 texcoord1 : TEXCOORD1; - float4 mask : TEXCOORD2; - }; - - uniform sampler2D _MainTex; - uniform sampler2D _FaceTex; - uniform float4 _FaceTex_ST; - uniform fixed4 _FaceColor; - - uniform float _VertexOffsetX; - uniform float _VertexOffsetY; - uniform float4 _ClipRect; - uniform float _MaskSoftnessX; - uniform float _MaskSoftnessY; - - float2 UnpackUV(float uv) - { - float2 output; - output.x = floor(uv / 4096); - output.y = uv - 4096 * output.x; - - return output * 0.001953125; - } - - v2f vert (appdata_t v) - { - float4 vert = v.vertex; - vert.x += _VertexOffsetX; - vert.y += _VertexOffsetY; - - vert.xy += (vert.w * 0.5) / _ScreenParams.xy; - - float4 vPosition = UnityPixelSnap(UnityObjectToClipPos(vert)); - - fixed4 faceColor = v.color; - faceColor *= _FaceColor; - - v2f OUT; - OUT.vertex = vPosition; - OUT.color = faceColor; - OUT.texcoord0 = v.texcoord0; - OUT.texcoord1 = TRANSFORM_TEX(UnpackUV(v.texcoord1), _FaceTex); - float2 pixelSize = vPosition.w; - pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1])); - - // Clamp _ClipRect to 16bit. - float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); - OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); - - return OUT; - } - - fixed4 frag (v2f IN) : SV_Target - { - fixed4 color = tex2D(_MainTex, IN.texcoord0); - color = fixed4 (tex2D(_FaceTex, IN.texcoord1).rgb * IN.color.rgb, IN.color.a * color.a); - - // Alternative implementation to UnityGet2DClipping with support for softness. - #if UNITY_UI_CLIP_RECT - half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw); - color *= m.x * m.y; - #endif - - #if UNITY_UI_ALPHACLIP - clip(color.a - 0.001); - #endif - - return color; - } - ENDCG - } -} - - CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI" -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta deleted file mode 100644 index 7eb1870f..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 128e987d567d4e2c824d754223b3f3b0 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader deleted file mode 100644 index c50c5930..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader +++ /dev/null @@ -1,317 +0,0 @@ -Shader "TextMeshPro/Distance Field Overlay" { - -Properties { - _FaceTex ("Face Texture", 2D) = "white" {} - _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 - _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 - [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) - _FaceDilate ("Face Dilate", Range(-1,1)) = 0 - - [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) - _OutlineTex ("Outline Texture", 2D) = "white" {} - _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 - _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 - _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 - _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 - - _Bevel ("Bevel", Range(0,1)) = 0.5 - _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 - _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 - _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 - _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 - - _LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416 - [HDR]_SpecularColor ("Specular", Color) = (1,1,1,1) - _SpecularPower ("Specular", Range(0,4)) = 2.0 - _Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10 - _Diffuse ("Diffuse", Range(0,1)) = 0.5 - _Ambient ("Ambient", Range(1,0)) = 0.5 - - _BumpMap ("Normal map", 2D) = "bump" {} - _BumpOutline ("Bump Outline", Range(0,1)) = 0 - _BumpFace ("Bump Face", Range(0,1)) = 0 - - _ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1) - _ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) - _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } - _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) - - - [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0, 0.5) - _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 - _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 - _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 - _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 - - [HDR]_GlowColor ("Color", Color) = (0, 1, 0, 0.5) - _GlowOffset ("Offset", Range(-1,1)) = 0 - _GlowInner ("Inner", Range(0,1)) = 0.05 - _GlowOuter ("Outer", Range(0,1)) = 0.05 - _GlowPower ("Falloff", Range(1, 0)) = 0.75 - - _WeightNormal ("Weight Normal", float) = 0 - _WeightBold ("Weight Bold", float) = 0.5 - - _ShaderFlags ("Flags", float) = 0 - _ScaleRatioA ("Scale RatioA", float) = 1 - _ScaleRatioB ("Scale RatioB", float) = 1 - _ScaleRatioC ("Scale RatioC", float) = 1 - - _MainTex ("Font Atlas", 2D) = "white" {} - _TextureWidth ("Texture Width", float) = 512 - _TextureHeight ("Texture Height", float) = 512 - _GradientScale ("Gradient Scale", float) = 5.0 - _ScaleX ("Scale X", float) = 1.0 - _ScaleY ("Scale Y", float) = 1.0 - _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 - _Sharpness ("Sharpness", Range(-1,1)) = 0 - - _VertexOffsetX ("Vertex OffsetX", float) = 0 - _VertexOffsetY ("Vertex OffsetY", float) = 0 - - _MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767) - _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) - _MaskSoftnessX ("Mask SoftnessX", float) = 0 - _MaskSoftnessY ("Mask SoftnessY", float) = 0 - - _StencilComp ("Stencil Comparison", Float) = 8 - _Stencil ("Stencil ID", Float) = 0 - _StencilOp ("Stencil Operation", Float) = 0 - _StencilWriteMask ("Stencil Write Mask", Float) = 255 - _StencilReadMask ("Stencil Read Mask", Float) = 255 - - _CullMode ("Cull Mode", Float) = 0 - _ColorMask ("Color Mask", Float) = 15 -} - -SubShader { - - Tags - { - "Queue"="Overlay" - "IgnoreProjector"="True" - "RenderType"="Transparent" - } - - Stencil - { - Ref [_Stencil] - Comp [_StencilComp] - Pass [_StencilOp] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - } - - Cull [_CullMode] - ZWrite Off - Lighting Off - Fog { Mode Off } - ZTest Always - Blend One OneMinusSrcAlpha - ColorMask [_ColorMask] - - Pass { - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertShader - #pragma fragment PixShader - #pragma shader_feature __ BEVEL_ON - #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER - #pragma shader_feature __ GLOW_ON - - #pragma multi_compile __ UNITY_UI_CLIP_RECT - #pragma multi_compile __ UNITY_UI_ALPHACLIP - - #include "UnityCG.cginc" - #include "UnityUI.cginc" - #include "TMPro_Properties.cginc" - #include "TMPro.cginc" - - struct vertex_t { - UNITY_VERTEX_INPUT_INSTANCE_ID - float4 position : POSITION; - float3 normal : NORMAL; - fixed4 color : COLOR; - float2 texcoord0 : TEXCOORD0; - float2 texcoord1 : TEXCOORD1; - }; - - - struct pixel_t { - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - float4 position : SV_POSITION; - fixed4 color : COLOR; - float2 atlas : TEXCOORD0; // Atlas - float4 param : TEXCOORD1; // alphaClip, scale, bias, weight - float4 mask : TEXCOORD2; // Position in object space(xy), pixel Size(zw) - float3 viewDir : TEXCOORD3; - - #if (UNDERLAY_ON || UNDERLAY_INNER) - float4 texcoord2 : TEXCOORD4; // u,v, scale, bias - fixed4 underlayColor : COLOR1; - #endif - float4 textures : TEXCOORD5; - }; - - // Used by Unity internally to handle Texture Tiling and Offset. - float4 _FaceTex_ST; - float4 _OutlineTex_ST; - - pixel_t VertShader(vertex_t input) - { - pixel_t output; - - UNITY_INITIALIZE_OUTPUT(pixel_t, output); - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input,output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float bold = step(input.texcoord1.y, 0); - - float4 vert = input.position; - vert.x += _VertexOffsetX; - vert.y += _VertexOffsetY; - - float4 vPosition = UnityObjectToClipPos(vert); - - float2 pixelSize = vPosition.w; - pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); - float scale = rsqrt(dot(pixelSize, pixelSize)); - scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); - if (UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); - - float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; - weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; - - float bias =(.5 - weight) + (.5 / scale); - - float alphaClip = (1.0 - _OutlineWidth*_ScaleRatioA - _OutlineSoftness*_ScaleRatioA); - - #if GLOW_ON - alphaClip = min(alphaClip, 1.0 - _GlowOffset * _ScaleRatioB - _GlowOuter * _ScaleRatioB); - #endif - - alphaClip = alphaClip / 2.0 - ( .5 / scale) - weight; - - #if (UNDERLAY_ON || UNDERLAY_INNER) - float4 underlayColor = _UnderlayColor; - underlayColor.rgb *= underlayColor.a; - - float bScale = scale; - bScale /= 1 + ((_UnderlaySoftness*_ScaleRatioC) * bScale); - float bBias = (0.5 - weight) * bScale - 0.5 - ((_UnderlayDilate * _ScaleRatioC) * 0.5 * bScale); - - float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; - float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; - float2 bOffset = float2(x, y); - #endif - - // Generate UV for the Masking Texture - float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); - float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); - - // Support for texture tiling and offset - float2 textureUV = UnpackUV(input.texcoord1.x); - float2 faceUV = TRANSFORM_TEX(textureUV, _FaceTex); - float2 outlineUV = TRANSFORM_TEX(textureUV, _OutlineTex); - - - output.position = vPosition; - output.color = input.color; - output.atlas = input.texcoord0; - output.param = float4(alphaClip, scale, bias, weight); - output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); - output.viewDir = mul((float3x3)_EnvMatrix, _WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, vert).xyz); - #if (UNDERLAY_ON || UNDERLAY_INNER) - output.texcoord2 = float4(input.texcoord0 + bOffset, bScale, bBias); - output.underlayColor = underlayColor; - #endif - output.textures = float4(faceUV, outlineUV); - - return output; - } - - - fixed4 PixShader(pixel_t input) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(input); - - float c = tex2D(_MainTex, input.atlas).a; - - #ifndef UNDERLAY_ON - clip(c - input.param.x); - #endif - - float scale = input.param.y; - float bias = input.param.z; - float weight = input.param.w; - float sd = (bias - c) * scale; - - float outline = (_OutlineWidth * _ScaleRatioA) * scale; - float softness = (_OutlineSoftness * _ScaleRatioA) * scale; - - half4 faceColor = _FaceColor; - half4 outlineColor = _OutlineColor; - - faceColor.rgb *= input.color.rgb; - - faceColor *= tex2D(_FaceTex, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y); - outlineColor *= tex2D(_OutlineTex, input.textures.zw + float2(_OutlineUVSpeedX, _OutlineUVSpeedY) * _Time.y); - - faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); - - #if BEVEL_ON - float3 dxy = float3(0.5 / _TextureWidth, 0.5 / _TextureHeight, 0); - float3 n = GetSurfaceNormal(input.atlas, weight, dxy); - - float3 bump = UnpackNormal(tex2D(_BumpMap, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y)).xyz; - bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); - n = normalize(n- bump); - - float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), -1.0)); - - float3 col = GetSpecular(n, light); - faceColor.rgb += col*faceColor.a; - faceColor.rgb *= 1-(dot(n, light)*_Diffuse); - faceColor.rgb *= lerp(_Ambient, 1, n.z*n.z); - - fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n)); - faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; - #endif - - #if UNDERLAY_ON - float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; - faceColor += input.underlayColor * saturate(d - input.texcoord2.w) * (1 - faceColor.a); - #endif - - #if UNDERLAY_INNER - float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; - faceColor += input.underlayColor * (1 - saturate(d - input.texcoord2.w)) * saturate(1 - sd) * (1 - faceColor.a); - #endif - - #if GLOW_ON - float4 glowColor = GetGlowColor(sd, scale); - faceColor.rgb += glowColor.rgb * glowColor.a; - #endif - - // Alternative implementation to UnityGet2DClipping with support for softness. - #if UNITY_UI_CLIP_RECT - half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); - faceColor *= m.x * m.y; - #endif - - #if UNITY_UI_ALPHACLIP - clip(faceColor.a - 0.001); - #endif - - return faceColor * input.color.a; - } - - ENDCG - } -} - -Fallback "TextMeshPro/Mobile/Distance Field" -CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta deleted file mode 100644 index 56284e9f..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: dd89cf5b9246416f84610a006f916af7 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader deleted file mode 100644 index ed48574d..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader +++ /dev/null @@ -1,310 +0,0 @@ -Shader "TextMeshPro/Distance Field SSD" { - -Properties { - _FaceTex ("Face Texture", 2D) = "white" {} - _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 - _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 - [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) - _FaceDilate ("Face Dilate", Range(-1,1)) = 0 - - [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) - _OutlineTex ("Outline Texture", 2D) = "white" {} - _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 - _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 - _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 - _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 - - _Bevel ("Bevel", Range(0,1)) = 0.5 - _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 - _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 - _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 - _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 - - _LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416 - [HDR]_SpecularColor ("Specular", Color) = (1,1,1,1) - _SpecularPower ("Specular", Range(0,4)) = 2.0 - _Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10 - _Diffuse ("Diffuse", Range(0,1)) = 0.5 - _Ambient ("Ambient", Range(1,0)) = 0.5 - - _BumpMap ("Normal map", 2D) = "bump" {} - _BumpOutline ("Bump Outline", Range(0,1)) = 0 - _BumpFace ("Bump Face", Range(0,1)) = 0 - - _ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1) - _ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) - _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } - _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) - - - [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0, 0.5) - _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 - _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 - _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 - _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 - - [HDR]_GlowColor ("Color", Color) = (0, 1, 0, 0.5) - _GlowOffset ("Offset", Range(-1,1)) = 0 - _GlowInner ("Inner", Range(0,1)) = 0.05 - _GlowOuter ("Outer", Range(0,1)) = 0.05 - _GlowPower ("Falloff", Range(1, 0)) = 0.75 - - _WeightNormal ("Weight Normal", float) = 0 - _WeightBold ("Weight Bold", float) = 0.5 - - _ShaderFlags ("Flags", float) = 0 - _ScaleRatioA ("Scale RatioA", float) = 1 - _ScaleRatioB ("Scale RatioB", float) = 1 - _ScaleRatioC ("Scale RatioC", float) = 1 - - _MainTex ("Font Atlas", 2D) = "white" {} - _TextureWidth ("Texture Width", float) = 512 - _TextureHeight ("Texture Height", float) = 512 - _GradientScale ("Gradient Scale", float) = 5.0 - _ScaleX ("Scale X", float) = 1.0 - _ScaleY ("Scale Y", float) = 1.0 - _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 - _Sharpness ("Sharpness", Range(-1,1)) = 0 - - _VertexOffsetX ("Vertex OffsetX", float) = 0 - _VertexOffsetY ("Vertex OffsetY", float) = 0 - - _MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767) - _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) - _MaskSoftnessX ("Mask SoftnessX", float) = 0 - _MaskSoftnessY ("Mask SoftnessY", float) = 0 - - _StencilComp ("Stencil Comparison", Float) = 8 - _Stencil ("Stencil ID", Float) = 0 - _StencilOp ("Stencil Operation", Float) = 0 - _StencilWriteMask ("Stencil Write Mask", Float) = 255 - _StencilReadMask ("Stencil Read Mask", Float) = 255 - - _CullMode ("Cull Mode", Float) = 0 - _ColorMask ("Color Mask", Float) = 15 -} - -SubShader { - Tags - { - "Queue" = "Transparent" - "IgnoreProjector" = "True" - "RenderType" = "Transparent" - } - - Stencil - { - Ref[_Stencil] - Comp[_StencilComp] - Pass[_StencilOp] - ReadMask[_StencilReadMask] - WriteMask[_StencilWriteMask] - } - - Cull[_CullMode] - ZWrite Off - Lighting Off - Fog { Mode Off } - ZTest[unity_GUIZTestMode] - Blend One OneMinusSrcAlpha - ColorMask[_ColorMask] - - Pass { - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertShader - #pragma fragment PixShader - #pragma shader_feature __ BEVEL_ON - #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER - #pragma shader_feature __ GLOW_ON - #pragma shader_feature __ FORCE_LINEAR - - #pragma multi_compile __ UNITY_UI_CLIP_RECT - #pragma multi_compile __ UNITY_UI_ALPHACLIP - - #include "UnityCG.cginc" - #include "UnityUI.cginc" - #include "TMPro_Properties.cginc" - #include "TMPro.cginc" - - struct vertex_t { - UNITY_VERTEX_INPUT_INSTANCE_ID - float4 position : POSITION; - float3 normal : NORMAL; - float4 color : COLOR; - float2 texcoord0 : TEXCOORD0; - float2 texcoord1 : TEXCOORD1; - }; - - - struct pixel_t { - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - float4 position : SV_POSITION; - float4 color : COLOR; - float2 atlas : TEXCOORD0; - float weight : TEXCOORD1; - float2 mask : TEXCOORD2; // Position in object space(xy) - float3 viewDir : TEXCOORD3; - - #if (UNDERLAY_ON || UNDERLAY_INNER) - float2 texcoord2 : TEXCOORD4; - float4 underlayColor : COLOR1; - #endif - float4 textures : TEXCOORD5; - }; - - // Used by Unity internally to handle Texture Tiling and Offset. - float4 _FaceTex_ST; - float4 _OutlineTex_ST; - - float4 SRGBToLinear(float4 rgba) { - return float4(lerp(rgba.rgb / 12.92f, pow((rgba.rgb + 0.055f) / 1.055f, 2.4f), step(0.04045f, rgba.rgb)), rgba.a); - } - - pixel_t VertShader(vertex_t input) - { - pixel_t output; - - UNITY_INITIALIZE_OUTPUT(pixel_t, output); - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input,output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float bold = step(input.texcoord1.y, 0); - - float4 vert = input.position; - vert.x += _VertexOffsetX; - vert.y += _VertexOffsetY; - - float4 vPosition = UnityObjectToClipPos(vert); - - float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; - weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; - - #if (UNDERLAY_ON || UNDERLAY_INNER) - float4 underlayColor = _UnderlayColor; - underlayColor.rgb *= underlayColor.a; - - float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; - float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; - float2 bOffset = float2(x, y); - #endif - - // Generate UV for the Masking Texture - float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); - - // Support for texture tiling and offset - float2 textureUV = UnpackUV(input.texcoord1.x); - float2 faceUV = TRANSFORM_TEX(textureUV, _FaceTex); - float2 outlineUV = TRANSFORM_TEX(textureUV, _OutlineTex); - - float4 color = input.color; - #if (FORCE_LINEAR && !UNITY_COLORSPACE_GAMMA) - color = SRGBToLinear(input.color); - #endif - - output.position = vPosition; - output.color = color; - output.atlas = input.texcoord0; - output.weight = weight; - output.mask = half2(vert.xy * 2 - clampedRect.xy - clampedRect.zw); - output.viewDir = mul((float3x3)_EnvMatrix, _WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, vert).xyz); - #if (UNDERLAY_ON || UNDERLAY_INNER) - output.texcoord2 = input.texcoord0 + bOffset; - output.underlayColor = underlayColor; - #endif - output.textures = float4(faceUV, outlineUV); - - return output; - } - - - fixed4 PixShader(pixel_t input) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(input); - - float c = tex2D(_MainTex, input.atlas).a; - - float2 pixelSize = float2(ddx(input.atlas.y), ddy(input.atlas.y)); - pixelSize *= _TextureWidth * .75; - float scale = rsqrt(dot(pixelSize, pixelSize)) * _GradientScale * (_Sharpness + 1); - - float weight = input.weight; - float bias = (.5 - weight) + (.5 / scale); - float sd = (bias - c) * scale; - - float outline = (_OutlineWidth * _ScaleRatioA) * scale; - float softness = (_OutlineSoftness * _ScaleRatioA) * scale; - - half4 faceColor = _FaceColor; - half4 outlineColor = _OutlineColor; - - faceColor.rgb *= input.color.rgb; - - faceColor *= tex2D(_FaceTex, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y); - outlineColor *= tex2D(_OutlineTex, input.textures.zw + float2(_OutlineUVSpeedX, _OutlineUVSpeedY) * _Time.y); - - faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); - - #if BEVEL_ON - float3 dxy = float3(0.5 / _TextureWidth, 0.5 / _TextureHeight, 0); - float3 n = GetSurfaceNormal(input.atlas, weight, dxy); - - float3 bump = UnpackNormal(tex2D(_BumpMap, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y)).xyz; - bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); - n = normalize(n - bump); - - float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), -1.0)); - - float3 col = GetSpecular(n, light); - faceColor.rgb += col * faceColor.a; - faceColor.rgb *= 1 - (dot(n, light) * _Diffuse); - faceColor.rgb *= lerp(_Ambient, 1, n.z * n.z); - - fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n)); - faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; - #endif - - #if (UNDERLAY_ON || UNDERLAY_INNER) - float bScale = scale; - bScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * bScale); - float bBias = (0.5 - weight) * bScale - 0.5 - ((_UnderlayDilate * _ScaleRatioC) * 0.5 * bScale); - #endif - - #if UNDERLAY_ON - float d = tex2D(_MainTex, input.texcoord2.xy).a * bScale; - faceColor += input.underlayColor * saturate(d - bBias) * (1 - faceColor.a); - #endif - - #if UNDERLAY_INNER - float d = tex2D(_MainTex, input.texcoord2.xy).a * bScale; - faceColor += input.underlayColor * (1 - saturate(d - bBias)) * saturate(1 - sd) * (1 - faceColor.a); - #endif - - #if GLOW_ON - float4 glowColor = GetGlowColor(sd, scale); - faceColor.rgb += glowColor.rgb * glowColor.a; - #endif - - // Alternative implementation to UnityGet2DClipping with support for softness. - #if UNITY_UI_CLIP_RECT - float2 maskZW = 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + (1 / scale)); - half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * maskZW); - faceColor *= m.x * m.y; - #endif - - #if UNITY_UI_ALPHACLIP - clip(faceColor.a - 0.001); - #endif - - return faceColor * input.color.a; - } - - ENDCG - } -} - -Fallback "TextMeshPro/Mobile/Distance Field" -CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta deleted file mode 100644 index 08cd8ae5..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 14eb328de4b8eb245bb7cea29e4ac00b -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader deleted file mode 100644 index 7019aaf4..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader +++ /dev/null @@ -1,247 +0,0 @@ -// Simplified SDF shader: -// - No Shading Option (bevel / bump / env map) -// - No Glow Option -// - Softness is applied on both side of the outline - -Shader "TextMeshPro/Mobile/Distance Field - Masking" { - -Properties { - [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) - _FaceDilate ("Face Dilate", Range(-1,1)) = 0 - - [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) - _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 - _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 - - [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0,.5) - _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 - _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 - _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 - _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 - - _WeightNormal ("Weight Normal", float) = 0 - _WeightBold ("Weight Bold", float) = .5 - - _ShaderFlags ("Flags", float) = 0 - _ScaleRatioA ("Scale RatioA", float) = 1 - _ScaleRatioB ("Scale RatioB", float) = 1 - _ScaleRatioC ("Scale RatioC", float) = 1 - - _MainTex ("Font Atlas", 2D) = "white" {} - _TextureWidth ("Texture Width", float) = 512 - _TextureHeight ("Texture Height", float) = 512 - _GradientScale ("Gradient Scale", float) = 5 - _ScaleX ("Scale X", float) = 1 - _ScaleY ("Scale Y", float) = 1 - _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 - _Sharpness ("Sharpness", Range(-1,1)) = 0 - - _VertexOffsetX ("Vertex OffsetX", float) = 0 - _VertexOffsetY ("Vertex OffsetY", float) = 0 - - _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) - _MaskSoftnessX ("Mask SoftnessX", float) = 0 - _MaskSoftnessY ("Mask SoftnessY", float) = 0 - _MaskTex ("Mask Texture", 2D) = "white" {} - _MaskInverse ("Inverse", float) = 0 - _MaskEdgeColor ("Edge Color", Color) = (1,1,1,1) - _MaskEdgeSoftness ("Edge Softness", Range(0, 1)) = 0.01 - _MaskWipeControl ("Wipe Position", Range(0, 1)) = 0.5 - - _StencilComp ("Stencil Comparison", Float) = 8 - _Stencil ("Stencil ID", Float) = 0 - _StencilOp ("Stencil Operation", Float) = 0 - _StencilWriteMask ("Stencil Write Mask", Float) = 255 - _StencilReadMask ("Stencil Read Mask", Float) = 255 - - _CullMode ("Cull Mode", Float) = 0 - _ColorMask ("Color Mask", Float) = 15 -} - -SubShader { - Tags - { - "Queue"="Transparent" - "IgnoreProjector"="True" - "RenderType"="Transparent" - } - - - Stencil - { - Ref [_Stencil] - Comp [_StencilComp] - Pass [_StencilOp] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - } - - Cull [_CullMode] - ZWrite Off - Lighting Off - Fog { Mode Off } - ZTest [unity_GUIZTestMode] - Blend One OneMinusSrcAlpha - ColorMask [_ColorMask] - - Pass { - CGPROGRAM - #pragma vertex VertShader - #pragma fragment PixShader - #pragma shader_feature __ OUTLINE_ON - #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER - - #pragma multi_compile __ UNITY_UI_CLIP_RECT - #pragma multi_compile __ UNITY_UI_ALPHACLIP - - - #include "UnityCG.cginc" - #include "UnityUI.cginc" - #include "TMPro_Properties.cginc" - - struct vertex_t { - float4 vertex : POSITION; - float3 normal : NORMAL; - fixed4 color : COLOR; - float2 texcoord0 : TEXCOORD0; - float2 texcoord1 : TEXCOORD1; - }; - - struct pixel_t { - float4 vertex : SV_POSITION; - fixed4 faceColor : COLOR; - fixed4 outlineColor : COLOR1; - float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV - half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w) - half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw) - #if (UNDERLAY_ON | UNDERLAY_INNER) - float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved - half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y) - #endif - }; - - float _MaskWipeControl; - float _MaskEdgeSoftness; - fixed4 _MaskEdgeColor; - bool _MaskInverse; - - pixel_t VertShader(vertex_t input) - { - float bold = step(input.texcoord1.y, 0); - - float4 vert = input.vertex; - vert.x += _VertexOffsetX; - vert.y += _VertexOffsetY; - float4 vPosition = UnityObjectToClipPos(vert); - - float2 pixelSize = vPosition.w; - pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); - - float scale = rsqrt(dot(pixelSize, pixelSize)); - scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); - if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); - - float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; - weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; - - float layerScale = scale; - - scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale); - float bias = (0.5 - weight) * scale - 0.5; - float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale; - - float opacity = input.color.a; - #if (UNDERLAY_ON | UNDERLAY_INNER) - opacity = 1.0; - #endif - - fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor; - faceColor.rgb *= faceColor.a; - - fixed4 outlineColor = _OutlineColor; - outlineColor.a *= opacity; - outlineColor.rgb *= outlineColor.a; - outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2)))); - - #if (UNDERLAY_ON | UNDERLAY_INNER) - - layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale); - float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale); - - float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; - float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; - float2 layerOffset = float2(x, y); - #endif - - // Generate UV for the Masking Texture - float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); - float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); - - // Structure for pixel shader - pixel_t output = { - vPosition, - faceColor, - outlineColor, - float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y), - half4(scale, bias - outline, bias + outline, bias), - half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)), - #if (UNDERLAY_ON | UNDERLAY_INNER) - float4(input.texcoord0 + layerOffset, input.color.a, 0), - half2(layerScale, layerBias), - #endif - }; - - return output; - } - - - // PIXEL SHADER - fixed4 PixShader(pixel_t input) : SV_Target - { - half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x; - half4 c = input.faceColor * saturate(d - input.param.w); - - #ifdef OUTLINE_ON - c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z)); - c *= saturate(d - input.param.y); - #endif - - #if UNDERLAY_ON - d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; - c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a); - #endif - - #if UNDERLAY_INNER - half sd = saturate(d - input.param.z); - d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; - c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a); - #endif - - // Alternative implementation to UnityGet2DClipping with support for softness. - //#if UNITY_UI_CLIP_RECT - half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); - c *= m.x * m.y; - //#endif - - float a = abs(_MaskInverse - tex2D(_MaskTex, input.texcoord0.zw).a); - float t = a + (1 - _MaskWipeControl) * _MaskEdgeSoftness - _MaskWipeControl; - a = saturate(t / _MaskEdgeSoftness); - c.rgb = lerp(_MaskEdgeColor.rgb*c.a, c.rgb, a); - c *= a; - - #if (UNDERLAY_ON | UNDERLAY_INNER) - c *= input.texcoord1.z; - #endif - - #if UNITY_UI_ALPHACLIP - clip(c.a - 0.001); - #endif - - return c; - } - ENDCG - } -} - -CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta deleted file mode 100644 index 3cbdbbb4..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: bc1ede39bf3643ee8e493720e4259791 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader deleted file mode 100644 index ce82bed5..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader +++ /dev/null @@ -1,240 +0,0 @@ -// Simplified SDF shader: -// - No Shading Option (bevel / bump / env map) -// - No Glow Option -// - Softness is applied on both side of the outline - -Shader "TextMeshPro/Mobile/Distance Field Overlay" { - -Properties { - [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) - _FaceDilate ("Face Dilate", Range(-1,1)) = 0 - - [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) - _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 - _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 - - [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0,.5) - _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 - _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 - _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 - _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 - - _WeightNormal ("Weight Normal", float) = 0 - _WeightBold ("Weight Bold", float) = .5 - - _ShaderFlags ("Flags", float) = 0 - _ScaleRatioA ("Scale RatioA", float) = 1 - _ScaleRatioB ("Scale RatioB", float) = 1 - _ScaleRatioC ("Scale RatioC", float) = 1 - - _MainTex ("Font Atlas", 2D) = "white" {} - _TextureWidth ("Texture Width", float) = 512 - _TextureHeight ("Texture Height", float) = 512 - _GradientScale ("Gradient Scale", float) = 5 - _ScaleX ("Scale X", float) = 1 - _ScaleY ("Scale Y", float) = 1 - _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 - _Sharpness ("Sharpness", Range(-1,1)) = 0 - - _VertexOffsetX ("Vertex OffsetX", float) = 0 - _VertexOffsetY ("Vertex OffsetY", float) = 0 - - _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) - _MaskSoftnessX ("Mask SoftnessX", float) = 0 - _MaskSoftnessY ("Mask SoftnessY", float) = 0 - - _StencilComp ("Stencil Comparison", Float) = 8 - _Stencil ("Stencil ID", Float) = 0 - _StencilOp ("Stencil Operation", Float) = 0 - _StencilWriteMask ("Stencil Write Mask", Float) = 255 - _StencilReadMask ("Stencil Read Mask", Float) = 255 - - _CullMode ("Cull Mode", Float) = 0 - _ColorMask ("Color Mask", Float) = 15 -} - -SubShader { - Tags - { - "Queue"="Overlay" - "IgnoreProjector"="True" - "RenderType"="Transparent" - } - - - Stencil - { - Ref [_Stencil] - Comp [_StencilComp] - Pass [_StencilOp] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - } - - Cull [_CullMode] - ZWrite Off - Lighting Off - Fog { Mode Off } - ZTest Always - Blend One OneMinusSrcAlpha - ColorMask [_ColorMask] - - Pass { - CGPROGRAM - #pragma vertex VertShader - #pragma fragment PixShader - #pragma shader_feature __ OUTLINE_ON - #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER - - #pragma multi_compile __ UNITY_UI_CLIP_RECT - #pragma multi_compile __ UNITY_UI_ALPHACLIP - - #include "UnityCG.cginc" - #include "UnityUI.cginc" - #include "TMPro_Properties.cginc" - - struct vertex_t { - UNITY_VERTEX_INPUT_INSTANCE_ID - float4 vertex : POSITION; - float3 normal : NORMAL; - fixed4 color : COLOR; - float2 texcoord0 : TEXCOORD0; - float2 texcoord1 : TEXCOORD1; - }; - - struct pixel_t { - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - float4 vertex : SV_POSITION; - fixed4 faceColor : COLOR; - fixed4 outlineColor : COLOR1; - float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV - half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w) - half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw) - #if (UNDERLAY_ON | UNDERLAY_INNER) - float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved - half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y) - #endif - }; - - - pixel_t VertShader(vertex_t input) - { - pixel_t output; - - UNITY_INITIALIZE_OUTPUT(pixel_t, output); - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float bold = step(input.texcoord1.y, 0); - - float4 vert = input.vertex; - vert.x += _VertexOffsetX; - vert.y += _VertexOffsetY; - float4 vPosition = UnityObjectToClipPos(vert); - - float2 pixelSize = vPosition.w; - pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); - - float scale = rsqrt(dot(pixelSize, pixelSize)); - scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); - if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); - - float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; - weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; - - float layerScale = scale; - - scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale); - float bias = (0.5 - weight) * scale - 0.5; - float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale; - - float opacity = input.color.a; - #if (UNDERLAY_ON | UNDERLAY_INNER) - opacity = 1.0; - #endif - - fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor; - faceColor.rgb *= faceColor.a; - - fixed4 outlineColor = _OutlineColor; - outlineColor.a *= opacity; - outlineColor.rgb *= outlineColor.a; - outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2)))); - - #if (UNDERLAY_ON | UNDERLAY_INNER) - layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale); - float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale); - - float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; - float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; - float2 layerOffset = float2(x, y); - #endif - - // Generate UV for the Masking Texture - float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); - float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); - - // Populate structure for pixel shader - output.vertex = vPosition; - output.faceColor = faceColor; - output.outlineColor = outlineColor; - output.texcoord0 = float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y); - output.param = half4(scale, bias - outline, bias + outline, bias); - output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); - #if (UNDERLAY_ON || UNDERLAY_INNER) - output.texcoord1 = float4(input.texcoord0 + layerOffset, input.color.a, 0); - output.underlayParam = half2(layerScale, layerBias); - #endif - - return output; - } - - - // PIXEL SHADER - fixed4 PixShader(pixel_t input) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(input); - - half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x; - half4 c = input.faceColor * saturate(d - input.param.w); - - #ifdef OUTLINE_ON - c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z)); - c *= saturate(d - input.param.y); - #endif - - #if UNDERLAY_ON - d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; - c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a); - #endif - - #if UNDERLAY_INNER - half sd = saturate(d - input.param.z); - d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; - c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a); - #endif - - // Alternative implementation to UnityGet2DClipping with support for softness. - #if UNITY_UI_CLIP_RECT - half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); - c *= m.x * m.y; - #endif - - #if (UNDERLAY_ON | UNDERLAY_INNER) - c *= input.texcoord1.z; - #endif - - #if UNITY_UI_ALPHACLIP - clip(c.a - 0.001); - #endif - - return c; - } - ENDCG - } -} - -CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta deleted file mode 100644 index e6b149e0..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: a02a7d8c237544f1962732b55a9aebf1 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader deleted file mode 100644 index df4d5b0b..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader +++ /dev/null @@ -1,106 +0,0 @@ -// Simplified SDF shader: -// - No Shading Option (bevel / bump / env map) -// - No Glow Option -// - Softness is applied on both side of the outline - -Shader "TextMeshPro/Mobile/Distance Field SSD" { - -Properties { - [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) - _FaceDilate ("Face Dilate", Range(-1,1)) = 0 - - [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) - _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 - _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 - - [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0,.5) - _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 - _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 - _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 - _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 - - _WeightNormal ("Weight Normal", float) = 0 - _WeightBold ("Weight Bold", float) = .5 - - _ShaderFlags ("Flags", float) = 0 - _ScaleRatioA ("Scale RatioA", float) = 1 - _ScaleRatioB ("Scale RatioB", float) = 1 - _ScaleRatioC ("Scale RatioC", float) = 1 - - _MainTex ("Font Atlas", 2D) = "white" {} - _TextureWidth ("Texture Width", float) = 512 - _TextureHeight ("Texture Height", float) = 512 - _GradientScale ("Gradient Scale", float) = 5 - _ScaleX ("Scale X", float) = 1 - _ScaleY ("Scale Y", float) = 1 - _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 - _Sharpness ("Sharpness", Range(-1,1)) = 0 - - _VertexOffsetX ("Vertex OffsetX", float) = 0 - _VertexOffsetY ("Vertex OffsetY", float) = 0 - - _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) - _MaskSoftnessX ("Mask SoftnessX", float) = 0 - _MaskSoftnessY ("Mask SoftnessY", float) = 0 - _MaskTex ("Mask Texture", 2D) = "white" {} - _MaskInverse ("Inverse", float) = 0 - _MaskEdgeColor ("Edge Color", Color) = (1,1,1,1) - _MaskEdgeSoftness ("Edge Softness", Range(0, 1)) = 0.01 - _MaskWipeControl ("Wipe Position", Range(0, 1)) = 0.5 - - _StencilComp ("Stencil Comparison", Float) = 8 - _Stencil ("Stencil ID", Float) = 0 - _StencilOp ("Stencil Operation", Float) = 0 - _StencilWriteMask ("Stencil Write Mask", Float) = 255 - _StencilReadMask ("Stencil Read Mask", Float) = 255 - - _CullMode ("Cull Mode", Float) = 0 - _ColorMask ("Color Mask", Float) = 15 -} - -SubShader { - Tags { - "Queue"="Transparent" - "IgnoreProjector"="True" - "RenderType"="Transparent" - } - - Stencil - { - Ref [_Stencil] - Comp [_StencilComp] - Pass [_StencilOp] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - } - - Cull [_CullMode] - ZWrite Off - Lighting Off - Fog { Mode Off } - ZTest [unity_GUIZTestMode] - Blend One OneMinusSrcAlpha - ColorMask [_ColorMask] - - Pass { - CGPROGRAM - #pragma vertex VertShader - #pragma fragment PixShader - #pragma shader_feature __ OUTLINE_ON - #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER - - #pragma multi_compile __ UNITY_UI_CLIP_RECT - #pragma multi_compile __ UNITY_UI_ALPHACLIP - - #include "UnityCG.cginc" - #include "UnityUI.cginc" - #include "TMPro_Properties.cginc" - - #include "TMPro_Mobile.cginc" - - ENDCG - } -} - -CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta deleted file mode 100644 index 9b84c13d..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: c8d12adcee749c344b8117cf7c7eb912 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader deleted file mode 100644 index d3f5866c..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader +++ /dev/null @@ -1,240 +0,0 @@ -// Simplified SDF shader: -// - No Shading Option (bevel / bump / env map) -// - No Glow Option -// - Softness is applied on both side of the outline - -Shader "TextMeshPro/Mobile/Distance Field" { - -Properties { - [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) - _FaceDilate ("Face Dilate", Range(-1,1)) = 0 - - [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) - _OutlineWidth ("Outline Thickness", Range(0,1)) = 0 - _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 - - [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0,.5) - _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 - _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 - _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 - _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 - - _WeightNormal ("Weight Normal", float) = 0 - _WeightBold ("Weight Bold", float) = .5 - - _ShaderFlags ("Flags", float) = 0 - _ScaleRatioA ("Scale RatioA", float) = 1 - _ScaleRatioB ("Scale RatioB", float) = 1 - _ScaleRatioC ("Scale RatioC", float) = 1 - - _MainTex ("Font Atlas", 2D) = "white" {} - _TextureWidth ("Texture Width", float) = 512 - _TextureHeight ("Texture Height", float) = 512 - _GradientScale ("Gradient Scale", float) = 5 - _ScaleX ("Scale X", float) = 1 - _ScaleY ("Scale Y", float) = 1 - _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 - _Sharpness ("Sharpness", Range(-1,1)) = 0 - - _VertexOffsetX ("Vertex OffsetX", float) = 0 - _VertexOffsetY ("Vertex OffsetY", float) = 0 - - _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) - _MaskSoftnessX ("Mask SoftnessX", float) = 0 - _MaskSoftnessY ("Mask SoftnessY", float) = 0 - - _StencilComp ("Stencil Comparison", Float) = 8 - _Stencil ("Stencil ID", Float) = 0 - _StencilOp ("Stencil Operation", Float) = 0 - _StencilWriteMask ("Stencil Write Mask", Float) = 255 - _StencilReadMask ("Stencil Read Mask", Float) = 255 - - _CullMode ("Cull Mode", Float) = 0 - _ColorMask ("Color Mask", Float) = 15 -} - -SubShader { - Tags - { - "Queue"="Transparent" - "IgnoreProjector"="True" - "RenderType"="Transparent" - } - - - Stencil - { - Ref [_Stencil] - Comp [_StencilComp] - Pass [_StencilOp] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - } - - Cull [_CullMode] - ZWrite Off - Lighting Off - Fog { Mode Off } - ZTest [unity_GUIZTestMode] - Blend One OneMinusSrcAlpha - ColorMask [_ColorMask] - - Pass { - CGPROGRAM - #pragma vertex VertShader - #pragma fragment PixShader - #pragma shader_feature __ OUTLINE_ON - #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER - - #pragma multi_compile __ UNITY_UI_CLIP_RECT - #pragma multi_compile __ UNITY_UI_ALPHACLIP - - #include "UnityCG.cginc" - #include "UnityUI.cginc" - #include "TMPro_Properties.cginc" - - struct vertex_t { - UNITY_VERTEX_INPUT_INSTANCE_ID - float4 vertex : POSITION; - float3 normal : NORMAL; - fixed4 color : COLOR; - float2 texcoord0 : TEXCOORD0; - float2 texcoord1 : TEXCOORD1; - }; - - struct pixel_t { - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - float4 vertex : SV_POSITION; - fixed4 faceColor : COLOR; - fixed4 outlineColor : COLOR1; - float4 texcoord0 : TEXCOORD0; // Texture UV, Mask UV - half4 param : TEXCOORD1; // Scale(x), BiasIn(y), BiasOut(z), Bias(w) - half4 mask : TEXCOORD2; // Position in clip space(xy), Softness(zw) - #if (UNDERLAY_ON | UNDERLAY_INNER) - float4 texcoord1 : TEXCOORD3; // Texture UV, alpha, reserved - half2 underlayParam : TEXCOORD4; // Scale(x), Bias(y) - #endif - }; - - - pixel_t VertShader(vertex_t input) - { - pixel_t output; - - UNITY_INITIALIZE_OUTPUT(pixel_t, output); - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float bold = step(input.texcoord1.y, 0); - - float4 vert = input.vertex; - vert.x += _VertexOffsetX; - vert.y += _VertexOffsetY; - float4 vPosition = UnityObjectToClipPos(vert); - - float2 pixelSize = vPosition.w; - pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); - - float scale = rsqrt(dot(pixelSize, pixelSize)); - scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); - if(UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); - - float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; - weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; - - float layerScale = scale; - - scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale); - float bias = (0.5 - weight) * scale - 0.5; - float outline = _OutlineWidth * _ScaleRatioA * 0.5 * scale; - - float opacity = input.color.a; - #if (UNDERLAY_ON | UNDERLAY_INNER) - opacity = 1.0; - #endif - - fixed4 faceColor = fixed4(input.color.rgb, opacity) * _FaceColor; - faceColor.rgb *= faceColor.a; - - fixed4 outlineColor = _OutlineColor; - outlineColor.a *= opacity; - outlineColor.rgb *= outlineColor.a; - outlineColor = lerp(faceColor, outlineColor, sqrt(min(1.0, (outline * 2)))); - - #if (UNDERLAY_ON | UNDERLAY_INNER) - layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale); - float layerBias = (.5 - weight) * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale); - - float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; - float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; - float2 layerOffset = float2(x, y); - #endif - - // Generate UV for the Masking Texture - float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); - float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); - - // Populate structure for pixel shader - output.vertex = vPosition; - output.faceColor = faceColor; - output.outlineColor = outlineColor; - output.texcoord0 = float4(input.texcoord0.x, input.texcoord0.y, maskUV.x, maskUV.y); - output.param = half4(scale, bias - outline, bias + outline, bias); - output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); - #if (UNDERLAY_ON || UNDERLAY_INNER) - output.texcoord1 = float4(input.texcoord0 + layerOffset, input.color.a, 0); - output.underlayParam = half2(layerScale, layerBias); - #endif - - return output; - } - - - // PIXEL SHADER - fixed4 PixShader(pixel_t input) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(input); - - half d = tex2D(_MainTex, input.texcoord0.xy).a * input.param.x; - half4 c = input.faceColor * saturate(d - input.param.w); - - #ifdef OUTLINE_ON - c = lerp(input.outlineColor, input.faceColor, saturate(d - input.param.z)); - c *= saturate(d - input.param.y); - #endif - - #if UNDERLAY_ON - d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; - c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - input.underlayParam.y) * (1 - c.a); - #endif - - #if UNDERLAY_INNER - half sd = saturate(d - input.param.z); - d = tex2D(_MainTex, input.texcoord1.xy).a * input.underlayParam.x; - c += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - input.underlayParam.y)) * sd * (1 - c.a); - #endif - - // Alternative implementation to UnityGet2DClipping with support for softness. - #if UNITY_UI_CLIP_RECT - half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); - c *= m.x * m.y; - #endif - - #if (UNDERLAY_ON | UNDERLAY_INNER) - c *= input.texcoord1.z; - #endif - - #if UNITY_UI_ALPHACLIP - clip(c.a - 0.001); - #endif - - return c; - } - ENDCG - } -} - -CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta deleted file mode 100644 index 2ac6e76c..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: fe393ace9b354375a9cb14cdbbc28be4 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader deleted file mode 100644 index be764aeb..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader +++ /dev/null @@ -1,138 +0,0 @@ -// Simplified version of the SDF Surface shader : -// - No support for Bevel, Bump or envmap -// - Diffuse only lighting -// - Fully supports only 1 directional light. Other lights can affect it, but it will be per-vertex/SH. - -Shader "TextMeshPro/Mobile/Distance Field (Surface)" { - -Properties { - _FaceTex ("Fill Texture", 2D) = "white" {} - [HDR]_FaceColor ("Fill Color", Color) = (1,1,1,1) - _FaceDilate ("Face Dilate", Range(-1,1)) = 0 - - [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) - _OutlineTex ("Outline Texture", 2D) = "white" {} - _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 - _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 - - [HDR]_GlowColor ("Color", Color) = (0, 1, 0, 0.5) - _GlowOffset ("Offset", Range(-1,1)) = 0 - _GlowInner ("Inner", Range(0,1)) = 0.05 - _GlowOuter ("Outer", Range(0,1)) = 0.05 - _GlowPower ("Falloff", Range(1, 0)) = 0.75 - - _WeightNormal ("Weight Normal", float) = 0 - _WeightBold ("Weight Bold", float) = 0.5 - - // Should not be directly exposed to the user - _ShaderFlags ("Flags", float) = 0 - _ScaleRatioA ("Scale RatioA", float) = 1 - _ScaleRatioB ("Scale RatioB", float) = 1 - _ScaleRatioC ("Scale RatioC", float) = 1 - - _MainTex ("Font Atlas", 2D) = "white" {} - _TextureWidth ("Texture Width", float) = 512 - _TextureHeight ("Texture Height", float) = 512 - _GradientScale ("Gradient Scale", float) = 5.0 - _ScaleX ("Scale X", float) = 1.0 - _ScaleY ("Scale Y", float) = 1.0 - _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 - _Sharpness ("Sharpness", Range(-1,1)) = 0 - - _VertexOffsetX ("Vertex OffsetX", float) = 0 - _VertexOffsetY ("Vertex OffsetY", float) = 0 - - _CullMode ("Cull Mode", Float) = 0 - //_MaskCoord ("Mask Coords", vector) = (0,0,0,0) - //_MaskSoftness ("Mask Softness", float) = 0 -} - -SubShader { - - Tags { - "Queue"="Transparent" - "IgnoreProjector"="True" - "RenderType"="Transparent" - } - - LOD 300 - Cull [_CullMode] - - CGPROGRAM - #pragma surface PixShader Lambert alpha:blend vertex:VertShader noforwardadd nolightmap nodirlightmap - #pragma target 3.0 - #pragma shader_feature __ GLOW_ON - - #include "TMPro_Properties.cginc" - #include "TMPro.cginc" - - half _FaceShininess; - half _OutlineShininess; - - struct Input - { - fixed4 color : COLOR; - float2 uv_MainTex; - float2 uv2_FaceTex; - float2 uv2_OutlineTex; - float2 param; // Weight, Scale - float3 viewDirEnv; - }; - - #include "TMPro_Surface.cginc" - - ENDCG - - // Pass to render object as a shadow caster - Pass - { - Name "Caster" - Tags { "LightMode" = "ShadowCaster" } - Offset 1, 1 - - Fog {Mode Off} - ZWrite On ZTest LEqual Cull Off - - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma multi_compile_shadowcaster - #include "UnityCG.cginc" - - struct v2f { - V2F_SHADOW_CASTER; - float2 uv : TEXCOORD1; - float2 uv2 : TEXCOORD3; - float alphaClip : TEXCOORD2; - }; - - uniform float4 _MainTex_ST; - uniform float4 _OutlineTex_ST; - float _OutlineWidth; - float _FaceDilate; - float _ScaleRatioA; - - v2f vert( appdata_base v ) - { - v2f o; - TRANSFER_SHADOW_CASTER(o) - o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); - o.uv2 = TRANSFORM_TEX(v.texcoord, _OutlineTex); - o.alphaClip = o.alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _FaceDilate * _ScaleRatioA) / 2; - return o; - } - - uniform sampler2D _MainTex; - - float4 frag(v2f i) : COLOR - { - fixed4 texcol = tex2D(_MainTex, i.uv).a; - clip(texcol.a - i.alphaClip); - SHADOW_CASTER_FRAGMENT(i) - } - ENDCG - } -} - -CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta deleted file mode 100644 index bff8b7aa..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 85187c2149c549c5b33f0cdb02836b17 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader deleted file mode 100644 index bcb2bb27..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader +++ /dev/null @@ -1,158 +0,0 @@ -Shader "TextMeshPro/Distance Field (Surface)" { - -Properties { - _FaceTex ("Fill Texture", 2D) = "white" {} - _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 - _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 - [HDR]_FaceColor ("Fill Color", Color) = (1,1,1,1) - _FaceDilate ("Face Dilate", Range(-1,1)) = 0 - - [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) - _OutlineTex ("Outline Texture", 2D) = "white" {} - _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 - _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 - _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 - _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 - - _Bevel ("Bevel", Range(0,1)) = 0.5 - _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 - _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 - _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 - _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 - - _BumpMap ("Normalmap", 2D) = "bump" {} - _BumpOutline ("Bump Outline", Range(0,1)) = 0.5 - _BumpFace ("Bump Face", Range(0,1)) = 0.5 - - _ReflectFaceColor ("Face Color", Color) = (0,0,0,1) - _ReflectOutlineColor ("Outline Color", Color) = (0,0,0,1) - _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } - _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) - [HDR]_SpecColor ("Specular Color", Color) = (0,0,0,1) - - _FaceShininess ("Face Shininess", Range(0,1)) = 0 - _OutlineShininess ("Outline Shininess", Range(0,1)) = 0 - - [HDR]_GlowColor ("Color", Color) = (0, 1, 0, 0.5) - _GlowOffset ("Offset", Range(-1,1)) = 0 - _GlowInner ("Inner", Range(0,1)) = 0.05 - _GlowOuter ("Outer", Range(0,1)) = 0.05 - _GlowPower ("Falloff", Range(1, 0)) = 0.75 - - _WeightNormal ("Weight Normal", float) = 0 - _WeightBold ("Weight Bold", float) = 0.5 - - // Should not be directly exposed to the user - _ShaderFlags ("Flags", float) = 0 - _ScaleRatioA ("Scale RatioA", float) = 1 - _ScaleRatioB ("Scale RatioB", float) = 1 - _ScaleRatioC ("Scale RatioC", float) = 1 - - _MainTex ("Font Atlas", 2D) = "white" {} - _TextureWidth ("Texture Width", float) = 512 - _TextureHeight ("Texture Height", float) = 512 - _GradientScale ("Gradient Scale", float) = 5.0 - _ScaleX ("Scale X", float) = 1.0 - _ScaleY ("Scale Y", float) = 1.0 - _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 - _Sharpness ("Sharpness", Range(-1,1)) = 0 - - _VertexOffsetX ("Vertex OffsetX", float) = 0 - _VertexOffsetY ("Vertex OffsetY", float) = 0 - - _CullMode ("Cull Mode", Float) = 0 - //_MaskCoord ("Mask Coords", vector) = (0,0,0,0) - //_MaskSoftness ("Mask Softness", float) = 0 -} - -SubShader { - - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - - LOD 300 - Cull [_CullMode] - - CGPROGRAM - #pragma surface PixShader BlinnPhong alpha:blend vertex:VertShader nolightmap nodirlightmap - #pragma target 3.0 - #pragma shader_feature __ GLOW_ON - #pragma glsl - - #include "TMPro_Properties.cginc" - #include "TMPro.cginc" - - half _FaceShininess; - half _OutlineShininess; - - struct Input - { - fixed4 color : COLOR; - float2 uv_MainTex; - float2 uv2_FaceTex; - float2 uv2_OutlineTex; - float2 param; // Weight, Scale - float3 viewDirEnv; - }; - - - #define BEVEL_ON 1 - #include "TMPro_Surface.cginc" - - ENDCG - - // Pass to render object as a shadow caster - Pass - { - Name "Caster" - Tags { "LightMode" = "ShadowCaster" } - Offset 1, 1 - - Fog {Mode Off} - ZWrite On - ZTest LEqual - Cull Off - - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma multi_compile_shadowcaster - #include "UnityCG.cginc" - - struct v2f { - V2F_SHADOW_CASTER; - float2 uv : TEXCOORD1; - float2 uv2 : TEXCOORD3; - float alphaClip : TEXCOORD2; - }; - - uniform float4 _MainTex_ST; - uniform float4 _OutlineTex_ST; - float _OutlineWidth; - float _FaceDilate; - float _ScaleRatioA; - - v2f vert( appdata_base v ) - { - v2f o; - TRANSFER_SHADOW_CASTER(o) - o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); - o.uv2 = TRANSFORM_TEX(v.texcoord, _OutlineTex); - o.alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _FaceDilate * _ScaleRatioA) / 2; - return o; - } - - uniform sampler2D _MainTex; - - float4 frag(v2f i) : COLOR - { - fixed4 texcol = tex2D(_MainTex, i.uv).a; - clip(texcol.a - i.alphaClip); - SHADOW_CASTER_FRAGMENT(i) - } - ENDCG - } -} - -CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" -} - diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta deleted file mode 100644 index 26e814c2..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: f7ada0af4f174f0694ca6a487b8f543d -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF.shader b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF.shader deleted file mode 100644 index 011ee199..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF.shader +++ /dev/null @@ -1,317 +0,0 @@ -Shader "TextMeshPro/Distance Field" { - -Properties { - _FaceTex ("Face Texture", 2D) = "white" {} - _FaceUVSpeedX ("Face UV Speed X", Range(-5, 5)) = 0.0 - _FaceUVSpeedY ("Face UV Speed Y", Range(-5, 5)) = 0.0 - [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1) - _FaceDilate ("Face Dilate", Range(-1,1)) = 0 - - [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1) - _OutlineTex ("Outline Texture", 2D) = "white" {} - _OutlineUVSpeedX ("Outline UV Speed X", Range(-5, 5)) = 0.0 - _OutlineUVSpeedY ("Outline UV Speed Y", Range(-5, 5)) = 0.0 - _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0 - _OutlineSoftness ("Outline Softness", Range(0,1)) = 0 - - _Bevel ("Bevel", Range(0,1)) = 0.5 - _BevelOffset ("Bevel Offset", Range(-0.5,0.5)) = 0 - _BevelWidth ("Bevel Width", Range(-.5,0.5)) = 0 - _BevelClamp ("Bevel Clamp", Range(0,1)) = 0 - _BevelRoundness ("Bevel Roundness", Range(0,1)) = 0 - - _LightAngle ("Light Angle", Range(0.0, 6.2831853)) = 3.1416 - [HDR]_SpecularColor ("Specular", Color) = (1,1,1,1) - _SpecularPower ("Specular", Range(0,4)) = 2.0 - _Reflectivity ("Reflectivity", Range(5.0,15.0)) = 10 - _Diffuse ("Diffuse", Range(0,1)) = 0.5 - _Ambient ("Ambient", Range(1,0)) = 0.5 - - _BumpMap ("Normal map", 2D) = "bump" {} - _BumpOutline ("Bump Outline", Range(0,1)) = 0 - _BumpFace ("Bump Face", Range(0,1)) = 0 - - _ReflectFaceColor ("Reflection Color", Color) = (0,0,0,1) - _ReflectOutlineColor("Reflection Color", Color) = (0,0,0,1) - _Cube ("Reflection Cubemap", Cube) = "black" { /* TexGen CubeReflect */ } - _EnvMatrixRotation ("Texture Rotation", vector) = (0, 0, 0, 0) - - - [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0, 0.5) - _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0 - _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0 - _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0 - _UnderlaySoftness ("Border Softness", Range(0,1)) = 0 - - [HDR]_GlowColor ("Color", Color) = (0, 1, 0, 0.5) - _GlowOffset ("Offset", Range(-1,1)) = 0 - _GlowInner ("Inner", Range(0,1)) = 0.05 - _GlowOuter ("Outer", Range(0,1)) = 0.05 - _GlowPower ("Falloff", Range(1, 0)) = 0.75 - - _WeightNormal ("Weight Normal", float) = 0 - _WeightBold ("Weight Bold", float) = 0.5 - - _ShaderFlags ("Flags", float) = 0 - _ScaleRatioA ("Scale RatioA", float) = 1 - _ScaleRatioB ("Scale RatioB", float) = 1 - _ScaleRatioC ("Scale RatioC", float) = 1 - - _MainTex ("Font Atlas", 2D) = "white" {} - _TextureWidth ("Texture Width", float) = 512 - _TextureHeight ("Texture Height", float) = 512 - _GradientScale ("Gradient Scale", float) = 5.0 - _ScaleX ("Scale X", float) = 1.0 - _ScaleY ("Scale Y", float) = 1.0 - _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875 - _Sharpness ("Sharpness", Range(-1,1)) = 0 - - _VertexOffsetX ("Vertex OffsetX", float) = 0 - _VertexOffsetY ("Vertex OffsetY", float) = 0 - - _MaskCoord ("Mask Coordinates", vector) = (0, 0, 32767, 32767) - _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) - _MaskSoftnessX ("Mask SoftnessX", float) = 0 - _MaskSoftnessY ("Mask SoftnessY", float) = 0 - - _StencilComp ("Stencil Comparison", Float) = 8 - _Stencil ("Stencil ID", Float) = 0 - _StencilOp ("Stencil Operation", Float) = 0 - _StencilWriteMask ("Stencil Write Mask", Float) = 255 - _StencilReadMask ("Stencil Read Mask", Float) = 255 - - _CullMode ("Cull Mode", Float) = 0 - _ColorMask ("Color Mask", Float) = 15 -} - -SubShader { - - Tags - { - "Queue"="Transparent" - "IgnoreProjector"="True" - "RenderType"="Transparent" - } - - Stencil - { - Ref [_Stencil] - Comp [_StencilComp] - Pass [_StencilOp] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - } - - Cull [_CullMode] - ZWrite Off - Lighting Off - Fog { Mode Off } - ZTest [unity_GUIZTestMode] - Blend One OneMinusSrcAlpha - ColorMask [_ColorMask] - - Pass { - CGPROGRAM - #pragma target 3.0 - #pragma vertex VertShader - #pragma fragment PixShader - #pragma shader_feature __ BEVEL_ON - #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER - #pragma shader_feature __ GLOW_ON - - #pragma multi_compile __ UNITY_UI_CLIP_RECT - #pragma multi_compile __ UNITY_UI_ALPHACLIP - - #include "UnityCG.cginc" - #include "UnityUI.cginc" - #include "TMPro_Properties.cginc" - #include "TMPro.cginc" - - struct vertex_t { - UNITY_VERTEX_INPUT_INSTANCE_ID - float4 position : POSITION; - float3 normal : NORMAL; - fixed4 color : COLOR; - float2 texcoord0 : TEXCOORD0; - float2 texcoord1 : TEXCOORD1; - }; - - - struct pixel_t { - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - float4 position : SV_POSITION; - fixed4 color : COLOR; - float2 atlas : TEXCOORD0; // Atlas - float4 param : TEXCOORD1; // alphaClip, scale, bias, weight - float4 mask : TEXCOORD2; // Position in object space(xy), pixel Size(zw) - float3 viewDir : TEXCOORD3; - - #if (UNDERLAY_ON || UNDERLAY_INNER) - float4 texcoord2 : TEXCOORD4; // u,v, scale, bias - fixed4 underlayColor : COLOR1; - #endif - float4 textures : TEXCOORD5; - }; - - // Used by Unity internally to handle Texture Tiling and Offset. - float4 _FaceTex_ST; - float4 _OutlineTex_ST; - - pixel_t VertShader(vertex_t input) - { - pixel_t output; - - UNITY_INITIALIZE_OUTPUT(pixel_t, output); - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input,output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float bold = step(input.texcoord1.y, 0); - - float4 vert = input.position; - vert.x += _VertexOffsetX; - vert.y += _VertexOffsetY; - - float4 vPosition = UnityObjectToClipPos(vert); - - float2 pixelSize = vPosition.w; - pixelSize /= float2(_ScaleX, _ScaleY) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); - float scale = rsqrt(dot(pixelSize, pixelSize)); - scale *= abs(input.texcoord1.y) * _GradientScale * (_Sharpness + 1); - if (UNITY_MATRIX_P[3][3] == 0) scale = lerp(abs(scale) * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(input.normal.xyz), normalize(WorldSpaceViewDir(vert))))); - - float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; - weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; - - float bias =(.5 - weight) + (.5 / scale); - - float alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _OutlineSoftness * _ScaleRatioA); - - #if GLOW_ON - alphaClip = min(alphaClip, 1.0 - _GlowOffset * _ScaleRatioB - _GlowOuter * _ScaleRatioB); - #endif - - alphaClip = alphaClip / 2.0 - ( .5 / scale) - weight; - - #if (UNDERLAY_ON || UNDERLAY_INNER) - float4 underlayColor = _UnderlayColor; - underlayColor.rgb *= underlayColor.a; - - float bScale = scale; - bScale /= 1 + ((_UnderlaySoftness*_ScaleRatioC) * bScale); - float bBias = (0.5 - weight) * bScale - 0.5 - ((_UnderlayDilate * _ScaleRatioC) * 0.5 * bScale); - - float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; - float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; - float2 bOffset = float2(x, y); - #endif - - // Generate UV for the Masking Texture - float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); - float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); - - // Support for texture tiling and offset - float2 textureUV = UnpackUV(input.texcoord1.x); - float2 faceUV = TRANSFORM_TEX(textureUV, _FaceTex); - float2 outlineUV = TRANSFORM_TEX(textureUV, _OutlineTex); - - - output.position = vPosition; - output.color = input.color; - output.atlas = input.texcoord0; - output.param = float4(alphaClip, scale, bias, weight); - output.mask = half4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy)); - output.viewDir = mul((float3x3)_EnvMatrix, _WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld, vert).xyz); - #if (UNDERLAY_ON || UNDERLAY_INNER) - output.texcoord2 = float4(input.texcoord0 + bOffset, bScale, bBias); - output.underlayColor = underlayColor; - #endif - output.textures = float4(faceUV, outlineUV); - - return output; - } - - - fixed4 PixShader(pixel_t input) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(input); - - float c = tex2D(_MainTex, input.atlas).a; - - #ifndef UNDERLAY_ON - clip(c - input.param.x); - #endif - - float scale = input.param.y; - float bias = input.param.z; - float weight = input.param.w; - float sd = (bias - c) * scale; - - float outline = (_OutlineWidth * _ScaleRatioA) * scale; - float softness = (_OutlineSoftness * _ScaleRatioA) * scale; - - half4 faceColor = _FaceColor; - half4 outlineColor = _OutlineColor; - - faceColor.rgb *= input.color.rgb; - - faceColor *= tex2D(_FaceTex, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y); - outlineColor *= tex2D(_OutlineTex, input.textures.zw + float2(_OutlineUVSpeedX, _OutlineUVSpeedY) * _Time.y); - - faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); - - #if BEVEL_ON - float3 dxy = float3(0.5 / _TextureWidth, 0.5 / _TextureHeight, 0); - float3 n = GetSurfaceNormal(input.atlas, weight, dxy); - - float3 bump = UnpackNormal(tex2D(_BumpMap, input.textures.xy + float2(_FaceUVSpeedX, _FaceUVSpeedY) * _Time.y)).xyz; - bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); - n = normalize(n- bump); - - float3 light = normalize(float3(sin(_LightAngle), cos(_LightAngle), -1.0)); - - float3 col = GetSpecular(n, light); - faceColor.rgb += col*faceColor.a; - faceColor.rgb *= 1-(dot(n, light)*_Diffuse); - faceColor.rgb *= lerp(_Ambient, 1, n.z*n.z); - - fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDir, -n)); - faceColor.rgb += reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; - #endif - - #if UNDERLAY_ON - float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; - faceColor += input.underlayColor * saturate(d - input.texcoord2.w) * (1 - faceColor.a); - #endif - - #if UNDERLAY_INNER - float d = tex2D(_MainTex, input.texcoord2.xy).a * input.texcoord2.z; - faceColor += input.underlayColor * (1 - saturate(d - input.texcoord2.w)) * saturate(1 - sd) * (1 - faceColor.a); - #endif - - #if GLOW_ON - float4 glowColor = GetGlowColor(sd, scale); - faceColor.rgb += glowColor.rgb * glowColor.a; - #endif - - // Alternative implementation to UnityGet2DClipping with support for softness. - #if UNITY_UI_CLIP_RECT - half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * input.mask.zw); - faceColor *= m.x * m.y; - #endif - - #if UNITY_UI_ALPHACLIP - clip(faceColor.a - 0.001); - #endif - - return faceColor * input.color.a; - } - - ENDCG - } -} - -Fallback "TextMeshPro/Mobile/Distance Field" -CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI" -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta deleted file mode 100644 index e1cf3f38..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 68e6db2ebdc24f95958faec2be5558d6 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader deleted file mode 100644 index e8283a78..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader +++ /dev/null @@ -1,116 +0,0 @@ -Shader "TextMeshPro/Sprite" -{ - Properties - { - [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} - _Color ("Tint", Color) = (1,1,1,1) - - _StencilComp ("Stencil Comparison", Float) = 8 - _Stencil ("Stencil ID", Float) = 0 - _StencilOp ("Stencil Operation", Float) = 0 - _StencilWriteMask ("Stencil Write Mask", Float) = 255 - _StencilReadMask ("Stencil Read Mask", Float) = 255 - - _CullMode ("Cull Mode", Float) = 0 - _ColorMask ("Color Mask", Float) = 15 - _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) - - [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 - } - - SubShader - { - Tags - { - "Queue"="Transparent" - "IgnoreProjector"="True" - "RenderType"="Transparent" - "PreviewType"="Plane" - "CanUseSpriteAtlas"="True" - } - - Stencil - { - Ref [_Stencil] - Comp [_StencilComp] - Pass [_StencilOp] - ReadMask [_StencilReadMask] - WriteMask [_StencilWriteMask] - } - - Cull [_CullMode] - Lighting Off - ZWrite Off - ZTest [unity_GUIZTestMode] - Blend SrcAlpha OneMinusSrcAlpha - ColorMask [_ColorMask] - - Pass - { - Name "Default" - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma target 2.0 - - #include "UnityCG.cginc" - #include "UnityUI.cginc" - - #pragma multi_compile __ UNITY_UI_CLIP_RECT - #pragma multi_compile __ UNITY_UI_ALPHACLIP - - struct appdata_t - { - float4 vertex : POSITION; - float4 color : COLOR; - float2 texcoord : TEXCOORD0; - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct v2f - { - float4 vertex : SV_POSITION; - fixed4 color : COLOR; - float2 texcoord : TEXCOORD0; - float4 worldPosition : TEXCOORD1; - UNITY_VERTEX_OUTPUT_STEREO - }; - - sampler2D _MainTex; - fixed4 _Color; - fixed4 _TextureSampleAdd; - float4 _ClipRect; - float4 _MainTex_ST; - - v2f vert(appdata_t v) - { - v2f OUT; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT); - OUT.worldPosition = v.vertex; - OUT.vertex = UnityObjectToClipPos(OUT.worldPosition); - - OUT.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); - - OUT.color = v.color * _Color; - return OUT; - } - - fixed4 frag(v2f IN) : SV_Target - { - half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color; - - #ifdef UNITY_UI_CLIP_RECT - color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); - #endif - - #ifdef UNITY_UI_ALPHACLIP - clip (color.a - 0.001); - #endif - - return color; - } - ENDCG - } - } -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta deleted file mode 100644 index 50ba195e..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: cf81c85f95fe47e1a27f6ae460cf182c -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro.cginc b/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro.cginc deleted file mode 100644 index 58981304..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro.cginc +++ /dev/null @@ -1,84 +0,0 @@ -float2 UnpackUV(float uv) -{ - float2 output; - output.x = floor(uv / 4096); - output.y = uv - 4096 * output.x; - - return output * 0.001953125; -} - -fixed4 GetColor(half d, fixed4 faceColor, fixed4 outlineColor, half outline, half softness) -{ - half faceAlpha = 1-saturate((d - outline * 0.5 + softness * 0.5) / (1.0 + softness)); - half outlineAlpha = saturate((d + outline * 0.5)) * sqrt(min(1.0, outline)); - - faceColor.rgb *= faceColor.a; - outlineColor.rgb *= outlineColor.a; - - faceColor = lerp(faceColor, outlineColor, outlineAlpha); - - faceColor *= faceAlpha; - - return faceColor; -} - -float3 GetSurfaceNormal(float4 h, float bias) -{ - bool raisedBevel = step(1, fmod(_ShaderFlags, 2)); - - h += bias+_BevelOffset; - - float bevelWidth = max(.01, _OutlineWidth+_BevelWidth); - - // Track outline - h -= .5; - h /= bevelWidth; - h = saturate(h+.5); - - if(raisedBevel) h = 1 - abs(h*2.0 - 1.0); - h = lerp(h, sin(h*3.141592/2.0), _BevelRoundness); - h = min(h, 1.0-_BevelClamp); - h *= _Bevel * bevelWidth * _GradientScale * -2.0; - - float3 va = normalize(float3(1.0, 0.0, h.y - h.x)); - float3 vb = normalize(float3(0.0, -1.0, h.w - h.z)); - - return cross(va, vb); -} - -float3 GetSurfaceNormal(float2 uv, float bias, float3 delta) -{ - // Read "height field" - float4 h = {tex2D(_MainTex, uv - delta.xz).a, - tex2D(_MainTex, uv + delta.xz).a, - tex2D(_MainTex, uv - delta.zy).a, - tex2D(_MainTex, uv + delta.zy).a}; - - return GetSurfaceNormal(h, bias); -} - -float3 GetSpecular(float3 n, float3 l) -{ - float spec = pow(max(0.0, dot(n, l)), _Reflectivity); - return _SpecularColor.rgb * spec * _SpecularPower; -} - -float4 GetGlowColor(float d, float scale) -{ - float glow = d - (_GlowOffset*_ScaleRatioB) * 0.5 * scale; - float t = lerp(_GlowInner, (_GlowOuter * _ScaleRatioB), step(0.0, glow)) * 0.5 * scale; - glow = saturate(abs(glow/(1.0 + t))); - glow = 1.0-pow(glow, _GlowPower); - glow *= sqrt(min(1.0, t)); // Fade off glow thinner than 1 screen pixel - return float4(_GlowColor.rgb, saturate(_GlowColor.a * glow * 2)); -} - -float4 BlendARGB(float4 overlying, float4 underlying) -{ - overlying.rgb *= overlying.a; - underlying.rgb *= underlying.a; - float3 blended = overlying.rgb + ((1-overlying.a)*underlying.rgb); - float alpha = underlying.a + (1-underlying.a)*overlying.a; - return float4(blended, alpha); -} - diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta deleted file mode 100644 index 0d6eb56c..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 407bc68d299748449bbf7f48ee690f8d -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc b/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc deleted file mode 100644 index 5969fec1..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc +++ /dev/null @@ -1,157 +0,0 @@ -struct vertex_t { - UNITY_VERTEX_INPUT_INSTANCE_ID - float4 position : POSITION; - float3 normal : NORMAL; - float4 color : COLOR; - float2 texcoord0 : TEXCOORD0; - float2 texcoord1 : TEXCOORD1; -}; - -struct pixel_t { - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - float4 position : SV_POSITION; - float4 faceColor : COLOR; - float4 outlineColor : COLOR1; - float4 texcoord0 : TEXCOORD0; - float4 param : TEXCOORD1; // weight, scaleRatio - float2 mask : TEXCOORD2; - #if (UNDERLAY_ON || UNDERLAY_INNER) - float4 texcoord2 : TEXCOORD3; - float4 underlayColor : COLOR2; - #endif -}; - -float4 SRGBToLinear(float4 rgba) { - return float4(lerp(rgba.rgb / 12.92f, pow((rgba.rgb + 0.055f) / 1.055f, 2.4f), step(0.04045f, rgba.rgb)), rgba.a); -} - -pixel_t VertShader(vertex_t input) -{ - pixel_t output; - - UNITY_INITIALIZE_OUTPUT(pixel_t, output); - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - float bold = step(input.texcoord1.y, 0); - - float4 vert = input.position; - vert.x += _VertexOffsetX; - vert.y += _VertexOffsetY; - - float4 vPosition = UnityObjectToClipPos(vert); - - float weight = lerp(_WeightNormal, _WeightBold, bold) / 4.0; - weight = (weight + _FaceDilate) * _ScaleRatioA * 0.5; - - // Generate UV for the Masking Texture - float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); - float2 maskUV = (vert.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy); - - float4 color = input.color; - #if (FORCE_LINEAR && !UNITY_COLORSPACE_GAMMA) - color = SRGBToLinear(input.color); - #endif - - float opacity = color.a; - #if (UNDERLAY_ON | UNDERLAY_INNER) - opacity = 1.0; - #endif - - float4 faceColor = float4(color.rgb, opacity) * _FaceColor; - faceColor.rgb *= faceColor.a; - - float4 outlineColor = _OutlineColor; - outlineColor.a *= opacity; - outlineColor.rgb *= outlineColor.a; - - output.position = vPosition; - output.faceColor = faceColor; - output.outlineColor = outlineColor; - output.texcoord0 = float4(input.texcoord0.xy, maskUV.xy); - output.param = float4(0.5 - weight, 1.3333 * _GradientScale * (_Sharpness + 1) / _TextureWidth, _OutlineWidth * _ScaleRatioA * 0.5, 0); - - float2 mask = float2(0, 0); - #if UNITY_UI_CLIP_RECT - mask = vert.xy * 2 - clampedRect.xy - clampedRect.zw; - #endif - output.mask = mask; - - #if (UNDERLAY_ON || UNDERLAY_INNER) - float4 underlayColor = _UnderlayColor; - underlayColor.rgb *= underlayColor.a; - - float x = -(_UnderlayOffsetX * _ScaleRatioC) * _GradientScale / _TextureWidth; - float y = -(_UnderlayOffsetY * _ScaleRatioC) * _GradientScale / _TextureHeight; - - output.texcoord2 = float4(input.texcoord0 + float2(x, y), input.color.a, 0); - output.underlayColor = underlayColor; - #endif - - return output; -} - -float4 PixShader(pixel_t input) : SV_Target -{ - UNITY_SETUP_INSTANCE_ID(input); - - float d = tex2D(_MainTex, input.texcoord0.xy).a; - - float2 UV = input.texcoord0.xy; - float scale = rsqrt(abs(ddx(UV.x) * ddy(UV.y) - ddy(UV.x) * ddx(UV.y))) * input.param.y; - - #if (UNDERLAY_ON | UNDERLAY_INNER) - float layerScale = scale; - layerScale /= 1 + ((_UnderlaySoftness * _ScaleRatioC) * layerScale); - float layerBias = input.param.x * layerScale - .5 - ((_UnderlayDilate * _ScaleRatioC) * .5 * layerScale); - #endif - - scale /= 1 + (_OutlineSoftness * _ScaleRatioA * scale); - - float4 faceColor = input.faceColor * saturate((d - input.param.x) * scale + 0.5); - - #ifdef OUTLINE_ON - float4 outlineColor = lerp(input.faceColor, input.outlineColor, sqrt(min(1.0, input.param.z * scale * 2))); - faceColor = lerp(outlineColor, input.faceColor, saturate((d - input.param.x - input.param.z) * scale + 0.5)); - faceColor *= saturate((d - input.param.x + input.param.z) * scale + 0.5); - #endif - - #if UNDERLAY_ON - d = tex2D(_MainTex, input.texcoord2.xy).a * layerScale; - faceColor += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * saturate(d - layerBias) * (1 - faceColor.a); - #endif - - #if UNDERLAY_INNER - float bias = input.param.x * scale - 0.5; - float sd = saturate(d * scale - bias - input.param.z); - d = tex2D(_MainTex, input.texcoord2.xy).a * layerScale; - faceColor += float4(_UnderlayColor.rgb * _UnderlayColor.a, _UnderlayColor.a) * (1 - saturate(d - layerBias)) * sd * (1 - faceColor.a); - #endif - - #ifdef MASKING - float a = abs(_MaskInverse - tex2D(_MaskTex, input.texcoord0.zw).a); - float t = a + (1 - _MaskWipeControl) * _MaskEdgeSoftness - _MaskWipeControl; - a = saturate(t / _MaskEdgeSoftness); - faceColor.rgb = lerp(_MaskEdgeColor.rgb * faceColor.a, faceColor.rgb, a); - faceColor *= a; - #endif - - // Alternative implementation to UnityGet2DClipping with support for softness - #if UNITY_UI_CLIP_RECT - float2 maskZW = 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + (1 / scale)); - float2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(input.mask.xy)) * maskZW); - faceColor *= m.x * m.y; - #endif - - #if (UNDERLAY_ON | UNDERLAY_INNER) - faceColor *= input.texcoord2.z; - #endif - - #if UNITY_UI_ALPHACLIP - clip(faceColor.a - 0.001); - #endif - - return faceColor; -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta deleted file mode 100644 index 4415e507..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: c334973cef89a9840b0b0c507e0377ab -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc b/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc deleted file mode 100644 index 2e962588..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc +++ /dev/null @@ -1,85 +0,0 @@ -// UI Editable properties -uniform sampler2D _FaceTex; // Alpha : Signed Distance -uniform float _FaceUVSpeedX; -uniform float _FaceUVSpeedY; -uniform fixed4 _FaceColor; // RGBA : Color + Opacity -uniform float _FaceDilate; // v[ 0, 1] -uniform float _OutlineSoftness; // v[ 0, 1] - -uniform sampler2D _OutlineTex; // RGBA : Color + Opacity -uniform float _OutlineUVSpeedX; -uniform float _OutlineUVSpeedY; -uniform fixed4 _OutlineColor; // RGBA : Color + Opacity -uniform float _OutlineWidth; // v[ 0, 1] - -uniform float _Bevel; // v[ 0, 1] -uniform float _BevelOffset; // v[-1, 1] -uniform float _BevelWidth; // v[-1, 1] -uniform float _BevelClamp; // v[ 0, 1] -uniform float _BevelRoundness; // v[ 0, 1] - -uniform sampler2D _BumpMap; // Normal map -uniform float _BumpOutline; // v[ 0, 1] -uniform float _BumpFace; // v[ 0, 1] - -uniform samplerCUBE _Cube; // Cube / sphere map -uniform fixed4 _ReflectFaceColor; // RGB intensity -uniform fixed4 _ReflectOutlineColor; -//uniform float _EnvTiltX; // v[-1, 1] -//uniform float _EnvTiltY; // v[-1, 1] -uniform float3 _EnvMatrixRotation; -uniform float4x4 _EnvMatrix; - -uniform fixed4 _SpecularColor; // RGB intensity -uniform float _LightAngle; // v[ 0,Tau] -uniform float _SpecularPower; // v[ 0, 1] -uniform float _Reflectivity; // v[ 5, 15] -uniform float _Diffuse; // v[ 0, 1] -uniform float _Ambient; // v[ 0, 1] - -uniform fixed4 _UnderlayColor; // RGBA : Color + Opacity -uniform float _UnderlayOffsetX; // v[-1, 1] -uniform float _UnderlayOffsetY; // v[-1, 1] -uniform float _UnderlayDilate; // v[-1, 1] -uniform float _UnderlaySoftness; // v[ 0, 1] - -uniform fixed4 _GlowColor; // RGBA : Color + Intesity -uniform float _GlowOffset; // v[-1, 1] -uniform float _GlowOuter; // v[ 0, 1] -uniform float _GlowInner; // v[ 0, 1] -uniform float _GlowPower; // v[ 1, 1/(1+4*4)] - -// API Editable properties -uniform float _ShaderFlags; -uniform float _WeightNormal; -uniform float _WeightBold; - -uniform float _ScaleRatioA; -uniform float _ScaleRatioB; -uniform float _ScaleRatioC; - -uniform float _VertexOffsetX; -uniform float _VertexOffsetY; - -//uniform float _UseClipRect; -uniform float _MaskID; -uniform sampler2D _MaskTex; -uniform float4 _MaskCoord; -uniform float4 _ClipRect; // bottom left(x,y) : top right(z,w) -//uniform float _MaskWipeControl; -//uniform float _MaskEdgeSoftness; -//uniform fixed4 _MaskEdgeColor; -//uniform bool _MaskInverse; - -uniform float _MaskSoftnessX; -uniform float _MaskSoftnessY; - -// Font Atlas properties -uniform sampler2D _MainTex; -uniform float _TextureWidth; -uniform float _TextureHeight; -uniform float _GradientScale; -uniform float _ScaleX; -uniform float _ScaleY; -uniform float _PerspectiveFilter; -uniform float _Sharpness; diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta deleted file mode 100644 index 7b37f2f1..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 3997e2241185407d80309a82f9148466 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc b/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc deleted file mode 100644 index 622ae875..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc +++ /dev/null @@ -1,101 +0,0 @@ -void VertShader(inout appdata_full v, out Input data) -{ - v.vertex.x += _VertexOffsetX; - v.vertex.y += _VertexOffsetY; - - UNITY_INITIALIZE_OUTPUT(Input, data); - - float bold = step(v.texcoord1.y, 0); - - // Generate normal for backface - float3 view = ObjSpaceViewDir(v.vertex); - v.normal *= sign(dot(v.normal, view)); - -#if USE_DERIVATIVE - data.param.y = 1; -#else - float4 vert = v.vertex; - float4 vPosition = UnityObjectToClipPos(vert); - float2 pixelSize = vPosition.w; - - pixelSize /= float2(_ScaleX, _ScaleY) * mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy); - float scale = rsqrt(dot(pixelSize, pixelSize)); - scale *= abs(v.texcoord1.y) * _GradientScale * (_Sharpness + 1); - scale = lerp(scale * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(v.normal.xyz), normalize(WorldSpaceViewDir(vert))))); - data.param.y = scale; -#endif - - data.param.x = (lerp(_WeightNormal, _WeightBold, bold) / 4.0 + _FaceDilate) * _ScaleRatioA * 0.5; // - - v.texcoord1.xy = UnpackUV(v.texcoord1.x); - data.viewDirEnv = mul((float3x3)_EnvMatrix, WorldSpaceViewDir(v.vertex)); -} - -void PixShader(Input input, inout SurfaceOutput o) -{ - -#if USE_DERIVATIVE - float2 pixelSize = float2(ddx(input.uv_MainTex.y), ddy(input.uv_MainTex.y)); - pixelSize *= _TextureWidth * .75; - float scale = rsqrt(dot(pixelSize, pixelSize)) * _GradientScale * (_Sharpness + 1); -#else - float scale = input.param.y; -#endif - - // Signed distance - float c = tex2D(_MainTex, input.uv_MainTex).a; - float sd = (.5 - c - input.param.x) * scale + .5; - float outline = _OutlineWidth*_ScaleRatioA * scale; - float softness = _OutlineSoftness*_ScaleRatioA * scale; - - // Color & Alpha - float4 faceColor = _FaceColor; - float4 outlineColor = _OutlineColor; - faceColor *= input.color; - outlineColor.a *= input.color.a; - faceColor *= tex2D(_FaceTex, float2(input.uv2_FaceTex.x + _FaceUVSpeedX * _Time.y, input.uv2_FaceTex.y + _FaceUVSpeedY * _Time.y)); - outlineColor *= tex2D(_OutlineTex, float2(input.uv2_OutlineTex.x + _OutlineUVSpeedX * _Time.y, input.uv2_OutlineTex.y + _OutlineUVSpeedY * _Time.y)); - faceColor = GetColor(sd, faceColor, outlineColor, outline, softness); - faceColor.rgb /= max(faceColor.a, 0.0001); - -#if BEVEL_ON - float3 delta = float3(1.0 / _TextureWidth, 1.0 / _TextureHeight, 0.0); - - float4 smp4x = {tex2D(_MainTex, input.uv_MainTex - delta.xz).a, - tex2D(_MainTex, input.uv_MainTex + delta.xz).a, - tex2D(_MainTex, input.uv_MainTex - delta.zy).a, - tex2D(_MainTex, input.uv_MainTex + delta.zy).a }; - - // Face Normal - float3 n = GetSurfaceNormal(smp4x, input.param.x); - - // Bumpmap - float3 bump = UnpackNormal(tex2D(_BumpMap, input.uv2_FaceTex.xy)).xyz; - bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5)); - bump = lerp(float3(0, 0, 1), bump, faceColor.a); - n = normalize(n - bump); - - // Cubemap reflection - fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDirEnv, mul((float3x3)unity_ObjectToWorld, n))); - float3 emission = reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a; -#else - float3 n = float3(0, 0, -1); - float3 emission = float3(0, 0, 0); -#endif - -#if GLOW_ON - float4 glowColor = GetGlowColor(sd, scale); - glowColor.a *= input.color.a; - emission += glowColor.rgb*glowColor.a; - faceColor = BlendARGB(glowColor, faceColor); - faceColor.rgb /= max(faceColor.a, 0.0001); -#endif - - // Set Standard output structure - o.Albedo = faceColor.rgb; - o.Normal = -n; - o.Emission = emission; - o.Specular = lerp(_FaceShininess, _OutlineShininess, saturate(sd + outline * 0.5)); - o.Gloss = 1; - o.Alpha = faceColor.a; -} diff --git a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta b/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta deleted file mode 100644 index 41ef4b10..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: d930090c0cd643c7b55f19a38538c162 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Sprites.meta b/JNFrame2/Assets/TextMesh Pro/Sprites.meta deleted file mode 100644 index 8b699e5f..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Sprites.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d0603b6d5186471b96c778c3949c7ce2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt b/JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt deleted file mode 100644 index 384180a9..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt +++ /dev/null @@ -1,3 +0,0 @@ -This sample of beautiful emojis are provided by EmojiOne https://www.emojione.com/ - -Please visit their website to view the complete set of their emojis and review their licensing terms. \ No newline at end of file diff --git a/JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne.json b/JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne.json deleted file mode 100644 index 6c4e50bc..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne.json +++ /dev/null @@ -1,156 +0,0 @@ -{"frames": [ - -{ - "filename": "1f60a.png", - "frame": {"x":0,"y":0,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f60b.png", - "frame": {"x":128,"y":0,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f60d.png", - "frame": {"x":256,"y":0,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f60e.png", - "frame": {"x":384,"y":0,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f600.png", - "frame": {"x":0,"y":128,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f601.png", - "frame": {"x":128,"y":128,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f602.png", - "frame": {"x":256,"y":128,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f603.png", - "frame": {"x":384,"y":128,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f604.png", - "frame": {"x":0,"y":256,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f605.png", - "frame": {"x":128,"y":256,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f606.png", - "frame": {"x":256,"y":256,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f609.png", - "frame": {"x":384,"y":256,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f618.png", - "frame": {"x":0,"y":384,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "1f923.png", - "frame": {"x":128,"y":384,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "263a.png", - "frame": {"x":256,"y":384,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}, -{ - "filename": "2639.png", - "frame": {"x":384,"y":384,"w":128,"h":128}, - "rotated": false, - "trimmed": false, - "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128}, - "sourceSize": {"w":128,"h":128}, - "pivot": {"x":0.5,"y":0.5} -}], -"meta": { - "app": "http://www.codeandweb.com/texturepacker", - "version": "1.0", - "image": "EmojiOne.png", - "format": "RGBA8888", - "size": {"w":512,"h":512}, - "scale": "1", - "smartupdate": "$TexturePacker:SmartUpdate:196a26a2e149d875b91ffc8fa3581e76:fc928c7e275404b7e0649307410475cb:424723c3774975ddb2053fd5c4b85f6e$" -} -} diff --git a/JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta b/JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta deleted file mode 100644 index 762cf15c..00000000 --- a/JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8f05276190cf498a8153f6cbe761d4e6 -timeCreated: 1480316860 -licenseType: Pro -TextScriptImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne.png b/JNFrame2/Assets/TextMesh Pro/Sprites/EmojiOne.png deleted file mode 100644 index c0de66d0ab8976d2e00122faa45887a4208c07af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112319 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

xMw{_$ce~^VZld@MEWPn}OBCb-| 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΢MWdz93`CaT#q?@>~pm40=*o~e-A0G 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 Post(string url,TA data) { - var request = UnityWebRequest.Post($"{this._config.BaseURL}/{url}",JsonConvert.SerializeObject(data)); + var request = UnityWebRequest.PostWwwForm($"{this._config.BaseURL}/{url}",JsonConvert.SerializeObject(data)); return JsonConvert.DeserializeObject((await request.SendWebRequest()).downloadHandler.text); } diff --git a/JNFrame2/Assets/JNGame/Util/JAPI.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/JAPI.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/JAPI.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/JAPI.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/JsonUtil.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/JsonUtil.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/JsonUtil.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/JsonUtil.cs diff --git a/JNFrame2/Assets/JNGame/Util/JsonUtil.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/JsonUtil.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/JsonUtil.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/JsonUtil.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/NetTool.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/NetTool.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/NetTool.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/NetTool.cs diff --git a/JNFrame2/Assets/JNGame/Util/NetTool.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/NetTool.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/NetTool.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/NetTool.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/NoThread.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/NoThread.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/NoThread.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/NoThread.meta diff --git a/JNFrame2/Assets/JNGame/Util/NoThread/Interlocked.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/NoThread/Interlocked.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/NoThread/Interlocked.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/NoThread/Interlocked.cs diff --git a/JNFrame2/Assets/JNGame/Util/NoThread/Interlocked.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/NoThread/Interlocked.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/NoThread/Interlocked.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/NoThread/Interlocked.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/Profiler.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Profiler.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/Profiler.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Profiler.cs diff --git a/JNFrame2/Assets/JNGame/Util/Profiler.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Profiler.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/Profiler.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Profiler.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/ProtoUtil.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/ProtoUtil.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/ProtoUtil.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/ProtoUtil.cs diff --git a/JNFrame2/Assets/JNGame/Util/ProtoUtil.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/ProtoUtil.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/ProtoUtil.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/ProtoUtil.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/RandomUtil.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/RandomUtil.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/RandomUtil.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/RandomUtil.cs diff --git a/JNFrame2/Assets/JNGame/Util/RandomUtil.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/RandomUtil.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/RandomUtil.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/RandomUtil.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/Singleton.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Singleton.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/Singleton.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Singleton.cs diff --git a/JNFrame2/Assets/JNGame/Util/Singleton.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Singleton.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/Singleton.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Singleton.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/SingletonScene.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/SingletonScene.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/SingletonScene.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/SingletonScene.cs diff --git a/JNFrame2/Assets/JNGame/Util/SingletonScene.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/SingletonScene.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/SingletonScene.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/SingletonScene.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/TSingleton.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/TSingleton.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/TSingleton.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/TSingleton.cs diff --git a/JNFrame2/Assets/JNGame/Util/TSingleton.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/TSingleton.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/TSingleton.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/TSingleton.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/Timers.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Timers.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/Timers.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Timers.cs diff --git a/JNFrame2/Assets/JNGame/Util/Timers.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Timers.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/Timers.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Timers.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/ToUtil.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/ToUtil.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/ToUtil.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/ToUtil.cs diff --git a/JNFrame2/Assets/JNGame/Util/ToUtil.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/ToUtil.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/ToUtil.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/ToUtil.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/Types.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Types.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/Types.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Types.meta diff --git a/JNFrame2/Assets/JNGame/Util/Types/KeyValue.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Types/KeyValue.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/Types/KeyValue.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Types/KeyValue.cs diff --git a/JNFrame2/Assets/JNGame/Util/Types/KeyValue.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Types/KeyValue.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/Types/KeyValue.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/Types/KeyValue.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/UnityMainThreadDispatcher.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/UnityMainThreadDispatcher.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/UnityMainThreadDispatcher.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/UnityMainThreadDispatcher.cs diff --git a/JNFrame2/Assets/JNGame/Util/UnityMainThreadDispatcher.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/UnityMainThreadDispatcher.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/UnityMainThreadDispatcher.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/UnityMainThreadDispatcher.cs.meta diff --git a/JNFrame2/Assets/JNGame/Util/UseUtil.cs b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/UseUtil.cs similarity index 100% rename from JNFrame2/Assets/JNGame/Util/UseUtil.cs rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/UseUtil.cs diff --git a/JNFrame2/Assets/JNGame/Util/UseUtil.cs.meta b/JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/UseUtil.cs.meta similarity index 100% rename from JNFrame2/Assets/JNGame/Util/UseUtil.cs.meta rename to JNFrame2/Assets/UsePlugins/JNGame/Runtime/Util/UseUtil.cs.meta diff --git a/JNFrame2/Assets/UsePlugins/SHFrame.meta b/JNFrame2/Assets/UsePlugins/SHFrame.meta new file mode 100644 index 00000000..f022bef1 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f35ac525b09c4193834be41766ddaabc +timeCreated: 1727610039 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime.meta new file mode 100644 index 00000000..34851d36 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6f8f1e0db70b81f47a0f19fa43c4aab5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core.meta new file mode 100644 index 00000000..4de760d1 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 432675d70b0a07649b59b082792671e3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct.meta new file mode 100644 index 00000000..5c816731 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 940971d20d6d4082860bf85d1846f422 +timeCreated: 1708673958 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedList.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedList.cs new file mode 100644 index 00000000..8370fb57 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedList.cs @@ -0,0 +1,453 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.InteropServices; + +namespace SHFrame +{ + ///

+ /// 游戏框架链表类。 + /// + /// 指定链表的元素类型。 + public sealed class GameFrameworkLinkedList : ICollection, IEnumerable, ICollection, IEnumerable + { + private readonly LinkedList m_LinkedList; + private readonly Queue> m_CachedNodes; + + /// + /// 初始化游戏框架链表类的新实例。 + /// + public GameFrameworkLinkedList() + { + m_LinkedList = new LinkedList(); + m_CachedNodes = new Queue>(); + } + + /// + /// 获取链表中实际包含的结点数量。 + /// + public int Count + { + get + { + return m_LinkedList.Count; + } + } + + /// + /// 获取链表结点缓存数量。 + /// + public int CachedNodeCount + { + get + { + return m_CachedNodes.Count; + } + } + + /// + /// 获取链表的第一个结点。 + /// + public LinkedListNode First + { + get + { + return m_LinkedList.First; + } + } + + /// + /// 获取链表的最后一个结点。 + /// + public LinkedListNode Last + { + get + { + return m_LinkedList.Last; + } + } + + /// + /// 获取一个值,该值指示 ICollection`1 是否为只读。 + /// + public bool IsReadOnly + { + get + { + return ((ICollection)m_LinkedList).IsReadOnly; + } + } + + /// + /// 获取可用于同步对 ICollection 的访问的对象。 + /// + public object SyncRoot + { + get + { + return ((ICollection)m_LinkedList).SyncRoot; + } + } + + /// + /// 获取一个值,该值指示是否同步对 ICollection 的访问(线程安全)。 + /// + public bool IsSynchronized + { + get + { + return ((ICollection)m_LinkedList).IsSynchronized; + } + } + + /// + /// 在链表中指定的现有结点后添加包含指定值的新结点。 + /// + /// 指定的现有结点。 + /// 指定值。 + /// 包含指定值的新结点。 + public LinkedListNode AddAfter(LinkedListNode node, T value) + { + LinkedListNode newNode = AcquireNode(value); + m_LinkedList.AddAfter(node, newNode); + return newNode; + } + + /// + /// 在链表中指定的现有结点后添加指定的新结点。 + /// + /// 指定的现有结点。 + /// 指定的新结点。 + public void AddAfter(LinkedListNode node, LinkedListNode newNode) + { + m_LinkedList.AddAfter(node, newNode); + } + + /// + /// 在链表中指定的现有结点前添加包含指定值的新结点。 + /// + /// 指定的现有结点。 + /// 指定值。 + /// 包含指定值的新结点。 + public LinkedListNode AddBefore(LinkedListNode node, T value) + { + LinkedListNode newNode = AcquireNode(value); + m_LinkedList.AddBefore(node, newNode); + return newNode; + } + + /// + /// 在链表中指定的现有结点前添加指定的新结点。 + /// + /// 指定的现有结点。 + /// 指定的新结点。 + public void AddBefore(LinkedListNode node, LinkedListNode newNode) + { + m_LinkedList.AddBefore(node, newNode); + } + + /// + /// 在链表的开头处添加包含指定值的新结点。 + /// + /// 指定值。 + /// 包含指定值的新结点。 + public LinkedListNode AddFirst(T value) + { + LinkedListNode node = AcquireNode(value); + m_LinkedList.AddFirst(node); + return node; + } + + /// + /// 在链表的开头处添加指定的新结点。 + /// + /// 指定的新结点。 + public void AddFirst(LinkedListNode node) + { + m_LinkedList.AddFirst(node); + } + + /// + /// 在链表的结尾处添加包含指定值的新结点。 + /// + /// 指定值。 + /// 包含指定值的新结点。 + public LinkedListNode AddLast(T value) + { + LinkedListNode node = AcquireNode(value); + m_LinkedList.AddLast(node); + return node; + } + + /// + /// 在链表的结尾处添加指定的新结点。 + /// + /// 指定的新结点。 + public void AddLast(LinkedListNode node) + { + m_LinkedList.AddLast(node); + } + + /// + /// 从链表中移除所有结点。 + /// + public void Clear() + { + LinkedListNode current = m_LinkedList.First; + while (current != null) + { + ReleaseNode(current); + current = current.Next; + } + + m_LinkedList.Clear(); + } + + /// + /// 清除链表结点缓存。 + /// + public void ClearCachedNodes() + { + m_CachedNodes.Clear(); + } + + /// + /// 确定某值是否在链表中。 + /// + /// 指定值。 + /// 某值是否在链表中。 + public bool Contains(T value) + { + return m_LinkedList.Contains(value); + } + + /// + /// 从目标数组的指定索引处开始将整个链表复制到兼容的一维数组。 + /// + /// 一维数组,它是从链表复制的元素的目标。数组必须具有从零开始的索引。 + /// array 中从零开始的索引,从此处开始复制。 + public void CopyTo(T[] array, int index) + { + m_LinkedList.CopyTo(array, index); + } + + /// + /// 从特定的 ICollection 索引开始,将数组的元素复制到一个数组中。 + /// + /// 一维数组,它是从 ICollection 复制的元素的目标。数组必须具有从零开始的索引。 + /// array 中从零开始的索引,从此处开始复制。 + public void CopyTo(Array array, int index) + { + ((ICollection)m_LinkedList).CopyTo(array, index); + } + + /// + /// 查找包含指定值的第一个结点。 + /// + /// 要查找的指定值。 + /// 包含指定值的第一个结点。 + public LinkedListNode Find(T value) + { + return m_LinkedList.Find(value); + } + + /// + /// 查找包含指定值的最后一个结点。 + /// + /// 要查找的指定值。 + /// 包含指定值的最后一个结点。 + public LinkedListNode FindLast(T value) + { + return m_LinkedList.FindLast(value); + } + + /// + /// 从链表中移除指定值的第一个匹配项。 + /// + /// 指定值。 + /// 是否移除成功。 + public bool Remove(T value) + { + LinkedListNode node = m_LinkedList.Find(value); + if (node != null) + { + m_LinkedList.Remove(node); + ReleaseNode(node); + return true; + } + + return false; + } + + /// + /// 从链表中移除指定的结点。 + /// + /// 指定的结点。 + public void Remove(LinkedListNode node) + { + m_LinkedList.Remove(node); + ReleaseNode(node); + } + + /// + /// 移除位于链表开头处的结点。 + /// + public void RemoveFirst() + { + LinkedListNode first = m_LinkedList.First; + if (first == null) + { + throw new GameFrameworkException("First is invalid."); + } + + m_LinkedList.RemoveFirst(); + ReleaseNode(first); + } + + /// + /// 移除位于链表结尾处的结点。 + /// + public void RemoveLast() + { + LinkedListNode last = m_LinkedList.Last; + if (last == null) + { + throw new GameFrameworkException("Last is invalid."); + } + + m_LinkedList.RemoveLast(); + ReleaseNode(last); + } + + /// + /// 返回循环访问集合的枚举数。 + /// + /// 循环访问集合的枚举数。 + public Enumerator GetEnumerator() + { + return new Enumerator(m_LinkedList); + } + + private LinkedListNode AcquireNode(T value) + { + LinkedListNode node = null; + if (m_CachedNodes.Count > 0) + { + node = m_CachedNodes.Dequeue(); + node.Value = value; + } + else + { + node = new LinkedListNode(value); + } + + return node; + } + + private void ReleaseNode(LinkedListNode node) + { + node.Value = default(T); + m_CachedNodes.Enqueue(node); + } + + /// + /// 将值添加到 ICollection`1 的结尾处。 + /// + /// 要添加的值。 + void ICollection.Add(T value) + { + AddLast(value); + } + + /// + /// 返回循环访问集合的枚举数。 + /// + /// 循环访问集合的枚举数。 + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + /// + /// 返回循环访问集合的枚举数。 + /// + /// 循环访问集合的枚举数。 + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + /// + /// 循环访问集合的枚举数。 + /// + [StructLayout(LayoutKind.Auto)] + public struct Enumerator : IEnumerator, IEnumerator + { + private LinkedList.Enumerator m_Enumerator; + + internal Enumerator(LinkedList linkedList) + { + if (linkedList == null) + { + throw new GameFrameworkException("Linked list is invalid."); + } + + m_Enumerator = linkedList.GetEnumerator(); + } + + /// + /// 获取当前结点。 + /// + public T Current + { + get + { + return m_Enumerator.Current; + } + } + + /// + /// 获取当前的枚举数。 + /// + object IEnumerator.Current + { + get + { + return m_Enumerator.Current; + } + } + + /// + /// 清理枚举数。 + /// + public void Dispose() + { + m_Enumerator.Dispose(); + } + + /// + /// 获取下一个结点。 + /// + /// 返回下一个结点。 + public bool MoveNext() + { + return m_Enumerator.MoveNext(); + } + + /// + /// 重置枚举数。 + /// + void IEnumerator.Reset() + { + ((IEnumerator)m_Enumerator).Reset(); + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedList.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedList.cs.meta new file mode 100644 index 00000000..2545a955 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedList.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 0bf55be1c3044db1a097fe21337a8378 +timeCreated: 1708674214 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedListRange.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedListRange.cs new file mode 100644 index 00000000..a4f34382 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedListRange.cs @@ -0,0 +1,217 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System.Collections; +using System.Collections.Generic; +using System.Runtime.InteropServices; + +namespace SHFrame +{ + /// + /// 游戏框架链表范围。 + /// + /// 指定链表范围的元素类型。 + [StructLayout(LayoutKind.Auto)] + public struct GameFrameworkLinkedListRange : IEnumerable, IEnumerable + { + private readonly LinkedListNode m_First; + private readonly LinkedListNode m_Terminal; + + /// + /// 初始化游戏框架链表范围的新实例。 + /// + /// 链表范围的开始结点。 + /// 链表范围的终结标记结点。 + public GameFrameworkLinkedListRange(LinkedListNode first, LinkedListNode terminal) + { + if (first == null || terminal == null || first == terminal) + { + throw new GameFrameworkException("Range is invalid."); + } + + m_First = first; + m_Terminal = terminal; + } + + /// + /// 获取链表范围是否有效。 + /// + public bool IsValid + { + get + { + return m_First != null && m_Terminal != null && m_First != m_Terminal; + } + } + + /// + /// 获取链表范围的开始结点。 + /// + public LinkedListNode First + { + get + { + return m_First; + } + } + + /// + /// 获取链表范围的终结标记结点。 + /// + public LinkedListNode Terminal + { + get + { + return m_Terminal; + } + } + + /// + /// 获取链表范围的结点数量。 + /// + public int Count + { + get + { + if (!IsValid) + { + return 0; + } + + int count = 0; + for (LinkedListNode current = m_First; current != null && current != m_Terminal; current = current.Next) + { + count++; + } + + return count; + } + } + + /// + /// 检查是否包含指定值。 + /// + /// 要检查的值。 + /// 是否包含指定值。 + public bool Contains(T value) + { + for (LinkedListNode current = m_First; current != null && current != m_Terminal; current = current.Next) + { + if (current.Value.Equals(value)) + { + return true; + } + } + + return false; + } + + /// + /// 返回循环访问集合的枚举数。 + /// + /// 循环访问集合的枚举数。 + public Enumerator GetEnumerator() + { + return new Enumerator(this); + } + + /// + /// 返回循环访问集合的枚举数。 + /// + /// 循环访问集合的枚举数。 + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + /// + /// 返回循环访问集合的枚举数。 + /// + /// 循环访问集合的枚举数。 + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + /// + /// 循环访问集合的枚举数。 + /// + [StructLayout(LayoutKind.Auto)] + public struct Enumerator : IEnumerator, IEnumerator + { + private readonly GameFrameworkLinkedListRange m_GameFrameworkLinkedListRange; + private LinkedListNode m_Current; + private T m_CurrentValue; + + internal Enumerator(GameFrameworkLinkedListRange range) + { + if (!range.IsValid) + { + throw new GameFrameworkException("Range is invalid."); + } + + m_GameFrameworkLinkedListRange = range; + m_Current = m_GameFrameworkLinkedListRange.m_First; + m_CurrentValue = default(T); + } + + /// + /// 获取当前结点。 + /// + public T Current + { + get + { + return m_CurrentValue; + } + } + + /// + /// 获取当前的枚举数。 + /// + object IEnumerator.Current + { + get + { + return m_CurrentValue; + } + } + + /// + /// 清理枚举数。 + /// + public void Dispose() + { + } + + /// + /// 获取下一个结点。 + /// + /// 返回下一个结点。 + public bool MoveNext() + { + if (m_Current == null || m_Current == m_GameFrameworkLinkedListRange.m_Terminal) + { + return false; + } + + m_CurrentValue = m_Current.Value; + m_Current = m_Current.Next; + return true; + } + + /// + /// 重置枚举数。 + /// + void IEnumerator.Reset() + { + m_Current = m_GameFrameworkLinkedListRange.m_First; + m_CurrentValue = default(T); + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedListRange.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedListRange.cs.meta new file mode 100644 index 00000000..84bd8404 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkLinkedListRange.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 37e57e731a2147e1b9850b6e604a8748 +timeCreated: 1708674214 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkMultiDictionary.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkMultiDictionary.cs new file mode 100644 index 00000000..f399980c --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkMultiDictionary.cs @@ -0,0 +1,283 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System.Collections; +using System.Collections.Generic; +using System.Runtime.InteropServices; + +namespace SHFrame +{ + /// + /// 游戏框架多值字典类。 + /// + /// 指定多值字典的主键类型。 + /// 指定多值字典的值类型。 + public sealed class GameFrameworkMultiDictionary : IEnumerable>>, IEnumerable + { + private readonly GameFrameworkLinkedList m_LinkedList; + private readonly Dictionary> m_Dictionary; + + /// + /// 初始化游戏框架多值字典类的新实例。 + /// + public GameFrameworkMultiDictionary() + { + m_LinkedList = new GameFrameworkLinkedList(); + m_Dictionary = new Dictionary>(); + } + + /// + /// 获取多值字典中实际包含的主键数量。 + /// + public int Count + { + get + { + return m_Dictionary.Count; + } + } + + /// + /// 获取多值字典中指定主键的范围。 + /// + /// 指定的主键。 + /// 指定主键的范围。 + public GameFrameworkLinkedListRange this[TKey key] + { + get + { + GameFrameworkLinkedListRange range = default(GameFrameworkLinkedListRange); + m_Dictionary.TryGetValue(key, out range); + return range; + } + } + + /// + /// 清理多值字典。 + /// + public void Clear() + { + m_Dictionary.Clear(); + m_LinkedList.Clear(); + } + + /// + /// 检查多值字典中是否包含指定主键。 + /// + /// 要检查的主键。 + /// 多值字典中是否包含指定主键。 + public bool Contains(TKey key) + { + return m_Dictionary.ContainsKey(key); + } + + /// + /// 检查多值字典中是否包含指定值。 + /// + /// 要检查的主键。 + /// 要检查的值。 + /// 多值字典中是否包含指定值。 + public bool Contains(TKey key, TValue value) + { + GameFrameworkLinkedListRange range = default(GameFrameworkLinkedListRange); + if (m_Dictionary.TryGetValue(key, out range)) + { + return range.Contains(value); + } + + return false; + } + + /// + /// 尝试获取多值字典中指定主键的范围。 + /// + /// 指定的主键。 + /// 指定主键的范围。 + /// 是否获取成功。 + public bool TryGetValue(TKey key, out GameFrameworkLinkedListRange range) + { + return m_Dictionary.TryGetValue(key, out range); + } + + /// + /// 向指定的主键增加指定的值。 + /// + /// 指定的主键。 + /// 指定的值。 + public void Add(TKey key, TValue value) + { + GameFrameworkLinkedListRange range = default(GameFrameworkLinkedListRange); + if (m_Dictionary.TryGetValue(key, out range)) + { + m_LinkedList.AddBefore(range.Terminal, value); + } + else + { + LinkedListNode first = m_LinkedList.AddLast(value); + LinkedListNode terminal = m_LinkedList.AddLast(default(TValue)); + m_Dictionary.Add(key, new GameFrameworkLinkedListRange(first, terminal)); + } + } + + /// + /// 从指定的主键中移除指定的值。 + /// + /// 指定的主键。 + /// 指定的值。 + /// 是否移除成功。 + public bool Remove(TKey key, TValue value) + { + GameFrameworkLinkedListRange range = default(GameFrameworkLinkedListRange); + if (m_Dictionary.TryGetValue(key, out range)) + { + for (LinkedListNode current = range.First; current != null && current != range.Terminal; current = current.Next) + { + if (current.Value.Equals(value)) + { + if (current == range.First) + { + LinkedListNode next = current.Next; + if (next == range.Terminal) + { + m_LinkedList.Remove(next); + m_Dictionary.Remove(key); + } + else + { + m_Dictionary[key] = new GameFrameworkLinkedListRange(next, range.Terminal); + } + } + + m_LinkedList.Remove(current); + return true; + } + } + } + + return false; + } + + /// + /// 从指定的主键中移除所有的值。 + /// + /// 指定的主键。 + /// 是否移除成功。 + public bool RemoveAll(TKey key) + { + GameFrameworkLinkedListRange range = default(GameFrameworkLinkedListRange); + if (m_Dictionary.TryGetValue(key, out range)) + { + m_Dictionary.Remove(key); + + LinkedListNode current = range.First; + while (current != null) + { + LinkedListNode next = current != range.Terminal ? current.Next : null; + m_LinkedList.Remove(current); + current = next; + } + + return true; + } + + return false; + } + + /// + /// 返回循环访问集合的枚举数。 + /// + /// 循环访问集合的枚举数。 + public Enumerator GetEnumerator() + { + return new Enumerator(m_Dictionary); + } + + /// + /// 返回循环访问集合的枚举数。 + /// + /// 循环访问集合的枚举数。 + IEnumerator>> IEnumerable>>.GetEnumerator() + { + return GetEnumerator(); + } + + /// + /// 返回循环访问集合的枚举数。 + /// + /// 循环访问集合的枚举数。 + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + /// + /// 循环访问集合的枚举数。 + /// + [StructLayout(LayoutKind.Auto)] + public struct Enumerator : IEnumerator>>, IEnumerator + { + private Dictionary>.Enumerator m_Enumerator; + + internal Enumerator(Dictionary> dictionary) + { + if (dictionary == null) + { + throw new GameFrameworkException("Dictionary is invalid."); + } + + m_Enumerator = dictionary.GetEnumerator(); + } + + /// + /// 获取当前结点。 + /// + public KeyValuePair> Current + { + get + { + return m_Enumerator.Current; + } + } + + /// + /// 获取当前的枚举数。 + /// + object IEnumerator.Current + { + get + { + return m_Enumerator.Current; + } + } + + /// + /// 清理枚举数。 + /// + public void Dispose() + { + m_Enumerator.Dispose(); + } + + /// + /// 获取下一个结点。 + /// + /// 返回下一个结点。 + public bool MoveNext() + { + return m_Enumerator.MoveNext(); + } + + /// + /// 重置枚举数。 + /// + void IEnumerator.Reset() + { + ((IEnumerator>>)m_Enumerator).Reset(); + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkMultiDictionary.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkMultiDictionary.cs.meta new file mode 100644 index 00000000..c893ffe4 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/GameFrameworkMultiDictionary.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 97d9f0c9d701483bbab0e0390d75ab6f +timeCreated: 1708674203 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/TypeNamePair.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/TypeNamePair.cs new file mode 100644 index 00000000..f9753cbb --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/TypeNamePair.cs @@ -0,0 +1,129 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Runtime.InteropServices; + +namespace SHFrame +{ + /// + /// 类型和名称的组合值。 + /// + [StructLayout(LayoutKind.Auto)] + public struct TypeNamePair : IEquatable + { + private readonly Type m_Type; + private readonly string m_Name; + + /// + /// 初始化类型和名称的组合值的新实例。 + /// + /// 类型。 + public TypeNamePair(Type type) + : this(type, string.Empty) + { + } + + /// + /// 初始化类型和名称的组合值的新实例。 + /// + /// 类型。 + /// 名称。 + public TypeNamePair(Type type, string name) + { + if (type == null) + { + throw new GameFrameworkException("Type is invalid."); + } + + m_Type = type; + m_Name = name ?? string.Empty; + } + + /// + /// 获取类型。 + /// + public Type Type + { + get { return m_Type; } + } + + /// + /// 获取名称。 + /// + public string Name + { + get { return m_Name; } + } + + /// + /// 获取类型和名称的组合值字符串。 + /// + /// 类型和名称的组合值字符串。 + public override string ToString() + { + if (m_Type == null) + { + throw new GameFrameworkException("Type is invalid."); + } + + string typeName = m_Type.FullName; + return string.IsNullOrEmpty(m_Name) ? typeName : Utility.Text.Format("{0}.{1}", typeName, m_Name); + } + + /// + /// 获取对象的哈希值。 + /// + /// 对象的哈希值。 + public override int GetHashCode() + { + return m_Type.GetHashCode() ^ m_Name.GetHashCode(); + } + + /// + /// 比较对象是否与自身相等。 + /// + /// 要比较的对象。 + /// 被比较的对象是否与自身相等。 + public override bool Equals(object obj) + { + return obj is TypeNamePair && Equals((TypeNamePair)obj); + } + + /// + /// 比较对象是否与自身相等。 + /// + /// 要比较的对象。 + /// 被比较的对象是否与自身相等。 + public bool Equals(TypeNamePair value) + { + return m_Type == value.m_Type && m_Name == value.m_Name; + } + + /// + /// 判断两个对象是否相等。 + /// + /// 值 a。 + /// 值 b。 + /// 两个对象是否相等。 + public static bool operator ==(TypeNamePair a, TypeNamePair b) + { + return a.Equals(b); + } + + /// + /// 判断两个对象是否不相等。 + /// + /// 值 a。 + /// 值 b。 + /// 两个对象是否不相等。 + public static bool operator !=(TypeNamePair a, TypeNamePair b) + { + return !(a == b); + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/TypeNamePair.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/TypeNamePair.cs.meta new file mode 100644 index 00000000..e61ffdd9 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/DataStruct/TypeNamePair.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6392d2762b514ba59d1c2313dbd7946e +timeCreated: 1708673974 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event.meta new file mode 100644 index 00000000..b7989608 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f25d7db6a1244938b2eef1e38c1e65be +timeCreated: 1709030835 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventArgs.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventArgs.cs new file mode 100644 index 00000000..51362f6e --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventArgs.cs @@ -0,0 +1,25 @@ +namespace SHFrame +{ + /// 事件参数 + /// ZhangYu 2019-03-05 + /// + public class EventArgs + { + /// 事件类型 + public readonly string type; + + /// 事件参数 + public readonly object[] args; + + public EventArgs(string type) + { + this.type = type; + } + + public EventArgs(string type, params object[] args) + { + this.type = type; + this.args = args; + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventArgs.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventArgs.cs.meta new file mode 100644 index 00000000..0ca8fcb6 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventArgs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b8bc2c30ad9668644ba298f980f2eda6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventDispatcher.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventDispatcher.cs new file mode 100644 index 00000000..589995f6 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventDispatcher.cs @@ -0,0 +1,74 @@ +using System.Collections.Generic; + +namespace SHFrame +{ + /// + /// 事件派发器 + /// ZhangYu 2019-03-05 + /// + public class EventDispatcher + { + /// 事件Map + private Dictionary dic = new Dictionary(); + + /// 添加事件监听器 + /// 事件类型 + /// 事件处理器 + public void AddListener(string eventType, EventListener.EventHandler eventHandler) + { + EventListener invoker; + if (!dic.TryGetValue(eventType, out invoker)) + { + invoker = new EventListener(); + dic.Add(eventType, invoker); + } + invoker.eventHandler += eventHandler; + } + + /// 移除事件监听器 + /// 事件类型 + /// 事件处理器 + public void RemoveListener(string eventType, EventListener.EventHandler eventHandler) + { + EventListener invoker; + if (dic.TryGetValue(eventType, out invoker)) invoker.eventHandler -= eventHandler; + } + + /// 是否已经拥有该类型的事件 + /// 事件类型 + public bool HasListener(string eventType) + { + return dic.ContainsKey(eventType); + } + + /// 派发事件 + /// 事件类型 + public void DispatchEvent(string eventType, params object[] args) + { + EventListener invoker; + if (dic.TryGetValue(eventType, out invoker)) + { + EventArgs evt; + if (args == null || args.Length == 0) + { + evt = new EventArgs(eventType); + } + else + { + evt = new EventArgs(eventType, args); + } + invoker.Invoke(evt); + } + } + + /// 清理所有事件监听器 + public void Clear() + { + foreach (EventListener value in dic.Values) + { + value.Clear(); + } + dic.Clear(); + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventDispatcher.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventDispatcher.cs.meta new file mode 100644 index 00000000..8f1c7a2b --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventDispatcher.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1303100c362aa10459237b5ad8617f4b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventListener.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventListener.cs new file mode 100644 index 00000000..1dcfa669 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventListener.cs @@ -0,0 +1,27 @@ +namespace SHFrame +{ + /// + /// 事件监听器 + /// ZhangYu 2019-03-05 + /// + public class EventListener + { + /// 事件处理器委托 + public delegate void EventHandler(EventArgs eventArgs); + + /// 事件处理器集合 + public EventHandler eventHandler; + + /// 调用所有添加的事件 + public void Invoke(EventArgs eventArgs) + { + if (eventHandler != null) eventHandler.Invoke(eventArgs); + } + + /// 清理所有事件委托 + public void Clear() + { + eventHandler = null; + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventListener.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventListener.cs.meta new file mode 100644 index 00000000..36ebde98 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventListener.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dae197cb1d1228547a2af3254650955a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventUtil.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventUtil.cs new file mode 100644 index 00000000..7cf13577 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventUtil.cs @@ -0,0 +1,53 @@ +namespace SHFrame +{ + /// + /// 事件工具 + /// ZhangYu 2019-03-04 + /// + public static class EventUtil + { + /// 事件派发器 + private static EventDispatcher dispatcher = new EventDispatcher(); + + /// 添加事件监听器 + /// 事件类型 + /// 事件处理器 + public static void AddListener(string eventType, EventListener.EventHandler eventHandler) + { + dispatcher.AddListener(eventType, eventHandler); + } + + /// 移除事件监听器 + /// 事件类型 + /// 事件处理器 + public static void RemoveListener(string eventType, EventListener.EventHandler eventHandler) + { + dispatcher.RemoveListener(eventType, eventHandler); + } + + /// 是否已经拥有该类型的事件 + /// 事件类型 + public static bool HasListener(string eventType) + { + return dispatcher.HasListener(eventType); + } + + /// 派发事件 + /// 事件类型 + public static void DispatchEvent(string eventType, params object[] args) + { + dispatcher.DispatchEvent(eventType, args); + } + + /// 清理所有事件监听器 + public static void Clear() + { + dispatcher.Clear(); + } + + // public static void DispatchEvent(string updateItemOrCard, object updateExpCard) + // { + // throw new NotImplementedException(); + // } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventUtil.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventUtil.cs.meta new file mode 100644 index 00000000..7f891ab7 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Event/EventUtil.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dd0630485bf39a24fb4fbf8a933447af +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Exception.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Exception.meta new file mode 100644 index 00000000..dab42165 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Exception.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fb832def3641bc0429ba1ed88e6864ef +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Exception/GameFrameworkException.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Exception/GameFrameworkException.cs new file mode 100644 index 00000000..6d11ac65 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Exception/GameFrameworkException.cs @@ -0,0 +1,49 @@ +using System; +using System.Runtime.Serialization; + +namespace SHFrame +{ + /// + /// 游戏框架异常类。 + /// + [Serializable] + public class GameFrameworkException : Exception + { + /// + /// 初始化游戏框架异常类的新实例。 + /// + public GameFrameworkException() + : base() + { + } + + /// + /// 使用指定错误消息初始化游戏框架异常类的新实例。 + /// + /// 描述错误的消息。 + public GameFrameworkException(string message) + : base(message) + { + } + + /// + /// 使用指定错误消息和对作为此异常原因的内部异常的引用来初始化游戏框架异常类的新实例。 + /// + /// 解释异常原因的错误消息。 + /// 导致当前异常的异常。如果 innerException 参数不为空引用,则在处理内部异常的 catch 块中引发当前异常。 + public GameFrameworkException(string message, Exception innerException) + : base(message, innerException) + { + } + + /// + /// 用序列化数据初始化游戏框架异常类的新实例。 + /// + /// 存有有关所引发异常的序列化的对象数据。 + /// 包含有关源或目标的上下文信息。 + protected GameFrameworkException(SerializationInfo info, StreamingContext context) + : base(info, context) + { + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Exception/GameFrameworkException.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Exception/GameFrameworkException.cs.meta new file mode 100644 index 00000000..f1ea9d9d --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Exception/GameFrameworkException.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 64a0d4c7981db7540b553dafd57d4766 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/GameFrameworkEventArgs.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/GameFrameworkEventArgs.cs new file mode 100644 index 00000000..cdcbccef --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/GameFrameworkEventArgs.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using SHFrame; +using EventArgs = System.EventArgs; + +namespace GameFramework +{ + /// + /// 游戏框架中包含事件数据的类的基类。 + /// + public abstract class GameFrameworkEventArgs : EventArgs, IReference + { + /// + /// 初始化游戏框架中包含事件数据的类的新实例。 + /// + public GameFrameworkEventArgs() + { + } + + /// + /// 清理引用。 + /// + public abstract void Clear(); + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/GameFrameworkEventArgs.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/GameFrameworkEventArgs.cs.meta new file mode 100644 index 00000000..dbbaf990 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/GameFrameworkEventArgs.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7c22c08df08643ef8665d53a2ccf977c +timeCreated: 1721617064 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log.meta new file mode 100644 index 00000000..d6833de0 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: db204a57722c74d44be1b3abd4ced8a7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.ILogHelper.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.ILogHelper.cs new file mode 100644 index 00000000..c00190af --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.ILogHelper.cs @@ -0,0 +1,18 @@ +namespace SHFrame +{ + public static partial class GameFrameworkLog + { + /// + /// 游戏框架日志辅助器接口。 + /// + public interface ILogHelper + { + /// + /// 记录日志。 + /// + /// 游戏框架日志等级。 + /// 日志内容。 + void Log(GameFrameworkLogLevel level, object message); + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.ILogHelper.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.ILogHelper.cs.meta new file mode 100644 index 00000000..cb9067f5 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.ILogHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7d65b13152a7569458b4da6d6d896d18 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.cs new file mode 100644 index 00000000..c0b26c9d --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.cs @@ -0,0 +1,2639 @@ +namespace SHFrame +{ + /// + /// 游戏框架日志类。 + /// + public static partial class GameFrameworkLog + { + private static ILogHelper s_LogHelper = new DefaultLogHelper(); + + /// + /// 设置游戏框架日志辅助器。 + /// + /// 要设置的游戏框架日志辅助器。 + public static void SetLogHelper(ILogHelper logHelper) + { + s_LogHelper = logHelper; + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志内容。 + public static void Debug(object message) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, message); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志内容。 + public static void Debug(string message) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, message); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数的类型。 + /// 日志格式。 + /// 日志参数。 + public static void Debug(string format, T arg) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + public static void Debug(string format, T1 arg1, T2 arg2) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3, arg4)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志参数 16 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 日志参数 16。 + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Debug, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志内容。 + public static void Info(object message) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, message); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志内容。 + public static void Info(string message) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, message); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数的类型。 + /// 日志格式。 + /// 日志参数。 + public static void Info(string format, T arg) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + public static void Info(string format, T1 arg1, T2 arg2) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3, arg4)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志参数 16 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 日志参数 16。 + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Info, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志内容。 + public static void Warning(object message) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, message); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志内容。 + public static void Warning(string message) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, message); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数的类型。 + /// 日志格式。 + /// 日志参数。 + public static void Warning(string format, T arg) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + public static void Warning(string format, T1 arg1, T2 arg2) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3, arg4)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志参数 16 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 日志参数 16。 + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Warning, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志内容。 + public static void Error(object message) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, message); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志内容。 + public static void Error(string message) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, message); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数的类型。 + /// 日志格式。 + /// 日志参数。 + public static void Error(string format, T arg) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + public static void Error(string format, T1 arg1, T2 arg2) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3, arg4)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志参数 16 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 日志参数 16。 + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Error, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志内容。 + public static void Fatal(object message) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, message); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志内容。 + public static void Fatal(string message) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, message); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数的类型。 + /// 日志格式。 + /// 日志参数。 + public static void Fatal(string format, T arg) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + public static void Fatal(string format, T1 arg1, T2 arg2) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3, arg4)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志参数 16 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 日志参数 16。 + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) + { + if (s_LogHelper == null) + { + return; + } + + s_LogHelper.Log(GameFrameworkLogLevel.Fatal, Utility.Text.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.cs.meta new file mode 100644 index 00000000..4085d370 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLog.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ba33a75fffd3342489eb9f65b4dd5374 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLogLevel.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLogLevel.cs new file mode 100644 index 00000000..4fe76e4a --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLogLevel.cs @@ -0,0 +1,33 @@ +namespace SHFrame +{ + /// + /// 游戏框架日志等级。 + /// + public enum GameFrameworkLogLevel : byte + { + /// + /// 调试。 + /// + Debug = 0, + + /// + /// 信息。 + /// + Info, + + /// + /// 警告。 + /// + Warning, + + /// + /// 错误。 + /// + Error, + + /// + /// 严重错误。 + /// + Fatal + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLogLevel.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLogLevel.cs.meta new file mode 100644 index 00000000..5b46037b --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/GameFrameworkLogLevel.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cd8dd7c832422a746ac6a2f1571fbe61 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/Log.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/Log.cs new file mode 100644 index 00000000..9c026cc2 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/Log.cs @@ -0,0 +1,2890 @@ +using System.Diagnostics; + +namespace SHFrame +{ + /// + /// 日志工具集。 + /// + public static class Log + { + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志内容。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(object message) + { + GameFrameworkLog.Debug(message); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志内容。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string message) + { + GameFrameworkLog.Debug(message); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数的类型。 + /// 日志格式。 + /// 日志参数。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T arg) + { + GameFrameworkLog.Debug(format, arg); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2) + { + GameFrameworkLog.Debug(format, arg1, arg2); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3, arg4); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3, arg4, arg5); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, + T10 arg10, T11 arg11) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, + T10 arg10, T11 arg11, T12 arg12) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, + T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, + T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, + T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); + } + + /// + /// 打印调试级别日志,用于记录调试类日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志参数 16 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 日志参数 16。 + /// 仅在带有 ENABLE_LOG、ENABLE_DEBUG_LOG 或 ENABLE_DEBUG_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_DEBUG_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + public static void Debug(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, + T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) + { + GameFrameworkLog.Debug(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志内容。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(object message) + { + GameFrameworkLog.Info(message); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志内容。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string message) + { + GameFrameworkLog.Info(message); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数的类型。 + /// 日志格式。 + /// 日志参数。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T arg) + { + GameFrameworkLog.Info(format, arg); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2) + { + GameFrameworkLog.Info(format, arg1, arg2); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3, arg4); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3, arg4, arg5); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, + T10 arg10, T11 arg11) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, + T10 arg10, T11 arg11, T12 arg12) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, + T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, + T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, + T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); + } + + /// + /// 打印信息级别日志,用于记录程序正常运行日志信息。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志参数 16 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 日志参数 16。 + /// 仅在带有 ENABLE_LOG、ENABLE_INFO_LOG、ENABLE_DEBUG_AND_ABOVE_LOG 或 ENABLE_INFO_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_INFO_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + public static void Info(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, + T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) + { + GameFrameworkLog.Info(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志内容。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(object message) + { + GameFrameworkLog.Warning(message); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志内容。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string message) + { + GameFrameworkLog.Warning(message); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数的类型。 + /// 日志格式。 + /// 日志参数。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T arg) + { + GameFrameworkLog.Warning(format, arg); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2) + { + GameFrameworkLog.Warning(format, arg1, arg2); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3, arg4); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3, arg4, arg5); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, + T10 arg10) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, + T10 arg10, T11 arg11) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, + T9 arg9, T10 arg10, T11 arg11, T12 arg12) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, + T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, + T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, + T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); + } + + /// + /// 打印警告级别日志,建议在发生局部功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志参数 16 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 日志参数 16。 + /// 仅在带有 ENABLE_LOG、ENABLE_WARNING_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG 或 ENABLE_WARNING_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_WARNING_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + public static void Warning(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, + T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) + { + GameFrameworkLog.Warning(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志内容。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(object message) + { + GameFrameworkLog.Error(message); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志内容。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string message) + { + GameFrameworkLog.Error(message); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数的类型。 + /// 日志格式。 + /// 日志参数。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T arg) + { + GameFrameworkLog.Error(format, arg); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2) + { + GameFrameworkLog.Error(format, arg1, arg2); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3, arg4); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3, arg4, arg5); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, + T10 arg10, T11 arg11) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, + T10 arg10, T11 arg11, T12 arg12) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, + T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, + T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, + T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); + } + + /// + /// 打印错误级别日志,建议在发生功能逻辑错误,但尚不会导致游戏崩溃或异常时使用。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志参数 16 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 日志参数 16。 + /// 仅在带有 ENABLE_LOG、ENABLE_ERROR_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG 或 ENABLE_ERROR_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_ERROR_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + public static void Error(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, + T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) + { + GameFrameworkLog.Error(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志内容。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(object message) + { + GameFrameworkLog.Fatal(message); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志内容。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string message) + { + GameFrameworkLog.Fatal(message); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数的类型。 + /// 日志格式。 + /// 日志参数。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T arg) + { + GameFrameworkLog.Fatal(format, arg); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2) + { + GameFrameworkLog.Fatal(format, arg1, arg2); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3, arg4); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3, arg4, arg5); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, + T10 arg10, T11 arg11) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, + T10 arg10, T11 arg11, T12 arg12) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, + T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, + T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, + T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); + } + + /// + /// 打印严重错误级别日志,建议在发生严重错误,可能导致游戏崩溃或异常时使用,此时应尝试重启进程或重建游戏框架。 + /// + /// 日志参数 1 的类型。 + /// 日志参数 2 的类型。 + /// 日志参数 3 的类型。 + /// 日志参数 4 的类型。 + /// 日志参数 5 的类型。 + /// 日志参数 6 的类型。 + /// 日志参数 7 的类型。 + /// 日志参数 8 的类型。 + /// 日志参数 9 的类型。 + /// 日志参数 10 的类型。 + /// 日志参数 11 的类型。 + /// 日志参数 12 的类型。 + /// 日志参数 13 的类型。 + /// 日志参数 14 的类型。 + /// 日志参数 15 的类型。 + /// 日志参数 16 的类型。 + /// 日志格式。 + /// 日志参数 1。 + /// 日志参数 2。 + /// 日志参数 3。 + /// 日志参数 4。 + /// 日志参数 5。 + /// 日志参数 6。 + /// 日志参数 7。 + /// 日志参数 8。 + /// 日志参数 9。 + /// 日志参数 10。 + /// 日志参数 11。 + /// 日志参数 12。 + /// 日志参数 13。 + /// 日志参数 14。 + /// 日志参数 15。 + /// 日志参数 16。 + /// 仅在带有 ENABLE_LOG、ENABLE_FATAL_LOG、ENABLE_DEBUG_AND_ABOVE_LOG、ENABLE_INFO_AND_ABOVE_LOG、ENABLE_WARNING_AND_ABOVE_LOG、ENABLE_ERROR_AND_ABOVE_LOG 或 ENABLE_FATAL_AND_ABOVE_LOG 预编译选项时生效。 + [Conditional("ENABLE_LOG")] + [Conditional("ENABLE_FATAL_LOG")] + [Conditional("ENABLE_DEBUG_AND_ABOVE_LOG")] + [Conditional("ENABLE_INFO_AND_ABOVE_LOG")] + [Conditional("ENABLE_WARNING_AND_ABOVE_LOG")] + [Conditional("ENABLE_ERROR_AND_ABOVE_LOG")] + [Conditional("ENABLE_FATAL_AND_ABOVE_LOG")] + public static void Fatal(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, + T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) + { + GameFrameworkLog.Fatal(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); + } + + /// + /// 断言严重错误级别日志,建议在发生严重错误。 + /// + /// 条件。 + [Conditional("ENABLE_LOG")] + public static void Assert(bool condition) + { + if (!condition) + { + string message = Utility.Text.Format("{0}\n{1}", "Assert Failed!", System.Environment.StackTrace); + Fatal(message); + } + } + + /// + /// 断言严重错误级别日志,建议在发生严重错误。 + /// + /// 条件。 + /// 断言输出字符串。 + [Conditional("ENABLE_LOG")] + public static void Assert(bool condition, string retStr) + { + if (!condition) + { + string message = Utility.Text.Format("{0}!{1}\n{2}", "Assert Failed", retStr, System.Environment.StackTrace); + Fatal(message); + } + } + + /// + /// 断言严重错误级别日志,建议在发生严重错误。 + /// + /// + /// 条件。 + /// 断言输出格式化字符串 + /// 断言输出参数1 + [Conditional("ENABLE_LOG")] + public static void Assert(bool condition, string strFormat, T param1) + { + if (!condition) + { + string retStr = Utility.Text.Format(strFormat, param1); + string message = Utility.Text.Format("{0}!{1}\n{2}", "Assert Failed", retStr, System.Environment.StackTrace); + Fatal(message); + } + } + + /// + /// 断言严重错误级别日志,建议在发生严重错误。 + /// + /// + /// + /// 条件。 + /// 断言输出格式化字符串 + /// 断言输出参数1 + /// 断言输出参数2 + [Conditional("ENABLE_LOG")] + public static void Assert(bool condition, string strFormat, T1 param1, T2 param2) + { + if (!condition) + { + string retStr = Utility.Text.Format(strFormat, param1, param2); + string message = Utility.Text.Format("{0}!{1}\n{2}", "Assert Failed", retStr, System.Environment.StackTrace); + Fatal(message); + } + } + + /// + /// 断言严重错误级别日志,建议在发生严重错误。 + /// + /// + /// + /// + /// >条件。 + /// 断言输出格式化字符串 + /// 断言输出参数1 + /// 断言输出参数2 + /// 断言输出参数3 + [Conditional("ENABLE_LOG")] + public static void Assert(bool condition, string strFormat, T1 param1, T2 param2, T3 param3) + { + if (!condition) + { + string retStr = Utility.Text.Format(strFormat, param1, param2, param3); + string message = Utility.Text.Format("{0}!{1}\n{2}", "Assert Failed", retStr, System.Environment.StackTrace); + Fatal(message); + } + } + + /// + /// 断言严重错误级别日志,建议在发生严重错误。 + /// + /// + /// + /// + /// + /// >条件。 + /// 断言输出格式化字符串 + /// 断言输出参数1 + /// 断言输出参数2 + /// 断言输出参数3 + /// 断言输出参数4 + [Conditional("ENABLE_LOG")] + public static void Assert(bool condition, string strFormat, T1 param1, T2 param2, T3 param3, T4 param4) + { + if (!condition) + { + string retStr = Utility.Text.Format(strFormat, param1, param2, param3, param4); + string message = Utility.Text.Format("{0}!{1}\n{2}", "Assert Failed", retStr, System.Environment.StackTrace); + Fatal(message); + } + } + + /// + /// 断言严重错误级别日志,建议在发生严重错误。 + /// + /// + /// + /// + /// + /// + /// >条件。 + /// 断言输出格式化字符串 + /// 断言输出参数1 + /// 断言输出参数2 + /// 断言输出参数3 + /// 断言输出参数4 + /// 断言输出参数5 + [Conditional("ENABLE_LOG")] + public static void Assert(bool condition, string strFormat, T1 param1, T2 param2, T3 param3, T4 param4, T5 param5) + { + if (!condition) + { + string retStr = Utility.Text.Format(strFormat, param1, param2, param3, param4, param5); + string message = Utility.Text.Format("{0}!{1}\n{2}", "Assert Failed", retStr, System.Environment.StackTrace); + Fatal(message); + } + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/Log.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/Log.cs.meta new file mode 100644 index 00000000..7b572125 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Log/Log.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 02f3ffa8fd9ef5547b732e521ddb6343 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net.meta new file mode 100644 index 00000000..787aee89 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4bfe3877976172c40a676de42ea7e0b0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket.meta new file mode 100644 index 00000000..c7312d7e --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 64aaa103f0a1fbd4a96e026e7fe7b3a0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime.meta new file mode 100644 index 00000000..1d607550 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d7af9750e0bda15429621c4bd7d0bada +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core.meta new file mode 100644 index 00000000..75a53494 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8b3a2a8f55d4a47f599b1fa3ed612389 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseEventArgs.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseEventArgs.cs new file mode 100644 index 00000000..d0d5831a --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseEventArgs.cs @@ -0,0 +1,89 @@ +using System; + +namespace UnityWebSocket +{ + /// + /// Represents the event data for the event. + /// + /// + /// + /// That event occurs when the WebSocket connection has been closed. + /// + /// + /// If you would like to get the reason for the close, you should access + /// the or property. + /// + /// + public class CloseEventArgs : EventArgs + { + #region Internal Constructors + + internal CloseEventArgs() + { + } + + internal CloseEventArgs(ushort code) + : this(code, null) + { + } + + internal CloseEventArgs(CloseStatusCode code) + : this((ushort)code, null) + { + } + + internal CloseEventArgs(CloseStatusCode code, string reason) + : this((ushort)code, reason) + { + } + + internal CloseEventArgs(ushort code, string reason) + { + Code = code; + Reason = reason; + } + + #endregion + + #region Public Properties + + /// + /// Gets the status code for the close. + /// + /// + /// A that represents the status code for the close if any. + /// + public ushort Code { get; private set; } + + /// + /// Gets the reason for the close. + /// + /// + /// A that represents the reason for the close if any. + /// + public string Reason { get; private set; } + + /// + /// Gets a value indicating whether the connection has been closed cleanly. + /// + /// + /// true if the connection has been closed cleanly; otherwise, false. + /// + public bool WasClean { get; internal set; } + + /// + /// Enum value same as Code + /// + public CloseStatusCode StatusCode + { + get + { + if (Enum.IsDefined(typeof(CloseStatusCode), Code)) + return (CloseStatusCode)Code; + return CloseStatusCode.Unknown; + } + } + + #endregion + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseEventArgs.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseEventArgs.cs.meta new file mode 100644 index 00000000..6e2a928a --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseEventArgs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 29b987d07ba15434cb1744135a7a5416 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseStatusCode.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseStatusCode.cs new file mode 100644 index 00000000..0da2ddbd --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseStatusCode.cs @@ -0,0 +1,91 @@ +namespace UnityWebSocket +{ + /// + /// Indicates the status code for the WebSocket connection close. + /// + /// + /// + /// The values of this enumeration are defined in + /// + /// Section 7.4 of RFC 6455. + /// + /// + /// "Reserved value" cannot be sent as a status code in + /// closing handshake by an endpoint. + /// + /// + public enum CloseStatusCode : ushort + { + Unknown = 65534, + /// + /// Equivalent to close status 1000. Indicates normal close. + /// + Normal = 1000, + /// + /// Equivalent to close status 1001. Indicates that an endpoint is + /// going away. + /// + Away = 1001, + /// + /// Equivalent to close status 1002. Indicates that an endpoint is + /// terminating the connection due to a protocol error. + /// + ProtocolError = 1002, + /// + /// Equivalent to close status 1003. Indicates that an endpoint is + /// terminating the connection because it has received a type of + /// data that it cannot accept. + /// + UnsupportedData = 1003, + /// + /// Equivalent to close status 1004. Still undefined. A Reserved value. + /// + Undefined = 1004, + /// + /// Equivalent to close status 1005. Indicates that no status code was + /// actually present. A Reserved value. + /// + NoStatus = 1005, + /// + /// Equivalent to close status 1006. Indicates that the connection was + /// closed abnormally. A Reserved value. + /// + Abnormal = 1006, + /// + /// Equivalent to close status 1007. Indicates that an endpoint is + /// terminating the connection because it has received a message that + /// contains data that is not consistent with the type of the message. + /// + InvalidData = 1007, + /// + /// Equivalent to close status 1008. Indicates that an endpoint is + /// terminating the connection because it has received a message that + /// violates its policy. + /// + PolicyViolation = 1008, + /// + /// Equivalent to close status 1009. Indicates that an endpoint is + /// terminating the connection because it has received a message that + /// is too big to process. + /// + TooBig = 1009, + /// + /// Equivalent to close status 1010. Indicates that a client is + /// terminating the connection because it has expected the server to + /// negotiate one or more extension, but the server did not return + /// them in the handshake response. + /// + MandatoryExtension = 1010, + /// + /// Equivalent to close status 1011. Indicates that a server is + /// terminating the connection because it has encountered an unexpected + /// condition that prevented it from fulfilling the request. + /// + ServerError = 1011, + /// + /// Equivalent to close status 1015. Indicates that the connection was + /// closed due to a failure to perform a TLS handshake. A Reserved value. + /// + TlsHandshakeFailure = 1015, + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseStatusCode.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseStatusCode.cs.meta new file mode 100644 index 00000000..48e96605 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/CloseStatusCode.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4e34ee317292e4225a10427cc35f85ec +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/ErrorEventArgs.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/ErrorEventArgs.cs new file mode 100644 index 00000000..cfb91b87 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/ErrorEventArgs.cs @@ -0,0 +1,59 @@ +using System; + +namespace UnityWebSocket +{ + /// + /// Represents the event data for the event. + /// + /// + /// + /// That event occurs when the gets an error. + /// + /// + /// If you would like to get the error message, you should access + /// the property. + /// + /// + /// And if the error is due to an exception, you can get it by accessing + /// the property. + /// + /// + public class ErrorEventArgs : EventArgs + { + #region Internal Constructors + + internal ErrorEventArgs(string message) + : this(message, null) + { + } + + internal ErrorEventArgs(string message, Exception exception) + { + this.Message = message; + this.Exception = exception; + } + + #endregion + + #region Public Properties + + /// + /// Gets the exception that caused the error. + /// + /// + /// An instance that represents the cause of + /// the error if it is due to an exception; otherwise, . + /// + public Exception Exception { get; private set; } + + /// + /// Gets the error message. + /// + /// + /// A that represents the error message. + /// + public string Message { get; private set; } + + #endregion + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/ErrorEventArgs.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/ErrorEventArgs.cs.meta new file mode 100644 index 00000000..47a5055b --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/ErrorEventArgs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 884e7db60b6444154b7200e0e436f2de +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/IWebSocket.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/IWebSocket.cs new file mode 100644 index 00000000..514ec575 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/IWebSocket.cs @@ -0,0 +1,156 @@ +using System; + +namespace UnityWebSocket +{ + /// + /// IWebSocket indicate a network connection. + /// It can be connecting, connected, closing or closed state. + /// You can send and receive messages by using it. + /// Register callbacks for handling messages. + /// ----------------------------------------------------------- + /// IWebSocket 表示一个网络连接, + /// 它可以是 connecting connected closing closed 状态, + /// 可以发送和接收消息, + /// 通过注册消息回调,来处理接收到的消息。 + /// + public interface IWebSocket + { + /// + /// Establishes a connection asynchronously. + /// + /// + /// + /// This method does not wait for the connect process to be complete. + /// + /// + /// This method does nothing if the connection has already been + /// established. + /// + /// + /// + /// + /// This instance is not a client. + /// + /// + /// -or- + /// + /// + /// The close process is in progress. + /// + /// + /// -or- + /// + /// + /// A series of reconnecting has failed. + /// + /// + void ConnectAsync(); + + /// + /// Closes the connection asynchronously. + /// + /// + /// + /// This method does not wait for the close to be complete. + /// + /// + /// This method does nothing if the current state of the connection is + /// Closing or Closed. + /// + /// + void CloseAsync(); + + /// + /// Sends the specified data asynchronously using the WebSocket connection. + /// + /// + /// This method does not wait for the send to be complete. + /// + /// + /// An array of that represents the binary data to send. + /// + /// + /// The current state of the connection is not Open. + /// + /// + /// is . + /// + void SendAsync(byte[] data); + + /// + /// Sends the specified data using the WebSocket connection. + /// + /// + /// A that represents the text data to send. + /// + /// + /// The current state of the connection is not Open. + /// + /// + /// is . + /// + /// + /// could not be UTF-8 encoded. + /// + void SendAsync(string text); + + /// + /// get the address which to connect. + /// + string Address { get; } + + /// + /// get sub protocols . + /// + string[] SubProtocols { get; } + + /// + /// Gets the current state of the connection. + /// + /// + /// + /// One of the enum values. + /// + /// + /// It indicates the current state of the connection. + /// + /// + /// The default value is . + /// + /// + WebSocketState ReadyState { get; } + + /// + /// Gets the current binaryType of the connection, supported on WEBGL platform only. + /// + /// + /// + /// It indicates the current binaryType of the connection. + /// + /// + /// The default value is "arraybuffer", options: "blob" or "arraybuffer". + /// + /// + string BinaryType { get; set; } + + /// + /// Occurs when the WebSocket connection has been established. + /// + event EventHandler OnOpen; + + /// + /// Occurs when the WebSocket connection has been closed. + /// + event EventHandler OnClose; + + /// + /// Occurs when the gets an error. + /// + event EventHandler OnError; + + /// + /// Occurs when the receives a message. + /// + event EventHandler OnMessage; + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/IWebSocket.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/IWebSocket.cs.meta new file mode 100644 index 00000000..ae658256 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/IWebSocket.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 37ee2146eb8c34ffab8b081a632b05cf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/MessageEventArgs.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/MessageEventArgs.cs new file mode 100644 index 00000000..a80fbae8 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/MessageEventArgs.cs @@ -0,0 +1,115 @@ +using System; +using System.Text; + +namespace UnityWebSocket +{ + public class MessageEventArgs : EventArgs + { + private byte[] _rawData; + private string _data; + + internal MessageEventArgs(Opcode opcode, byte[] rawData) + { + Opcode = opcode; + _rawData = rawData; + } + + internal MessageEventArgs(Opcode opcode, string data) + { + Opcode = opcode; + _data = data; + } + + /// + /// Gets the opcode for the message. + /// + /// + /// , . + /// + internal Opcode Opcode { get; private set; } + + /// + /// Gets the message data as a . + /// + /// + /// A that represents the message data if its type is + /// text and if decoding it to a string has successfully done; + /// otherwise, . + /// + public string Data + { + get + { + SetData(); + return _data; + } + } + + /// + /// Gets the message data as an array of . + /// + /// + /// An array of that represents the message data. + /// + public byte[] RawData + { + get + { + SetRawData(); + return _rawData; + } + } + + /// + /// Gets a value indicating whether the message type is binary. + /// + /// + /// true if the message type is binary; otherwise, false. + /// + public bool IsBinary + { + get + { + return Opcode == Opcode.Binary; + } + } + + /// + /// Gets a value indicating whether the message type is text. + /// + /// + /// true if the message type is text; otherwise, false. + /// + public bool IsText + { + get + { + return Opcode == Opcode.Text; + } + } + + private void SetData() + { + if (_data != null) return; + + if (RawData == null) + { + return; + } + + _data = Encoding.UTF8.GetString(RawData); + } + + private void SetRawData() + { + if (_rawData != null) return; + + if (_data == null) + { + return; + } + + _rawData = Encoding.UTF8.GetBytes(_data); + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/MessageEventArgs.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/MessageEventArgs.cs.meta new file mode 100644 index 00000000..1c3a7d13 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/MessageEventArgs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b44eda173b4924081bab76ae9d1b0a9c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Opcode.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Opcode.cs new file mode 100644 index 00000000..3e758e23 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Opcode.cs @@ -0,0 +1,26 @@ +namespace UnityWebSocket +{ + /// + /// Indicates the WebSocket frame type. + /// + /// + /// The values of this enumeration are defined in + /// + /// Section 5.2 of RFC 6455. + /// + public enum Opcode : byte + { + /// + /// Equivalent to numeric value 1. Indicates text frame. + /// + Text = 0x1, + /// + /// Equivalent to numeric value 2. Indicates binary frame. + /// + Binary = 0x2, + /// + /// Equivalent to numeric value 8. Indicates connection close frame. + /// + Close = 0x8, + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Opcode.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Opcode.cs.meta new file mode 100644 index 00000000..a7ed802f --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Opcode.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: eeac0ef90273544ebbae046672caf362 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/OpenEventArgs.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/OpenEventArgs.cs new file mode 100644 index 00000000..fa84a33d --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/OpenEventArgs.cs @@ -0,0 +1,11 @@ +using System; + +namespace UnityWebSocket +{ + public class OpenEventArgs : EventArgs + { + internal OpenEventArgs() + { + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/OpenEventArgs.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/OpenEventArgs.cs.meta new file mode 100644 index 00000000..0cfe2c2d --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/OpenEventArgs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5fb6fd704bd4e4b8ba63cd0b28712955 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Settings.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Settings.cs new file mode 100644 index 00000000..04dd3ed8 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Settings.cs @@ -0,0 +1,12 @@ +namespace UnityWebSocket +{ + public static class Settings + { + public const string GITHUB = "https://github.com/psygames/UnityWebSocket"; + public const string QQ_GROUP = "1126457634"; + public const string QQ_GROUP_LINK = "https://qm.qq.com/cgi-bin/qm/qr?k=KcexYJ9aYwogFXbj2aN0XHH5b2G7ICmd"; + public const string EMAIL = "799329256@qq.com"; + public const string AUHTOR = "psygames"; + public const string VERSION = "2.7.0"; + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Settings.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Settings.cs.meta new file mode 100644 index 00000000..e8e36229 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/Settings.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e268303c7a605e343b1b132e5559f01f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/WebSocketState.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/WebSocketState.cs new file mode 100644 index 00000000..796ab15f --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/WebSocketState.cs @@ -0,0 +1,36 @@ +namespace UnityWebSocket +{ + /// + /// Reference html5 WebSocket ReadyState Properties + /// Indicates the state of a WebSocket connection. + /// + /// + /// The values of this enumeration are defined in + /// + /// The WebSocket API. + /// + public enum WebSocketState : ushort + { + /// + /// Equivalent to numeric value 0. Indicates that the connection has not + /// yet been established. + /// + Connecting = 0, + /// + /// Equivalent to numeric value 1. Indicates that the connection has + /// been established, and the communication is possible. + /// + Open = 1, + /// + /// Equivalent to numeric value 2. Indicates that the connection is + /// going through the closing handshake, or the close method has + /// been invoked. + /// + Closing = 2, + /// + /// Equivalent to numeric value 3. Indicates that the connection has + /// been closed or could not be established. + /// + Closed = 3 + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/WebSocketState.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/WebSocketState.cs.meta new file mode 100644 index 00000000..94877ec5 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Core/WebSocketState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5f6567ad13cb147a59f8af784f1c5f60 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation.meta new file mode 100644 index 00000000..abb1981f --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 396c66b333d624d539153070900bb73b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL.meta new file mode 100644 index 00000000..dc70a45c --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6c110a898ae8b0b41bcf4da49c2b0425 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocket.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocket.cs new file mode 100644 index 00000000..c6a231db --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocket.cs @@ -0,0 +1,363 @@ +#if !NET_LEGACY && (UNITY_EDITOR || !UNITY_WEBGL) +using System; +using System.Collections.Generic; +using System.IO; +using System.Net.WebSockets; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace UnityWebSocket +{ + public class WebSocket : IWebSocket + { + public string Address { get; private set; } + public string[] SubProtocols { get; private set; } + + public WebSocketState ReadyState + { + get + { + if (socket == null) + return WebSocketState.Closed; + switch (socket.State) + { + case System.Net.WebSockets.WebSocketState.Closed: + case System.Net.WebSockets.WebSocketState.None: + return WebSocketState.Closed; + case System.Net.WebSockets.WebSocketState.CloseReceived: + case System.Net.WebSockets.WebSocketState.CloseSent: + return WebSocketState.Closing; + case System.Net.WebSockets.WebSocketState.Connecting: + return WebSocketState.Connecting; + case System.Net.WebSockets.WebSocketState.Open: + return WebSocketState.Open; + } + return WebSocketState.Closed; + } + } + + public string BinaryType { get; set; } = "arraybuffer"; + + public event EventHandler OnOpen; + public event EventHandler OnClose; + public event EventHandler OnError; + public event EventHandler OnMessage; + + private ClientWebSocket socket; + private bool isOpening => socket != null && socket.State == System.Net.WebSockets.WebSocketState.Open; + + #region APIs + public WebSocket(string address) + { + this.Address = address; + } + + public WebSocket(string address, string subProtocol) + { + this.Address = address; + this.SubProtocols = new string[] { subProtocol }; + } + + public WebSocket(string address, string[] subProtocols) + { + this.Address = address; + this.SubProtocols = subProtocols; + } + + public void ConnectAsync() + { +#if !UNITY_WEB_SOCKET_ENABLE_ASYNC + WebSocketManager.Instance.Add(this); +#endif + if (socket != null) + { + HandleError(new Exception("Socket is busy.")); + return; + } + socket = new ClientWebSocket(); + if (this.SubProtocols != null) + { + foreach (var protocol in this.SubProtocols) + { + if (string.IsNullOrEmpty(protocol)) continue; + Log($"Add Sub Protocol {protocol}"); + socket.Options.AddSubProtocol(protocol); + } + } + Task.Run(ConnectTask); + } + + public void CloseAsync() + { + if (!isOpening) return; + SendBufferAsync(new SendBuffer(null, WebSocketMessageType.Close)); + } + + public void SendAsync(byte[] data) + { + if (!isOpening) return; + var buffer = new SendBuffer(data, WebSocketMessageType.Binary); + SendBufferAsync(buffer); + } + + public void SendAsync(string text) + { + if (!isOpening) return; + var data = Encoding.UTF8.GetBytes(text); + var buffer = new SendBuffer(data, WebSocketMessageType.Text); + SendBufferAsync(buffer); + } + #endregion + + + private async Task ConnectTask() + { + Log("Connect Task Begin ..."); + + try + { + var uri = new Uri(Address); + await socket.ConnectAsync(uri, CancellationToken.None); + } + catch (Exception e) + { + HandleError(e); + HandleClose((ushort)CloseStatusCode.Abnormal, e.Message); + SocketDispose(); + return; + } + + HandleOpen(); + + Log("Connect Task End !"); + + await ReceiveTask(); + } + + class SendBuffer + { + public byte[] data; + public WebSocketMessageType type; + public SendBuffer(byte[] data, WebSocketMessageType type) + { + this.data = data; + this.type = type; + } + } + + private object sendQueueLock = new object(); + private Queue sendQueue = new Queue(); + private bool isSendTaskRunning; + + private void SendBufferAsync(SendBuffer buffer) + { + if (isSendTaskRunning) + { + lock (sendQueueLock) + { + if (buffer.type == WebSocketMessageType.Close) + { + sendQueue.Clear(); + } + sendQueue.Enqueue(buffer); + } + } + else + { + isSendTaskRunning = true; + sendQueue.Enqueue(buffer); + Task.Run(SendTask); + } + } + + private async Task SendTask() + { + Log("Send Task Begin ..."); + + try + { + SendBuffer buffer = null; + while (sendQueue.Count > 0 && isOpening) + { + lock (sendQueueLock) + { + buffer = sendQueue.Dequeue(); + } + if (buffer.type == WebSocketMessageType.Close) + { + Log($"Close Send Begin ..."); + await socket.CloseOutputAsync(WebSocketCloseStatus.NormalClosure, "Normal Closure", CancellationToken.None); + Log($"Close Send End !"); + } + else + { + Log($"Send, type: {buffer.type}, size: {buffer.data.Length}, queue left: {sendQueue.Count}"); + await socket.SendAsync(new ArraySegment(buffer.data), buffer.type, true, CancellationToken.None); + } + } + } + catch (Exception e) + { + HandleError(e); + } + finally + { + isSendTaskRunning = false; + } + + Log("Send Task End !"); + } + + private async Task ReceiveTask() + { + Log("Receive Task Begin ..."); + + string closeReason = ""; + ushort closeCode = 0; + bool isClosed = false; + var segment = new ArraySegment(new byte[8192]); + var ms = new MemoryStream(); + + try + { + while (!isClosed) + { + var result = await socket.ReceiveAsync(segment, CancellationToken.None); + ms.Write(segment.Array, 0, result.Count); + if (!result.EndOfMessage) continue; + var data = ms.ToArray(); + ms.SetLength(0); + switch (result.MessageType) + { + case WebSocketMessageType.Binary: + HandleMessage(Opcode.Binary, data); + break; + case WebSocketMessageType.Text: + HandleMessage(Opcode.Text, data); + break; + case WebSocketMessageType.Close: + isClosed = true; + closeCode = (ushort)result.CloseStatus; + closeReason = result.CloseStatusDescription; + break; + } + } + } + catch (Exception e) + { + HandleError(e); + closeCode = (ushort)CloseStatusCode.Abnormal; + closeReason = e.Message; + } + finally + { + ms.Close(); + } + + HandleClose(closeCode, closeReason); + SocketDispose(); + + Log("Receive Task End !"); + } + + private void SocketDispose() + { + sendQueue.Clear(); + socket.Dispose(); + socket = null; + } + + private void HandleOpen() + { + Log("OnOpen"); +#if !UNITY_WEB_SOCKET_ENABLE_ASYNC + HandleEventSync(new OpenEventArgs()); +#else + OnOpen?.Invoke(this, new OpenEventArgs()); +#endif + } + + private void HandleMessage(Opcode opcode, byte[] rawData) + { + Log($"OnMessage, type: {opcode}, size: {rawData.Length}\n{BitConverter.ToString(rawData)}"); +#if !UNITY_WEB_SOCKET_ENABLE_ASYNC + HandleEventSync(new MessageEventArgs(opcode, rawData)); +#else + OnMessage?.Invoke(this, new MessageEventArgs(opcode, rawData)); +#endif + } + + private void HandleClose(ushort code, string reason) + { + Log($"OnClose, code: {code}, reason: {reason}"); +#if !UNITY_WEB_SOCKET_ENABLE_ASYNC + HandleEventSync(new CloseEventArgs(code, reason)); +#else + OnClose?.Invoke(this, new CloseEventArgs(code, reason)); +#endif + } + + private void HandleError(Exception exception) + { + Log("OnError, error: " + exception.Message); +#if !UNITY_WEB_SOCKET_ENABLE_ASYNC + HandleEventSync(new ErrorEventArgs(exception.Message)); +#else + OnError?.Invoke(this, new ErrorEventArgs(exception.Message)); +#endif + } + +#if !UNITY_WEB_SOCKET_ENABLE_ASYNC + private readonly Queue eventQueue = new Queue(); + private readonly object eventQueueLock = new object(); + private void HandleEventSync(EventArgs eventArgs) + { + lock (eventQueueLock) + { + eventQueue.Enqueue(eventArgs); + } + } + + internal void Update() + { + EventArgs e; + while (eventQueue.Count > 0) + { + lock (eventQueueLock) + { + e = eventQueue.Dequeue(); + } + + if (e is CloseEventArgs) + { + OnClose?.Invoke(this, e as CloseEventArgs); + WebSocketManager.Instance.Remove(this); + } + else if (e is OpenEventArgs) + { + OnOpen?.Invoke(this, e as OpenEventArgs); + } + else if (e is MessageEventArgs) + { + OnMessage?.Invoke(this, e as MessageEventArgs); + } + else if (e is ErrorEventArgs) + { + OnError?.Invoke(this, e as ErrorEventArgs); + } + } + } +#endif + + [System.Diagnostics.Conditional("UNITY_WEB_SOCKET_LOG")] + static void Log(string msg) + { + UnityEngine.Debug.Log($"[UnityWebSocket]" + + $"[T-{Thread.CurrentThread.ManagedThreadId:D3}]" + + $"[{DateTime.Now.TimeOfDay}]" + + $" {msg}"); + } + } +} +#endif diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocket.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocket.cs.meta new file mode 100644 index 00000000..cbb5e53a --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocket.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d10f88a23641b4beb8df74460fb7f705 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocketManager.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocketManager.cs new file mode 100644 index 00000000..ee9404c4 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocketManager.cs @@ -0,0 +1,58 @@ +#if !NET_LEGACY && (UNITY_EDITOR || !UNITY_WEBGL) && !UNITY_WEB_SOCKET_ENABLE_ASYNC +using System.Collections.Generic; +using UnityEngine; + +namespace UnityWebSocket +{ + [DefaultExecutionOrder(-10000)] + internal class WebSocketManager : MonoBehaviour + { + private const string rootName = "[UnityWebSocket]"; + private static WebSocketManager _instance; + public static WebSocketManager Instance + { + get + { + if (!_instance) CreateInstance(); + return _instance; + } + } + + private void Awake() + { + DontDestroyOnLoad(gameObject); + } + + public static void CreateInstance() + { + GameObject go = GameObject.Find("/" + rootName); + if (!go) go = new GameObject(rootName); + _instance = go.GetComponent(); + if (!_instance) _instance = go.AddComponent(); + } + + private readonly List sockets = new List(); + + public void Add(WebSocket socket) + { + if (!sockets.Contains(socket)) + sockets.Add(socket); + } + + public void Remove(WebSocket socket) + { + if (sockets.Contains(socket)) + sockets.Remove(socket); + } + + private void Update() + { + if (sockets.Count <= 0) return; + for (int i = sockets.Count - 1; i >= 0; i--) + { + sockets[i].Update(); + } + } + } +} +#endif \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocketManager.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocketManager.cs.meta new file mode 100644 index 00000000..1e26dc8c --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/NoWebGL/WebSocketManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 99157fb5def394c83a9e5342036c92b0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL.meta new file mode 100644 index 00000000..e9c4e7b5 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1fb37927ec1ce4def9c5e7cff883f9f5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocket.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocket.cs new file mode 100644 index 00000000..95d048db --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocket.cs @@ -0,0 +1,148 @@ +#if !UNITY_EDITOR && UNITY_WEBGL +using System; + +namespace UnityWebSocket +{ + public class WebSocket : IWebSocket + { + public string Address { get; private set; } + public string[] SubProtocols { get; private set; } + public WebSocketState ReadyState { get { return (WebSocketState)WebSocketManager.WebSocketGetState(instanceId); } } + public string BinaryType { get; set; } = "arraybuffer"; + + public event EventHandler OnOpen; + public event EventHandler OnClose; + public event EventHandler OnError; + public event EventHandler OnMessage; + + internal int instanceId = 0; + + public WebSocket(string address) + { + this.Address = address; + AllocateInstance(); + } + + public WebSocket(string address, string subProtocol) + { + this.Address = address; + this.SubProtocols = new string[] { subProtocol }; + AllocateInstance(); + } + + public WebSocket(string address, string[] subProtocols) + { + this.Address = address; + this.SubProtocols = subProtocols; + AllocateInstance(); + } + + internal void AllocateInstance() + { + instanceId = WebSocketManager.AllocateInstance(this.Address, this.BinaryType); + Log($"Allocate socket with instanceId: {instanceId}"); + if (this.SubProtocols == null) return; + foreach (var protocol in this.SubProtocols) + { + if (string.IsNullOrEmpty(protocol)) continue; + Log($"Add Sub Protocol {protocol}, with instanceId: {instanceId}"); + int code = WebSocketManager.WebSocketAddSubProtocol(instanceId, protocol); + if (code < 0) + { + HandleOnError(GetErrorMessageFromCode(code)); + break; + } + } + } + + ~WebSocket() + { + Log($"Free socket with instanceId: {instanceId}"); + WebSocketManager.WebSocketFree(instanceId); + } + + public void ConnectAsync() + { + Log($"Connect with instanceId: {instanceId}"); + WebSocketManager.Add(this); + int code = WebSocketManager.WebSocketConnect(instanceId); + if (code < 0) HandleOnError(GetErrorMessageFromCode(code)); + } + + public void CloseAsync() + { + Log($"Close with instanceId: {instanceId}"); + int code = WebSocketManager.WebSocketClose(instanceId, (int)CloseStatusCode.Normal, "Normal Closure"); + if (code < 0) HandleOnError(GetErrorMessageFromCode(code)); + } + + public void SendAsync(string text) + { + Log($"Send, type: {Opcode.Text}, size: {text.Length}"); + int code = WebSocketManager.WebSocketSendStr(instanceId, text); + if (code < 0) HandleOnError(GetErrorMessageFromCode(code)); + } + + public void SendAsync(byte[] data) + { + Log($"Send, type: {Opcode.Binary}, size: {data.Length}"); + int code = WebSocketManager.WebSocketSend(instanceId, data, data.Length); + if (code < 0) HandleOnError(GetErrorMessageFromCode(code)); + } + + internal void HandleOnOpen() + { + Log("OnOpen"); + OnOpen?.Invoke(this, new OpenEventArgs()); + } + + internal void HandleOnMessage(byte[] rawData) + { + Log($"OnMessage, type: {Opcode.Binary}, size: {rawData.Length}"); + OnMessage?.Invoke(this, new MessageEventArgs(Opcode.Binary, rawData)); + } + + internal void HandleOnMessageStr(string data) + { + Log($"OnMessage, type: {Opcode.Text}, size: {data.Length}"); + OnMessage?.Invoke(this, new MessageEventArgs(Opcode.Text, data)); + } + + internal void HandleOnClose(ushort code, string reason) + { + Log($"OnClose, code: {code}, reason: {reason}"); + OnClose?.Invoke(this, new CloseEventArgs(code, reason)); + WebSocketManager.Remove(instanceId); + } + + internal void HandleOnError(string msg) + { + Log("OnError, error: " + msg); + OnError?.Invoke(this, new ErrorEventArgs(msg)); + } + + internal static string GetErrorMessageFromCode(int errorCode) + { + switch (errorCode) + { + case -1: return "WebSocket instance not found."; + case -2: return "WebSocket is already connected or in connecting state."; + case -3: return "WebSocket is not connected."; + case -4: return "WebSocket is already closing."; + case -5: return "WebSocket is already closed."; + case -6: return "WebSocket is not in open state."; + case -7: return "Cannot close WebSocket. An invalid code was specified or reason is too long."; + default: return $"Unknown error code {errorCode}."; + } + } + + [System.Diagnostics.Conditional("UNITY_WEB_SOCKET_LOG")] + static void Log(string msg) + { + UnityEngine.Debug.Log($"[UnityWebSocket]" + + $"[{DateTime.Now.TimeOfDay}]" + + $" {msg}"); + } + } +} +#endif diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocket.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocket.cs.meta new file mode 100644 index 00000000..ffe47c74 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocket.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 74a5b3c22251243d2a2f33e74741559d +timeCreated: 1466578513 +licenseType: Pro +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocketManager.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocketManager.cs new file mode 100644 index 00000000..357d95e8 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocketManager.cs @@ -0,0 +1,153 @@ +#if !UNITY_EDITOR && UNITY_WEBGL +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using AOT; + +namespace UnityWebSocket +{ + /// + /// Class providing static access methods to work with JSLIB WebSocket + /// + internal static class WebSocketManager + { + /* Map of websocket instances */ + private static Dictionary sockets = new Dictionary(); + + /* Delegates */ + public delegate void OnOpenCallback(int instanceId); + public delegate void OnMessageCallback(int instanceId, IntPtr msgPtr, int msgSize); + public delegate void OnMessageStrCallback(int instanceId, IntPtr msgStrPtr); + public delegate void OnErrorCallback(int instanceId, IntPtr errorPtr); + public delegate void OnCloseCallback(int instanceId, int closeCode, IntPtr reasonPtr); + + /* WebSocket JSLIB functions */ + [DllImport("__Internal")] + public static extern int WebSocketConnect(int instanceId); + + [DllImport("__Internal")] + public static extern int WebSocketClose(int instanceId, int code, string reason); + + [DllImport("__Internal")] + public static extern int WebSocketSend(int instanceId, byte[] dataPtr, int dataLength); + + [DllImport("__Internal")] + public static extern int WebSocketSendStr(int instanceId, string data); + + [DllImport("__Internal")] + public static extern int WebSocketGetState(int instanceId); + + /* WebSocket JSLIB callback setters and other functions */ + [DllImport("__Internal")] + public static extern int WebSocketAllocate(string url, string binaryType); + + [DllImport("__Internal")] + public static extern int WebSocketAddSubProtocol(int instanceId, string protocol); + + [DllImport("__Internal")] + public static extern void WebSocketFree(int instanceId); + + [DllImport("__Internal")] + public static extern void WebSocketSetOnOpen(OnOpenCallback callback); + + [DllImport("__Internal")] + public static extern void WebSocketSetOnMessage(OnMessageCallback callback); + + [DllImport("__Internal")] + public static extern void WebSocketSetOnMessageStr(OnMessageStrCallback callback); + + [DllImport("__Internal")] + public static extern void WebSocketSetOnError(OnErrorCallback callback); + + [DllImport("__Internal")] + public static extern void WebSocketSetOnClose(OnCloseCallback callback); + + /* If callbacks was initialized and set */ + private static bool isInitialized = false; + + /* Initialize WebSocket callbacks to JSLIB */ + private static void Initialize() + { + WebSocketSetOnOpen(DelegateOnOpenEvent); + WebSocketSetOnMessage(DelegateOnMessageEvent); + WebSocketSetOnMessageStr(DelegateOnMessageStrEvent); + WebSocketSetOnError(DelegateOnErrorEvent); + WebSocketSetOnClose(DelegateOnCloseEvent); + + isInitialized = true; + } + + [MonoPInvokeCallback(typeof(OnOpenCallback))] + public static void DelegateOnOpenEvent(int instanceId) + { + if (sockets.TryGetValue(instanceId, out var socket)) + { + socket.HandleOnOpen(); + } + } + + [MonoPInvokeCallback(typeof(OnMessageCallback))] + public static void DelegateOnMessageEvent(int instanceId, IntPtr msgPtr, int msgSize) + { + if (sockets.TryGetValue(instanceId, out var socket)) + { + var bytes = new byte[msgSize]; + Marshal.Copy(msgPtr, bytes, 0, msgSize); + socket.HandleOnMessage(bytes); + } + } + + [MonoPInvokeCallback(typeof(OnMessageCallback))] + public static void DelegateOnMessageStrEvent(int instanceId, IntPtr msgStrPtr) + { + if (sockets.TryGetValue(instanceId, out var socket)) + { + string msgStr = Marshal.PtrToStringAuto(msgStrPtr); + socket.HandleOnMessageStr(msgStr); + } + } + + [MonoPInvokeCallback(typeof(OnErrorCallback))] + public static void DelegateOnErrorEvent(int instanceId, IntPtr errorPtr) + { + if (sockets.TryGetValue(instanceId, out var socket)) + { + string errorMsg = Marshal.PtrToStringAuto(errorPtr); + socket.HandleOnError(errorMsg); + } + } + + [MonoPInvokeCallback(typeof(OnCloseCallback))] + public static void DelegateOnCloseEvent(int instanceId, int closeCode, IntPtr reasonPtr) + { + if (sockets.TryGetValue(instanceId, out var socket)) + { + string reason = Marshal.PtrToStringAuto(reasonPtr); + socket.HandleOnClose((ushort)closeCode, reason); + } + } + + internal static int AllocateInstance(string address, string binaryType) + { + if (!isInitialized) Initialize(); + return WebSocketAllocate(address, binaryType); + } + + internal static void Add(WebSocket socket) + { + if (!sockets.ContainsKey(socket.instanceId)) + { + sockets.Add(socket.instanceId, socket); + } + } + + internal static void Remove(int instanceId) + { + if (sockets.ContainsKey(instanceId)) + { + sockets.Remove(instanceId); + } + } + } +} +#endif diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocketManager.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocketManager.cs.meta new file mode 100644 index 00000000..d0a16fef --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Net/Socket/Runtime/Implementation/WebGL/WebSocketManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 246cdc66a1e2047148371a8e56e17d3a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool.meta new file mode 100644 index 00000000..e40aa5db --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3c8ae854864e4cbd983fc58be762c79f +timeCreated: 1708674128 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/IReference.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/IReference.cs new file mode 100644 index 00000000..79a8b900 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/IReference.cs @@ -0,0 +1,20 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// 引用接口。 + /// + public interface IReference + { + /// + /// 清理引用。 + /// + void Clear(); + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/IReference.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/IReference.cs.meta new file mode 100644 index 00000000..5fda054e --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/IReference.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: cba846464f634fbb834dc447a0a38a9a +timeCreated: 1708674128 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/MemoryPoolExtension.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/MemoryPoolExtension.cs new file mode 100644 index 00000000..6e3f7d11 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/MemoryPoolExtension.cs @@ -0,0 +1,57 @@ +using System; + +namespace SHFrame +{ + /// + /// 内存池对象基类。 + /// + public abstract class MemoryObject : IReference + { + /// + /// 清理内存对象回收入池。 + /// + public virtual void Clear() + { + } + + /// + /// 从内存池中初始化。 + /// + public abstract void InitFromPool(); + + /// + /// 回收到内存池。 + /// + public abstract void RecycleToPool(); + } + + public static partial class ReferencePool + { + /// + /// 从内存池获取内存对象。 + /// + /// 内存对象类型。 + /// 内存对象。 + public static T Alloc() where T : MemoryObject, new() + { + T memory = Acquire(); + memory.InitFromPool(); + return memory; + } + + /// + /// 将内存对象归还内存池。 + /// + /// 内存对象。 + public static void Dealloc(MemoryObject memory) + { + if (memory == null) + { + throw new Exception("Memory is invalid."); + } + + memory.RecycleToPool(); + Release(memory); + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/MemoryPoolExtension.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/MemoryPoolExtension.cs.meta new file mode 100644 index 00000000..68e650c5 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/MemoryPoolExtension.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: bfed1dd6cf8149568d3c3d50bf75106e +timeCreated: 1709627386 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.ReferenceCollection.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.ReferenceCollection.cs new file mode 100644 index 00000000..30bf67f2 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.ReferenceCollection.cs @@ -0,0 +1,202 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Collections.Generic; + +namespace SHFrame +{ + public static partial class ReferencePool + { + private sealed class ReferenceCollection + { + private readonly Queue m_References; + private readonly Type m_ReferenceType; + private int m_UsingReferenceCount; + private int m_AcquireReferenceCount; + private int m_ReleaseReferenceCount; + private int m_AddReferenceCount; + private int m_RemoveReferenceCount; + + public ReferenceCollection(Type referenceType) + { + m_References = new Queue(); + m_ReferenceType = referenceType; + m_UsingReferenceCount = 0; + m_AcquireReferenceCount = 0; + m_ReleaseReferenceCount = 0; + m_AddReferenceCount = 0; + m_RemoveReferenceCount = 0; + } + + public Type ReferenceType + { + get + { + return m_ReferenceType; + } + } + + public int UnusedReferenceCount + { + get + { + return m_References.Count; + } + } + + public int UsingReferenceCount + { + get + { + return m_UsingReferenceCount; + } + } + + public int AcquireReferenceCount + { + get + { + return m_AcquireReferenceCount; + } + } + + public int ReleaseReferenceCount + { + get + { + return m_ReleaseReferenceCount; + } + } + + public int AddReferenceCount + { + get + { + return m_AddReferenceCount; + } + } + + public int RemoveReferenceCount + { + get + { + return m_RemoveReferenceCount; + } + } + + public T Acquire() where T : class, IReference, new() + { + if (typeof(T) != m_ReferenceType) + { + throw new GameFrameworkException("Type is invalid."); + } + + m_UsingReferenceCount++; + m_AcquireReferenceCount++; + lock (m_References) + { + if (m_References.Count > 0) + { + return (T)m_References.Dequeue(); + } + } + + m_AddReferenceCount++; + return new T(); + } + + public IReference Acquire() + { + m_UsingReferenceCount++; + m_AcquireReferenceCount++; + lock (m_References) + { + if (m_References.Count > 0) + { + return m_References.Dequeue(); + } + } + + m_AddReferenceCount++; + return (IReference)Activator.CreateInstance(m_ReferenceType); + } + + public void Release(IReference reference) + { + reference.Clear(); + lock (m_References) + { + if (m_EnableStrictCheck && m_References.Contains(reference)) + { + throw new GameFrameworkException("The reference has been released."); + } + + m_References.Enqueue(reference); + } + + m_ReleaseReferenceCount++; + m_UsingReferenceCount--; + } + + public void Add(int count) where T : class, IReference, new() + { + if (typeof(T) != m_ReferenceType) + { + throw new GameFrameworkException("Type is invalid."); + } + + lock (m_References) + { + m_AddReferenceCount += count; + while (count-- > 0) + { + m_References.Enqueue(new T()); + } + } + } + + public void Add(int count) + { + lock (m_References) + { + m_AddReferenceCount += count; + while (count-- > 0) + { + m_References.Enqueue((IReference)Activator.CreateInstance(m_ReferenceType)); + } + } + } + + public void Remove(int count) + { + lock (m_References) + { + if (count > m_References.Count) + { + count = m_References.Count; + } + + m_RemoveReferenceCount += count; + while (count-- > 0) + { + m_References.Dequeue(); + } + } + } + + public void RemoveAll() + { + lock (m_References) + { + m_RemoveReferenceCount += m_References.Count; + m_References.Clear(); + } + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.ReferenceCollection.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.ReferenceCollection.cs.meta new file mode 100644 index 00000000..0f36c373 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.ReferenceCollection.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f5c27b7f50b84106ba9ac7500e5d5c36 +timeCreated: 1708674128 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.cs new file mode 100644 index 00000000..a17817a5 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.cs @@ -0,0 +1,225 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Collections.Generic; + +namespace SHFrame +{ + /// + /// 引用池。 + /// + public static partial class ReferencePool + { + private static readonly Dictionary s_ReferenceCollections = new Dictionary(); + private static bool m_EnableStrictCheck = false; + + /// + /// 获取或设置是否开启强制检查。 + /// + public static bool EnableStrictCheck + { + get + { + return m_EnableStrictCheck; + } + set + { + m_EnableStrictCheck = value; + } + } + + /// + /// 获取引用池的数量。 + /// + public static int Count + { + get + { + return s_ReferenceCollections.Count; + } + } + + /// + /// 获取所有引用池的信息。 + /// + /// 所有引用池的信息。 + public static ReferencePoolInfo[] GetAllReferencePoolInfos() + { + int index = 0; + ReferencePoolInfo[] results = null; + + lock (s_ReferenceCollections) + { + results = new ReferencePoolInfo[s_ReferenceCollections.Count]; + foreach (KeyValuePair referenceCollection in s_ReferenceCollections) + { + results[index++] = new ReferencePoolInfo(referenceCollection.Key, referenceCollection.Value.UnusedReferenceCount, referenceCollection.Value.UsingReferenceCount, referenceCollection.Value.AcquireReferenceCount, referenceCollection.Value.ReleaseReferenceCount, referenceCollection.Value.AddReferenceCount, referenceCollection.Value.RemoveReferenceCount); + } + } + + return results; + } + + /// + /// 清除所有引用池。 + /// + public static void ClearAll() + { + lock (s_ReferenceCollections) + { + foreach (KeyValuePair referenceCollection in s_ReferenceCollections) + { + referenceCollection.Value.RemoveAll(); + } + + s_ReferenceCollections.Clear(); + } + } + + /// + /// 从引用池获取引用。 + /// + /// 引用类型。 + /// 引用。 + public static T Acquire() where T : class, IReference, new() + { + return GetReferenceCollection(typeof(T)).Acquire(); + } + + /// + /// 从引用池获取引用。 + /// + /// 引用类型。 + /// 引用。 + public static IReference Acquire(Type referenceType) + { + InternalCheckReferenceType(referenceType); + return GetReferenceCollection(referenceType).Acquire(); + } + + /// + /// 将引用归还引用池。 + /// + /// 引用。 + public static void Release(IReference reference) + { + if (reference == null) + { + throw new GameFrameworkException("Reference is invalid."); + } + + Type referenceType = reference.GetType(); + InternalCheckReferenceType(referenceType); + GetReferenceCollection(referenceType).Release(reference); + } + + /// + /// 向引用池中追加指定数量的引用。 + /// + /// 引用类型。 + /// 追加数量。 + public static void Add(int count) where T : class, IReference, new() + { + GetReferenceCollection(typeof(T)).Add(count); + } + + /// + /// 向引用池中追加指定数量的引用。 + /// + /// 引用类型。 + /// 追加数量。 + public static void Add(Type referenceType, int count) + { + InternalCheckReferenceType(referenceType); + GetReferenceCollection(referenceType).Add(count); + } + + /// + /// 从引用池中移除指定数量的引用。 + /// + /// 引用类型。 + /// 移除数量。 + public static void Remove(int count) where T : class, IReference + { + GetReferenceCollection(typeof(T)).Remove(count); + } + + /// + /// 从引用池中移除指定数量的引用。 + /// + /// 引用类型。 + /// 移除数量。 + public static void Remove(Type referenceType, int count) + { + InternalCheckReferenceType(referenceType); + GetReferenceCollection(referenceType).Remove(count); + } + + /// + /// 从引用池中移除所有的引用。 + /// + /// 引用类型。 + public static void RemoveAll() where T : class, IReference + { + GetReferenceCollection(typeof(T)).RemoveAll(); + } + + /// + /// 从引用池中移除所有的引用。 + /// + /// 引用类型。 + public static void RemoveAll(Type referenceType) + { + InternalCheckReferenceType(referenceType); + GetReferenceCollection(referenceType).RemoveAll(); + } + + private static void InternalCheckReferenceType(Type referenceType) + { + if (!m_EnableStrictCheck) + { + return; + } + + if (referenceType == null) + { + throw new GameFrameworkException("Reference type is invalid."); + } + + if (!referenceType.IsClass || referenceType.IsAbstract) + { + throw new GameFrameworkException("Reference type is not a non-abstract class type."); + } + + if (!typeof(IReference).IsAssignableFrom(referenceType)) + { + throw new GameFrameworkException(Utility.Text.Format("Reference type '{0}' is invalid.", referenceType.FullName)); + } + } + + private static ReferenceCollection GetReferenceCollection(Type referenceType) + { + if (referenceType == null) + { + throw new GameFrameworkException("ReferenceType is invalid."); + } + + ReferenceCollection referenceCollection = null; + lock (s_ReferenceCollections) + { + if (!s_ReferenceCollections.TryGetValue(referenceType, out referenceCollection)) + { + referenceCollection = new ReferenceCollection(referenceType); + s_ReferenceCollections.Add(referenceType, referenceCollection); + } + } + + return referenceCollection; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.cs.meta new file mode 100644 index 00000000..5c529eb2 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePool.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 54c8553d02fd4c649f3b76b3a37134aa +timeCreated: 1708674128 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePoolInfo.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePoolInfo.cs new file mode 100644 index 00000000..4a2d294c --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePoolInfo.cs @@ -0,0 +1,125 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Runtime.InteropServices; + +namespace SHFrame +{ + /// + /// 引用池信息。 + /// + [StructLayout(LayoutKind.Auto)] + public struct ReferencePoolInfo + { + private readonly Type m_Type; + private readonly int m_UnusedReferenceCount; + private readonly int m_UsingReferenceCount; + private readonly int m_AcquireReferenceCount; + private readonly int m_ReleaseReferenceCount; + private readonly int m_AddReferenceCount; + private readonly int m_RemoveReferenceCount; + + /// + /// 初始化引用池信息的新实例。 + /// + /// 引用池类型。 + /// 未使用引用数量。 + /// 正在使用引用数量。 + /// 获取引用数量。 + /// 归还引用数量。 + /// 增加引用数量。 + /// 移除引用数量。 + public ReferencePoolInfo(Type type, int unusedReferenceCount, int usingReferenceCount, int acquireReferenceCount, int releaseReferenceCount, int addReferenceCount, int removeReferenceCount) + { + m_Type = type; + m_UnusedReferenceCount = unusedReferenceCount; + m_UsingReferenceCount = usingReferenceCount; + m_AcquireReferenceCount = acquireReferenceCount; + m_ReleaseReferenceCount = releaseReferenceCount; + m_AddReferenceCount = addReferenceCount; + m_RemoveReferenceCount = removeReferenceCount; + } + + /// + /// 获取引用池类型。 + /// + public Type Type + { + get + { + return m_Type; + } + } + + /// + /// 获取未使用引用数量。 + /// + public int UnusedReferenceCount + { + get + { + return m_UnusedReferenceCount; + } + } + + /// + /// 获取正在使用引用数量。 + /// + public int UsingReferenceCount + { + get + { + return m_UsingReferenceCount; + } + } + + /// + /// 获取获取引用数量。 + /// + public int AcquireReferenceCount + { + get + { + return m_AcquireReferenceCount; + } + } + + /// + /// 获取归还引用数量。 + /// + public int ReleaseReferenceCount + { + get + { + return m_ReleaseReferenceCount; + } + } + + /// + /// 获取增加引用数量。 + /// + public int AddReferenceCount + { + get + { + return m_AddReferenceCount; + } + } + + /// + /// 获取移除引用数量。 + /// + public int RemoveReferenceCount + { + get + { + return m_RemoveReferenceCount; + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePoolInfo.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePoolInfo.cs.meta new file mode 100644 index 00000000..b757cd0d --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/ReferencePool/ReferencePoolInfo.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8d7f634c21e544808a2439c6a60bb180 +timeCreated: 1708674128 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/StreamingAssetsHelper.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/StreamingAssetsHelper.meta new file mode 100644 index 00000000..94e191a9 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/StreamingAssetsHelper.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8f574775e0ef37c479b5699fcacaec63 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility.meta new file mode 100644 index 00000000..19536b65 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9e189d066e92ffe4daaa48b8cf53925d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper.meta new file mode 100644 index 00000000..96b713ff --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 649ee0bd256fddf4a8ea742f065d3c48 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultJsonHelper.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultJsonHelper.cs new file mode 100644 index 00000000..3f847e77 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultJsonHelper.cs @@ -0,0 +1,42 @@ +using Newtonsoft.Json; + +namespace SHFrame +{ + /// + /// 默认 JSON 函数集辅助器。 + /// + public class DefaultJsonHelper : Utility.Json.IJsonHelper + { + /// + /// 将对象序列化为 JSON 字符串。 + /// + /// 要序列化的对象。 + /// 序列化后的 JSON 字符串。 + public string ToJson(object obj) + { + return JsonConvert.SerializeObject(obj); + } + + /// + /// 将 JSON 字符串反序列化为对象。 + /// + /// 对象类型。 + /// 要反序列化的 JSON 字符串。 + /// 反序列化后的对象。 + public T ToObject(string json) + { + return JsonConvert.DeserializeObject(json); + } + + /// + /// 将 JSON 字符串反序列化为对象。 + /// + /// 对象类型。 + /// 要反序列化的 JSON 字符串。 + /// 反序列化后的对象。 + public object ToObject(System.Type objectType, string json) + { + return JsonConvert.DeserializeObject(json); + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultJsonHelper.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultJsonHelper.cs.meta new file mode 100644 index 00000000..2853bec0 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultJsonHelper.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9ac492d5e7d14d199b2c43f48ae9c9f1 +timeCreated: 1727610271 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultLogHelper.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultLogHelper.cs new file mode 100644 index 00000000..98e4e14c --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultLogHelper.cs @@ -0,0 +1,166 @@ +using System; +using System.Diagnostics; +using System.Text; +using Debug = UnityEngine.Debug; + +namespace SHFrame +{ + /// + /// 默认游戏框架日志辅助。 + /// + public class DefaultLogHelper : GameFrameworkLog.ILogHelper + { + private enum ELogLevel + { + Info, + Debug, + Assert, + Warning, + Error, + Exception, + } + + private const ELogLevel FilterLevel = ELogLevel.Info; + private static readonly StringBuilder _stringBuilder = new StringBuilder(1024); + + /// + /// 打印游戏日志。 + /// + /// 游戏框架日志等级。 + /// 日志信息。 + /// 游戏框架异常类。 + public void Log(GameFrameworkLogLevel level, object message) + { + switch (level) + { + case GameFrameworkLogLevel.Debug: + LogImp(ELogLevel.Debug, Utility.Text.Format("{0}", message)); + break; + + case GameFrameworkLogLevel.Info: + LogImp(ELogLevel.Info, message.ToString()); + break; + + case GameFrameworkLogLevel.Warning: + LogImp(ELogLevel.Warning, message.ToString()); + break; + + case GameFrameworkLogLevel.Error: + LogImp(ELogLevel.Error, message.ToString()); + break; + + case GameFrameworkLogLevel.Fatal: + LogImp(ELogLevel.Exception, message.ToString()); + break; + + default: + throw new GameFrameworkException(message.ToString()); + } + } + + /// + /// 获取日志格式。 + /// + /// 日志级别。 + /// 日志字符。 + /// 是否使用颜色。 + /// StringBuilder。 + private static StringBuilder GetFormatString(ELogLevel eLogLevel, string logString, bool bColor) + { + _stringBuilder.Clear(); + switch (eLogLevel) + { + case ELogLevel.Debug: + _stringBuilder.AppendFormat( + bColor + ? "[Debug] ► - {0}" + : "[Debug] ► - {0}", + logString); + break; + case ELogLevel.Info: + _stringBuilder.AppendFormat( + bColor + ? "[INFO] ► - {0}" + : "[INFO] ► - {0}", + logString); + break; + case ELogLevel.Assert: + _stringBuilder.AppendFormat( + bColor + ? "[ASSERT] ► - {0}" + : "[ASSERT] ► - {0}", + logString); + break; + case ELogLevel.Warning: + _stringBuilder.AppendFormat( + bColor + ? "[WARNING] ► - {0}" + : "[WARNING] ► - {0}", + logString); + break; + case ELogLevel.Error: + _stringBuilder.AppendFormat( + bColor + ? "[ERROR] ► - {0}" + : "[ERROR] ► - {0}", + logString); + break; + case ELogLevel.Exception: + _stringBuilder.AppendFormat( + bColor + ? "[EXCEPTION] ► - {0}" + : "[EXCEPTION] ► - {0}", + logString); + break; + } + + return _stringBuilder; + } + + private static void LogImp(ELogLevel type, string logString) + { + if (type < FilterLevel) + { + return; + } + + StringBuilder infoBuilder = GetFormatString(type, logString, true); + string logStr = infoBuilder.ToString(); + + //获取C#堆栈,Warning以上级别日志才获取堆栈 + if (type == ELogLevel.Error || type == ELogLevel.Warning || type == ELogLevel.Exception) + { + StackFrame[] stackFrames = new StackTrace().GetFrames(); + // ReSharper disable once PossibleNullReferenceException + for (int i = 0; i < stackFrames.Length; i++) + { + StackFrame frame = stackFrames[i]; + // ReSharper disable once PossibleNullReferenceException + string declaringTypeName = frame.GetMethod().DeclaringType.FullName; + string methodName = stackFrames[i].GetMethod().Name; + + infoBuilder.AppendFormat("[{0}::{1}\n", declaringTypeName, methodName); + } + } + + switch (type) + { + case ELogLevel.Info: + case ELogLevel.Debug: + Debug.Log(logStr); + break; + case ELogLevel.Warning: + Debug.LogWarning(logStr); + break; + case ELogLevel.Assert: + Debug.LogAssertion(logStr); + break; + case ELogLevel.Error: + Debug.LogError(logStr); + break; + case ELogLevel.Exception: + throw new Exception(logStr); + } + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultLogHelper.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultLogHelper.cs.meta new file mode 100644 index 00000000..46ec04f4 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultLogHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0deaa19a4245df849af5c6fbe77cd760 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultTextHelper.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultTextHelper.cs new file mode 100644 index 00000000..a16ab4df --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultTextHelper.cs @@ -0,0 +1,584 @@ +using System; +using System.Text; + +namespace SHFrame +{ + /// + /// 默认字符辅助器。 + /// + public class DefaultTextHelper : Utility.Text.ITextHelper + { + private const int StringBuilderCapacity = 1024; + + [ThreadStatic] + private static StringBuilder s_CachedStringBuilder = null; + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数的类型。 + /// 字符串格式。 + /// 字符串参数。 + /// 格式化后的字符串。 + public string Format(string format, T arg) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3, arg4); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3, arg4, arg5); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串参数 13 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 字符串参数 13。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串参数 13 的类型。 + /// 字符串参数 14 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 字符串参数 13。 + /// 字符串参数 14。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串参数 13 的类型。 + /// 字符串参数 14 的类型。 + /// 字符串参数 15 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 字符串参数 13。 + /// 字符串参数 14。 + /// 字符串参数 15。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); + return s_CachedStringBuilder.ToString(); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串参数 13 的类型。 + /// 字符串参数 14 的类型。 + /// 字符串参数 15 的类型。 + /// 字符串参数 16 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 字符串参数 13。 + /// 字符串参数 14。 + /// 字符串参数 15。 + /// 字符串参数 16。 + /// 格式化后的字符串。 + public string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + CheckCachedStringBuilder(); + s_CachedStringBuilder.Length = 0; + s_CachedStringBuilder.AppendFormat(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); + return s_CachedStringBuilder.ToString(); + } + + private static void CheckCachedStringBuilder() + { + if (s_CachedStringBuilder == null) + { + s_CachedStringBuilder = new StringBuilder(StringBuilderCapacity); + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultTextHelper.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultTextHelper.cs.meta new file mode 100644 index 00000000..71bab5ba --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultTextHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 61e71bc7e2431a2448ca193e9267fb2d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultVersionHelper.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultVersionHelper.cs new file mode 100644 index 00000000..394ddcc8 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultVersionHelper.cs @@ -0,0 +1,22 @@ +using UnityEngine; + +namespace SHFrame +{ + /// + /// 默认版本号辅助器。 + /// + public class DefaultVersionHelper : Version.IVersionHelper + { + /// + /// 获取游戏版本号。 + /// + public string GameVersion => Application.version; + + /// + /// 获取内部游戏版本号。 + /// + public string InternalGameVersion => string.Empty; + // TODO 后续处理 + // public string InternalGameVersion => BuiltinQueryMgr.InternalGameVersion; + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultVersionHelper.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultVersionHelper.cs.meta new file mode 100644 index 00000000..68455986 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/DefaultVersionHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: addcad79fdfd4864b95c685c1b2dfb11 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/UnityJsonHelper.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/UnityJsonHelper.cs new file mode 100644 index 00000000..930b3536 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/UnityJsonHelper.cs @@ -0,0 +1,43 @@ +using System; +using UnityEngine; + +namespace SHFrame +{ + /// + /// 默认 JSON 函数集辅助器。 + /// + public class UnityJsonHelper : Utility.Json.IJsonHelper + { + /// + /// 将对象序列化为 JSON 字符串。 + /// + /// 要序列化的对象。 + /// 序列化后的 JSON 字符串。 + public string ToJson(object obj) + { + return JsonUtility.ToJson(obj); + } + + /// + /// 将 JSON 字符串反序列化为对象。 + /// + /// 对象类型。 + /// 要反序列化的 JSON 字符串。 + /// 反序列化后的对象。 + public T ToObject(string json) + { + return JsonUtility.FromJson(json); + } + + /// + /// 将 JSON 字符串反序列化为对象。 + /// + /// 对象类型。 + /// 要反序列化的 JSON 字符串。 + /// 反序列化后的对象。 + public object ToObject(Type objectType, string json) + { + return JsonUtility.FromJson(json, objectType); + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/UnityJsonHelper.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/UnityJsonHelper.cs.meta new file mode 100644 index 00000000..19b209e7 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/DefaultHelper/UnityJsonHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cc9b7d0b47abdc542b1e4e336483fdf3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Assembly.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Assembly.cs new file mode 100644 index 00000000..af2beeae --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Assembly.cs @@ -0,0 +1,102 @@ +using System; +using System.Collections.Generic; + +namespace SHFrame +{ + public static partial class Utility + { + /// + /// 程序集相关的实用函数。 + /// + public static class Assembly + { + private static readonly System.Reflection.Assembly[] _assemblies = null; + private static readonly Dictionary _cachedTypes = new Dictionary(StringComparer.Ordinal); + + static Assembly() + { + _assemblies = AppDomain.CurrentDomain.GetAssemblies(); + } + + /// + /// 获取已加载的程序集。 + /// + /// 已加载的程序集。 + public static System.Reflection.Assembly[] GetAssemblies() + { + return _assemblies; + } + + /// + /// 获取已加载的程序集中的所有类型。 + /// + /// 已加载的程序集中的所有类型。 + public static Type[] GetTypes() + { + List results = new List(); + foreach (System.Reflection.Assembly assembly in _assemblies) + { + results.AddRange(assembly.GetTypes()); + } + + return results.ToArray(); + } + + /// + /// 获取已加载的程序集中的所有类型。 + /// + /// 已加载的程序集中的所有类型。 + public static void GetTypes(List results) + { + if (results == null) + { + throw new GameFrameworkException("Results is invalid."); + } + + results.Clear(); + foreach (System.Reflection.Assembly assembly in _assemblies) + { + results.AddRange(assembly.GetTypes()); + } + } + + /// + /// 获取已加载的程序集中的指定类型。 + /// + /// 要获取的类型名。 + /// 已加载的程序集中的指定类型。 + public static Type GetType(string typeName) + { + if (string.IsNullOrEmpty(typeName)) + { + throw new GameFrameworkException("Type name is invalid."); + } + + Type type = null; + if (_cachedTypes.TryGetValue(typeName, out type)) + { + return type; + } + + type = Type.GetType(typeName); + if (type != null) + { + _cachedTypes.Add(typeName, type); + return type; + } + + foreach (System.Reflection.Assembly assembly in _assemblies) + { + type = Type.GetType(Text.Format("{0}, {1}", typeName, assembly.FullName)); + if (type != null) + { + _cachedTypes.Add(typeName, type); + return type; + } + } + + return null; + } + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Assembly.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Assembly.cs.meta new file mode 100644 index 00000000..3c5a5f57 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Assembly.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 490e0ee637bd78742ad0c757961df74d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Converter.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Converter.cs new file mode 100644 index 00000000..a833044f --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Converter.cs @@ -0,0 +1,835 @@ +using System; +using System.Text; + +namespace SHFrame +{ + public static partial class Utility + { + /// + /// 类型转换相关的实用函数。 + /// + public static class Converter + { + private const float InchesToCentimeters = 2.54f; // 1 inch = 2.54 cm + private const float CentimetersToInches = 1f / InchesToCentimeters; // 1 cm = 0.3937 inches + + /// + /// 获取数据在此计算机结构中存储时的字节顺序。 + /// + public static bool IsLittleEndian => BitConverter.IsLittleEndian; + + /// + /// 获取或设置屏幕每英寸点数。 + /// + public static float ScreenDpi + { + get; + set; + } + + /// + /// 将像素转换为厘米。 + /// + /// 像素。 + /// 厘米。 + public static float GetCentimetersFromPixels(float pixels) + { + if (ScreenDpi <= 0) + { + throw new GameFrameworkException("You must set screen DPI first."); + } + + return InchesToCentimeters * pixels / ScreenDpi; + } + + /// + /// 将厘米转换为像素。 + /// + /// 厘米。 + /// 像素。 + public static float GetPixelsFromCentimeters(float centimeters) + { + if (ScreenDpi <= 0) + { + throw new GameFrameworkException("You must set screen DPI first."); + } + + return CentimetersToInches * centimeters * ScreenDpi; + } + + /// + /// 将像素转换为英寸。 + /// + /// 像素。 + /// 英寸。 + public static float GetInchesFromPixels(float pixels) + { + if (ScreenDpi <= 0) + { + throw new GameFrameworkException("You must set screen DPI first."); + } + + return pixels / ScreenDpi; + } + + /// + /// 将英寸转换为像素。 + /// + /// 英寸。 + /// 像素。 + public static float GetPixelsFromInches(float inches) + { + if (ScreenDpi <= 0) + { + throw new GameFrameworkException("You must set screen DPI first."); + } + + return inches * ScreenDpi; + } + + /// + /// 以字节数组的形式获取指定的布尔值。 + /// + /// 要转换的布尔值。 + /// 用于存放结果的字节数组。 + public static byte[] GetBytes(bool value) + { + byte[] buffer = new byte[1]; + GetBytes(value, buffer, 0); + return buffer; + } + + /// + /// 以字节数组的形式获取指定的布尔值。 + /// + /// 要转换的布尔值。 + /// 用于存放结果的字节数组。 + public static void GetBytes(bool value, byte[] buffer) + { + GetBytes(value, buffer, 0); + } + + /// + /// 以字节数组的形式获取指定的布尔值。 + /// + /// 要转换的布尔值。 + /// 用于存放结果的字节数组。 + /// buffer 内的起始位置。 + public static void GetBytes(bool value, byte[] buffer, int startIndex) + { + if (buffer == null) + { + throw new GameFrameworkException("Buffer is invalid."); + } + + if (startIndex < 0 || startIndex + 1 > buffer.Length) + { + throw new GameFrameworkException("Start index is invalid."); + } + + buffer[startIndex] = value ? (byte)1 : (byte)0; + } + + /// + /// 返回由字节数组中首字节转换来的布尔值。 + /// + /// 字节数组。 + /// 如果 value 中的首字节非零,则为 true,否则为 false。 + public static bool GetBoolean(byte[] value) + { + return BitConverter.ToBoolean(value, 0); + } + + /// + /// 返回由字节数组中指定位置的一个字节转换来的布尔值。 + /// + /// 字节数组。 + /// value 内的起始位置。 + /// 如果 value 中指定位置的字节非零,则为 true,否则为 false。 + public static bool GetBoolean(byte[] value, int startIndex) + { + return BitConverter.ToBoolean(value, startIndex); + } + + /// + /// 以字节数组的形式获取指定的 Unicode 字符值。 + /// + /// 要转换的字符。 + /// 用于存放结果的字节数组。 + public static byte[] GetBytes(char value) + { + byte[] buffer = new byte[2]; + GetBytes((short)value, buffer, 0); + return buffer; + } + + /// + /// 以字节数组的形式获取指定的 Unicode 字符值。 + /// + /// 要转换的字符。 + /// 用于存放结果的字节数组。 + public static void GetBytes(char value, byte[] buffer) + { + GetBytes((short)value, buffer, 0); + } + + /// + /// 以字节数组的形式获取指定的 Unicode 字符值。 + /// + /// 要转换的字符。 + /// 用于存放结果的字节数组。 + /// buffer 内的起始位置。 + public static void GetBytes(char value, byte[] buffer, int startIndex) + { + GetBytes((short)value, buffer, startIndex); + } + + /// + /// 返回由字节数组中前两个字节转换来的 Unicode 字符。 + /// + /// 字节数组。 + /// 由两个字节构成的字符。 + public static char GetChar(byte[] value) + { + return BitConverter.ToChar(value, 0); + } + + /// + /// 返回由字节数组中指定位置的两个字节转换来的 Unicode 字符。 + /// + /// 字节数组。 + /// value 内的起始位置。 + /// 由两个字节构成的字符。 + public static char GetChar(byte[] value, int startIndex) + { + return BitConverter.ToChar(value, startIndex); + } + + /// + /// 以字节数组的形式获取指定的 16 位有符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static byte[] GetBytes(short value) + { + byte[] buffer = new byte[2]; + GetBytes(value, buffer, 0); + return buffer; + } + + /// + /// 以字节数组的形式获取指定的 16 位有符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static void GetBytes(short value, byte[] buffer) + { + GetBytes(value, buffer, 0); + } + + /// + /// 以字节数组的形式获取指定的 16 位有符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + /// buffer 内的起始位置。 + public static unsafe void GetBytes(short value, byte[] buffer, int startIndex) + { + if (buffer == null) + { + throw new GameFrameworkException("Buffer is invalid."); + } + + if (startIndex < 0 || startIndex + 2 > buffer.Length) + { + throw new GameFrameworkException("Start index is invalid."); + } + + fixed (byte* valueRef = buffer) + { + *(short*)(valueRef + startIndex) = value; + } + } + + /// + /// 返回由字节数组中前两个字节转换来的 16 位有符号整数。 + /// + /// 字节数组。 + /// 由两个字节构成的 16 位有符号整数。 + public static short GetInt16(byte[] value) + { + return BitConverter.ToInt16(value, 0); + } + + /// + /// 返回由字节数组中指定位置的两个字节转换来的 16 位有符号整数。 + /// + /// 字节数组。 + /// value 内的起始位置。 + /// 由两个字节构成的 16 位有符号整数。 + public static short GetInt16(byte[] value, int startIndex) + { + return BitConverter.ToInt16(value, startIndex); + } + + /// + /// 以字节数组的形式获取指定的 16 位无符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static byte[] GetBytes(ushort value) + { + byte[] buffer = new byte[2]; + GetBytes((short)value, buffer, 0); + return buffer; + } + + /// + /// 以字节数组的形式获取指定的 16 位无符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static void GetBytes(ushort value, byte[] buffer) + { + GetBytes((short)value, buffer, 0); + } + + /// + /// 以字节数组的形式获取指定的 16 位无符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + /// buffer 内的起始位置。 + public static void GetBytes(ushort value, byte[] buffer, int startIndex) + { + GetBytes((short)value, buffer, startIndex); + } + + /// + /// 返回由字节数组中前两个字节转换来的 16 位无符号整数。 + /// + /// 字节数组。 + /// 由两个字节构成的 16 位无符号整数。 + public static ushort GetUInt16(byte[] value) + { + return BitConverter.ToUInt16(value, 0); + } + + /// + /// 返回由字节数组中指定位置的两个字节转换来的 16 位无符号整数。 + /// + /// 字节数组。 + /// value 内的起始位置。 + /// 由两个字节构成的 16 位无符号整数。 + public static ushort GetUInt16(byte[] value, int startIndex) + { + return BitConverter.ToUInt16(value, startIndex); + } + + /// + /// 以字节数组的形式获取指定的 32 位有符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static byte[] GetBytes(int value) + { + byte[] buffer = new byte[4]; + GetBytes(value, buffer, 0); + return buffer; + } + + /// + /// 以字节数组的形式获取指定的 32 位有符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static void GetBytes(int value, byte[] buffer) + { + GetBytes(value, buffer, 0); + } + + /// + /// 以字节数组的形式获取指定的 32 位有符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + /// buffer 内的起始位置。 + public static unsafe void GetBytes(int value, byte[] buffer, int startIndex) + { + if (buffer == null) + { + throw new GameFrameworkException("Buffer is invalid."); + } + + if (startIndex < 0 || startIndex + 4 > buffer.Length) + { + throw new GameFrameworkException("Start index is invalid."); + } + + fixed (byte* valueRef = buffer) + { + *(int*)(valueRef + startIndex) = value; + } + } + + /// + /// 返回由字节数组中前四个字节转换来的 32 位有符号整数。 + /// + /// 字节数组。 + /// 由四个字节构成的 32 位有符号整数。 + public static int GetInt32(byte[] value) + { + return BitConverter.ToInt32(value, 0); + } + + /// + /// 返回由字节数组中指定位置的四个字节转换来的 32 位有符号整数。 + /// + /// 字节数组。 + /// value 内的起始位置。 + /// 由四个字节构成的 32 位有符号整数。 + public static int GetInt32(byte[] value, int startIndex) + { + return BitConverter.ToInt32(value, startIndex); + } + + /// + /// 以字节数组的形式获取指定的 32 位无符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static byte[] GetBytes(uint value) + { + byte[] buffer = new byte[4]; + GetBytes((int)value, buffer, 0); + return buffer; + } + + /// + /// 以字节数组的形式获取指定的 32 位无符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static void GetBytes(uint value, byte[] buffer) + { + GetBytes((int)value, buffer, 0); + } + + /// + /// 以字节数组的形式获取指定的 32 位无符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + /// buffer 内的起始位置。 + public static void GetBytes(uint value, byte[] buffer, int startIndex) + { + GetBytes((int)value, buffer, startIndex); + } + + /// + /// 返回由字节数组中前四个字节转换来的 32 位无符号整数。 + /// + /// 字节数组。 + /// 由四个字节构成的 32 位无符号整数。 + public static uint GetUInt32(byte[] value) + { + return BitConverter.ToUInt32(value, 0); + } + + /// + /// 返回由字节数组中指定位置的四个字节转换来的 32 位无符号整数。 + /// + /// 字节数组。 + /// value 内的起始位置。 + /// 由四个字节构成的 32 位无符号整数。 + public static uint GetUInt32(byte[] value, int startIndex) + { + return BitConverter.ToUInt32(value, startIndex); + } + + /// + /// 以字节数组的形式获取指定的 64 位有符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static byte[] GetBytes(long value) + { + byte[] buffer = new byte[8]; + GetBytes(value, buffer, 0); + return buffer; + } + + /// + /// 以字节数组的形式获取指定的 64 位有符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static void GetBytes(long value, byte[] buffer) + { + GetBytes(value, buffer, 0); + } + + /// + /// 以字节数组的形式获取指定的 64 位有符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + /// buffer 内的起始位置。 + public static unsafe void GetBytes(long value, byte[] buffer, int startIndex) + { + if (buffer == null) + { + throw new GameFrameworkException("Buffer is invalid."); + } + + if (startIndex < 0 || startIndex + 8 > buffer.Length) + { + throw new GameFrameworkException("Start index is invalid."); + } + + fixed (byte* valueRef = buffer) + { + *(long*)(valueRef + startIndex) = value; + } + } + + /// + /// 返回由字节数组中前八个字节转换来的 64 位有符号整数。 + /// + /// 字节数组。 + /// 由八个字节构成的 64 位有符号整数。 + public static long GetInt64(byte[] value) + { + return BitConverter.ToInt64(value, 0); + } + + /// + /// 返回由字节数组中指定位置的八个字节转换来的 64 位有符号整数。 + /// + /// 字节数组。 + /// value 内的起始位置。 + /// 由八个字节构成的 64 位有符号整数。 + public static long GetInt64(byte[] value, int startIndex) + { + return BitConverter.ToInt64(value, startIndex); + } + + /// + /// 以字节数组的形式获取指定的 64 位无符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static byte[] GetBytes(ulong value) + { + byte[] buffer = new byte[8]; + GetBytes((long)value, buffer, 0); + return buffer; + } + + /// + /// 以字节数组的形式获取指定的 64 位无符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static void GetBytes(ulong value, byte[] buffer) + { + GetBytes((long)value, buffer, 0); + } + + /// + /// 以字节数组的形式获取指定的 64 位无符号整数值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + /// buffer 内的起始位置。 + public static void GetBytes(ulong value, byte[] buffer, int startIndex) + { + GetBytes((long)value, buffer, startIndex); + } + + /// + /// 返回由字节数组中前八个字节转换来的 64 位无符号整数。 + /// + /// 字节数组。 + /// 由八个字节构成的 64 位无符号整数。 + public static ulong GetUInt64(byte[] value) + { + return BitConverter.ToUInt64(value, 0); + } + + /// + /// 返回由字节数组中指定位置的八个字节转换来的 64 位无符号整数。 + /// + /// 字节数组。 + /// value 内的起始位置。 + /// 由八个字节构成的 64 位无符号整数。 + public static ulong GetUInt64(byte[] value, int startIndex) + { + return BitConverter.ToUInt64(value, startIndex); + } + + /// + /// 以字节数组的形式获取指定的单精度浮点值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static unsafe byte[] GetBytes(float value) + { + byte[] buffer = new byte[4]; + GetBytes(*(int*)&value, buffer, 0); + return buffer; + } + + /// + /// 以字节数组的形式获取指定的单精度浮点值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static unsafe void GetBytes(float value, byte[] buffer) + { + GetBytes(*(int*)&value, buffer, 0); + } + + /// + /// 以字节数组的形式获取指定的单精度浮点值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + /// buffer 内的起始位置。 + public static unsafe void GetBytes(float value, byte[] buffer, int startIndex) + { + GetBytes(*(int*)&value, buffer, startIndex); + } + + /// + /// 返回由字节数组中前四个字节转换来的单精度浮点数。 + /// + /// 字节数组。 + /// 由四个字节构成的单精度浮点数。 + public static float GetSingle(byte[] value) + { + return BitConverter.ToSingle(value, 0); + } + + /// + /// 返回由字节数组中指定位置的四个字节转换来的单精度浮点数。 + /// + /// 字节数组。 + /// value 内的起始位置。 + /// 由四个字节构成的单精度浮点数。 + public static float GetSingle(byte[] value, int startIndex) + { + return BitConverter.ToSingle(value, startIndex); + } + + /// + /// 以字节数组的形式获取指定的双精度浮点值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static unsafe byte[] GetBytes(double value) + { + byte[] buffer = new byte[8]; + GetBytes(*(long*)&value, buffer, 0); + return buffer; + } + + /// + /// 以字节数组的形式获取指定的双精度浮点值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + public static unsafe void GetBytes(double value, byte[] buffer) + { + GetBytes(*(long*)&value, buffer, 0); + } + + /// + /// 以字节数组的形式获取指定的双精度浮点值。 + /// + /// 要转换的数字。 + /// 用于存放结果的字节数组。 + /// buffer 内的起始位置。 + public static unsafe void GetBytes(double value, byte[] buffer, int startIndex) + { + GetBytes(*(long*)&value, buffer, startIndex); + } + + /// + /// 返回由字节数组中前八个字节转换来的双精度浮点数。 + /// + /// 字节数组。 + /// 由八个字节构成的双精度浮点数。 + public static double GetDouble(byte[] value) + { + return BitConverter.ToDouble(value, 0); + } + + /// + /// 返回由字节数组中指定位置的八个字节转换来的双精度浮点数。 + /// + /// 字节数组。 + /// value 内的起始位置。 + /// 由八个字节构成的双精度浮点数。 + public static double GetDouble(byte[] value, int startIndex) + { + return BitConverter.ToDouble(value, startIndex); + } + + /// + /// 以字节数组的形式获取 UTF-8 编码的字符串。 + /// + /// 要转换的字符串。 + /// 用于存放结果的字节数组。 + public static byte[] GetBytes(string value) + { + return GetBytes(value, Encoding.UTF8); + } + + /// + /// 以字节数组的形式获取 UTF-8 编码的字符串。 + /// + /// 要转换的字符串。 + /// 用于存放结果的字节数组。 + /// buffer 内实际填充了多少字节。 + public static int GetBytes(string value, byte[] buffer) + { + return GetBytes(value, Encoding.UTF8, buffer, 0); + } + + /// + /// 以字节数组的形式获取 UTF-8 编码的字符串。 + /// + /// 要转换的字符串。 + /// 用于存放结果的字节数组。 + /// buffer 内的起始位置。 + /// buffer 内实际填充了多少字节。 + public static int GetBytes(string value, byte[] buffer, int startIndex) + { + return GetBytes(value, Encoding.UTF8, buffer, startIndex); + } + + /// + /// 以字节数组的形式获取指定编码的字符串。 + /// + /// 要转换的字符串。 + /// 要使用的编码。 + /// 用于存放结果的字节数组。 + public static byte[] GetBytes(string value, Encoding encoding) + { + if (value == null) + { + throw new GameFrameworkException("Value is invalid."); + } + + if (encoding == null) + { + throw new GameFrameworkException("Encoding is invalid."); + } + + return encoding.GetBytes(value); + } + + /// + /// 以字节数组的形式获取指定编码的字符串。 + /// + /// 要转换的字符串。 + /// 要使用的编码。 + /// 用于存放结果的字节数组。 + /// buffer 内实际填充了多少字节。 + public static int GetBytes(string value, Encoding encoding, byte[] buffer) + { + return GetBytes(value, encoding, buffer, 0); + } + + /// + /// 以字节数组的形式获取指定编码的字符串。 + /// + /// 要转换的字符串。 + /// 要使用的编码。 + /// 用于存放结果的字节数组。 + /// buffer 内的起始位置。 + /// buffer 内实际填充了多少字节。 + public static int GetBytes(string value, Encoding encoding, byte[] buffer, int startIndex) + { + if (value == null) + { + throw new GameFrameworkException("Value is invalid."); + } + + if (encoding == null) + { + throw new GameFrameworkException("Encoding is invalid."); + } + + return encoding.GetBytes(value, 0, value.Length, buffer, startIndex); + } + + /// + /// 返回由字节数组使用 UTF-8 编码转换成的字符串。 + /// + /// 字节数组。 + /// 转换后的字符串。 + public static string GetString(byte[] value) + { + return GetString(value, Encoding.UTF8); + } + + /// + /// 返回由字节数组使用指定编码转换成的字符串。 + /// + /// 字节数组。 + /// 要使用的编码。 + /// 转换后的字符串。 + public static string GetString(byte[] value, Encoding encoding) + { + if (value == null) + { + throw new GameFrameworkException("Value is invalid."); + } + + if (encoding == null) + { + throw new GameFrameworkException("Encoding is invalid."); + } + + return encoding.GetString(value); + } + + /// + /// 返回由字节数组使用 UTF-8 编码转换成的字符串。 + /// + /// 字节数组。 + /// value 内的起始位置。 + /// 长度。 + /// 转换后的字符串。 + public static string GetString(byte[] value, int startIndex, int length) + { + return GetString(value, startIndex, length, Encoding.UTF8); + } + + /// + /// 返回由字节数组使用指定编码转换成的字符串。 + /// + /// 字节数组。 + /// value 内的起始位置。 + /// 长度。 + /// 要使用的编码。 + /// 转换后的字符串。 + public static string GetString(byte[] value, int startIndex, int length, Encoding encoding) + { + if (value == null) + { + throw new GameFrameworkException("Value is invalid."); + } + + if (encoding == null) + { + throw new GameFrameworkException("Encoding is invalid."); + } + + return encoding.GetString(value, startIndex, length); + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Converter.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Converter.cs.meta new file mode 100644 index 00000000..dbbbce15 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Converter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8f714d0987f6c0047bb650fb52d32c33 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Encryption.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Encryption.cs new file mode 100644 index 00000000..e75167d2 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Encryption.cs @@ -0,0 +1,127 @@ +using System; + +namespace SHFrame +{ + public static partial class Utility + { + /// + /// 加密解密相关的实用函数。 + /// + public static class Encryption + { + internal const int QuickEncryptLength = 220; + + /// + /// 将 bytes 使用 code 做异或运算的快速版本。 + /// + /// 原始二进制流。 + /// 异或二进制流。 + /// 异或后的二进制流。 + public static byte[] GetQuickXorBytes(byte[] bytes, byte[] code) + { + return GetXorBytes(bytes, 0, QuickEncryptLength, code); + } + + /// + /// 将 bytes 使用 code 做异或运算的快速版本。此方法将复用并改写传入的 bytes 作为返回值,而不额外分配内存空间。 + /// + /// 原始及异或后的二进制流。 + /// 异或二进制流。 + public static void GetQuickSelfXorBytes(byte[] bytes, byte[] code) + { + GetSelfXorBytes(bytes, 0, QuickEncryptLength, code); + } + + /// + /// 将 bytes 使用 code 做异或运算。 + /// + /// 原始二进制流。 + /// 异或二进制流。 + /// 异或后的二进制流。 + public static byte[] GetXorBytes(byte[] bytes, byte[] code) + { + if (bytes == null) + { + return null; + } + + return GetXorBytes(bytes, 0, bytes.Length, code); + } + + /// + /// 将 bytes 使用 code 做异或运算。此方法将复用并改写传入的 bytes 作为返回值,而不额外分配内存空间。 + /// + /// 原始及异或后的二进制流。 + /// 异或二进制流。 + public static void GetSelfXorBytes(byte[] bytes, byte[] code) + { + if (bytes == null) + { + return; + } + + GetSelfXorBytes(bytes, 0, bytes.Length, code); + } + + /// + /// 将 bytes 使用 code 做异或运算。 + /// + /// 原始二进制流。 + /// 异或计算的开始位置。 + /// 异或计算长度,若小于 0,则计算整个二进制流。 + /// 异或二进制流。 + /// 异或后的二进制流。 + public static byte[] GetXorBytes(byte[] bytes, int startIndex, int length, byte[] code) + { + if (bytes == null) + { + return null; + } + + int bytesLength = bytes.Length; + byte[] results = new byte[bytesLength]; + Array.Copy(bytes, 0, results, 0, bytesLength); + GetSelfXorBytes(results, startIndex, length, code); + return results; + } + + /// + /// 将 bytes 使用 code 做异或运算。此方法将复用并改写传入的 bytes 作为返回值,而不额外分配内存空间。 + /// + /// 原始及异或后的二进制流。 + /// 异或计算的开始位置。 + /// 异或计算长度。 + /// 异或二进制流。 + public static void GetSelfXorBytes(byte[] bytes, int startIndex, int length, byte[] code) + { + if (bytes == null) + { + return; + } + + if (code == null) + { + throw new GameFrameworkException("Code is invalid."); + } + + int codeLength = code.Length; + if (codeLength <= 0) + { + throw new GameFrameworkException("Code length is invalid."); + } + + if (startIndex < 0 || length < 0 || startIndex + length > bytes.Length) + { + throw new GameFrameworkException("Start index or length is invalid."); + } + + int codeIndex = startIndex % codeLength; + for (int i = startIndex; i < length; i++) + { + bytes[i] ^= code[codeIndex++]; + codeIndex %= codeLength; + } + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Encryption.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Encryption.cs.meta new file mode 100644 index 00000000..3ac18ae7 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Encryption.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f1af4e7fba2a8f542acebf72bb41dce3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.File.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.File.cs new file mode 100644 index 00000000..112ce327 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.File.cs @@ -0,0 +1,234 @@ +using System; +using System.IO; +using System.Text; +using UnityEngine; +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace SHFrame +{ + /// + /// Unity平台路径类型。 + /// + public enum UnityPlatformPathType : int + { + dataPath = 0, + streamingAssetsPath, + persistentDataPath, + temporaryCachePath, + } + + public static partial class Utility + { + /// + /// 文件相关的实用函数。 + /// + public static class File + { + public static bool CreateFile(string filePath, bool isCreateDir = true) + { + if (!System.IO.File.Exists(filePath)) + { + string dir = System.IO.Path.GetDirectoryName(filePath); + if (!Directory.Exists(dir)) + { + if (isCreateDir) + { + Directory.CreateDirectory(dir); + } + else + { + Log.Error("文件夹不存在 Path=" + dir); + return false; + } + } + + System.IO.File.Create(filePath); + } + + return true; + } + + public static bool CreateFile(string filePath, string info, bool isCreateDir = true) + { + StreamWriter sw; + FileInfo t = new FileInfo(filePath); + if (!t.Exists) + { + string dir = System.IO.Path.GetDirectoryName(filePath); + if (!Directory.Exists(dir)) + { + if (isCreateDir) + { + Directory.CreateDirectory(dir); + } + else + { +#if UNITY_EDITOR + EditorUtility.DisplayDialog("Tips", "文件夹不存在", "CANCEL"); +#endif + Log.Error("文件夹不存在 Path=" + dir); + return false; + } + } + + sw = t.CreateText(); + } + else + { + sw = t.AppendText(); + } + + sw.WriteLine(info); + sw.Close(); + sw.Dispose(); + return true; + } + + public static string GetPersistentDataPlatformPath(string filePath) + { + filePath = +#if UNITY_ANDROID && !UNITY_EDITOR + Application.dataPath + "!assets" + "/" + filePath; +#else + Application.streamingAssetsPath + "/" + filePath; +#endif + return filePath; + } + + public static string GetPath(string path) + { + return path.Replace("\\", "/"); + } + + public static string Md5ByPathName(string pathName) + { + try + { + FileStream file = new FileStream(pathName, FileMode.Open); + System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider(); + byte[] retVal = md5.ComputeHash(file); + file.Close(); + + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < retVal.Length; i++) + { + sb.Append(retVal[i].ToString("x2")); + } + + return sb.ToString(); + } + catch (Exception ex) + { + Log.Error("to md5 fail,error:" + ex.Message); + return "Error"; + } + } + + public static string GetLengthString(long length) + { + if (length < 1024) + { + return $"{length.ToString()} Bytes"; + } + + if (length < 1024 * 1024) + { + return $"{(length / 1024f):F2} KB"; + } + + return length < 1024 * 1024 * 1024 ? $"{(length / 1024f / 1024f):F2} MB" : $"{(length / 1024f / 1024f / 1024f):F2} GB"; + } + + public static string GetByteLengthString(long byteLength) + { + if (byteLength < 1024L) // 2 ^ 10 + { + return Utility.Text.Format("{0} Bytes", byteLength.ToString()); + } + + if (byteLength < 1048576L) // 2 ^ 20 + { + return Utility.Text.Format("{0} KB", (byteLength / 1024f).ToString("F2")); + } + + if (byteLength < 1073741824L) // 2 ^ 30 + { + return Utility.Text.Format("{0} MB", (byteLength / 1048576f).ToString("F2")); + } + + if (byteLength < 1099511627776L) // 2 ^ 40 + { + return Utility.Text.Format("{0} GB", (byteLength / 1073741824f).ToString("F2")); + } + + if (byteLength < 1125899906842624L) // 2 ^ 50 + { + return Utility.Text.Format("{0} TB", (byteLength / 1099511627776f).ToString("F2")); + } + + if (byteLength < 1152921504606846976L) // 2 ^ 60 + { + return Utility.Text.Format("{0} PB", (byteLength / 1125899906842624f).ToString("F2")); + } + + return Utility.Text.Format("{0} EB", (byteLength / 1152921504606846976f).ToString("F2")); + } + + public static string BinToUtf8(byte[] total) + { + byte[] result = total; + if (total[0] == 0xef && total[1] == 0xbb && total[2] == 0xbf) + { + // utf8文件的前三个字节为特殊占位符,要跳过 + result = new byte[total.Length - 3]; + System.Array.Copy(total, 3, result, 0, total.Length - 3); + } + + string utf8string = System.Text.Encoding.UTF8.GetString(result); + return utf8string; + } + + /// + /// 数据格式转换 + /// + /// 数据 + /// + public static string FormatData(long data) + { + string result = ""; + if (data < 0) + data = 0; + + if (data > 1024 * 1024) + { + result = ((int)(data / (1024 * 1024))).ToString() + "MB"; + } + else if (data > 1024) + { + result = ((int)(data / 1024)).ToString() + "KB"; + } + else + { + result = data + "B"; + } + + return result; + } + + /// + /// 获取文件大小 + /// + /// 文件路径 + /// + public static long GetFileSize(string path) + { + using (FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + { + return file.Length; + } + } + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.File.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.File.cs.meta new file mode 100644 index 00000000..9351fc30 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.File.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8889bac27c0d1524695104d4bd46185a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Http.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Http.cs new file mode 100644 index 00000000..bf03583b --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Http.cs @@ -0,0 +1,114 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using Cysharp.Threading.Tasks; +using UnityEngine; +using UnityEngine.Networking; + +namespace SHFrame +{ + public static partial class Utility + { + /// + /// Http 相关的实用函数。 + /// + public static partial class Http + { + /// + /// GET请求与获取结果。 + /// + /// 网络URL。 + /// 超时时间。 + /// 请求结果。 + public static async UniTask Get(string url, float timeout = 5f) + { + var cts = new CancellationTokenSource(); + cts.CancelAfterSlim(TimeSpan.FromSeconds(timeout)); + + using UnityWebRequest unityWebRequest = UnityWebRequest.Get(url); + return await SendWebRequest(unityWebRequest, cts); + } + + /// + /// Post请求与获取结果. + /// + /// 网络URL。 + /// Post数据。 + /// 超时时间。 + /// 请求结果。 + public static async UniTask Post(string url, string postData, float timeout = 5f) + { + var cts = new CancellationTokenSource(); + cts.CancelAfterSlim(TimeSpan.FromSeconds(timeout)); + + using UnityWebRequest unityWebRequest = UnityWebRequest.PostWwwForm(url, postData); + return await SendWebRequest(unityWebRequest, cts); + } + + /// + /// Post请求与获取结果. + /// + /// 网络URL。 + /// Post数据。 + /// 超时时间。 + /// 请求结果。 + public static async UniTask Post(string url, Dictionary formFields, float timeout = 5f) + { + var cts = new CancellationTokenSource(); + cts.CancelAfterSlim(TimeSpan.FromSeconds(timeout)); + + using UnityWebRequest unityWebRequest = UnityWebRequest.Post(url, formFields); + return await SendWebRequest(unityWebRequest, cts); + } + + /// + /// Post请求与获取结果. + /// + /// 网络URL。 + /// Post数据。 + /// 超时时间。 + /// 请求结果。 + public static async UniTask Post(string url, WWWForm formData, float timeout = 5f) + { + var cts = new CancellationTokenSource(); + cts.CancelAfterSlim(TimeSpan.FromSeconds(timeout)); + + using UnityWebRequest unityWebRequest = UnityWebRequest.Post(url, formData); + return await SendWebRequest(unityWebRequest, cts); + } + + /// + /// 抛出网络请求。 + /// + /// UnityWebRequest。 + /// CancellationTokenSource。 + /// 请求结果。 + public static async UniTask SendWebRequest(UnityWebRequest unityWebRequest, CancellationTokenSource cts) + { + try + { + var (isCanceled, _) = await unityWebRequest.SendWebRequest().WithCancellation(cts.Token).SuppressCancellationThrow(); + if (isCanceled) + { + Log.Warning($"HttpPost {unityWebRequest.url} be canceled!"); + unityWebRequest.Dispose(); + return string.Empty; + } + } + catch (OperationCanceledException ex) + { + if (ex.CancellationToken == cts.Token) + { + Log.Warning("HttpPost Timeout"); + unityWebRequest.Dispose(); + return string.Empty; + } + } + + string ret = unityWebRequest.downloadHandler.text; + unityWebRequest.Dispose(); + return ret; + } + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Http.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Http.cs.meta new file mode 100644 index 00000000..b4e53890 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Http.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f22150217680dbb49a6ab14e63452874 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.IJsonHelper.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.IJsonHelper.cs new file mode 100644 index 00000000..3b1bedfd --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.IJsonHelper.cs @@ -0,0 +1,39 @@ +using System; + +namespace SHFrame +{ + public static partial class Utility + { + public static partial class Json + { + /// + /// JSON 辅助器接口。 + /// + public interface IJsonHelper + { + /// + /// 将对象序列化为 JSON 字符串。 + /// + /// 要序列化的对象。 + /// 序列化后的 JSON 字符串。 + string ToJson(object obj); + + /// + /// 将 JSON 字符串反序列化为对象。 + /// + /// 对象类型。 + /// 要反序列化的 JSON 字符串。 + /// 反序列化后的对象。 + T ToObject(string json); + + /// + /// 将 JSON 字符串反序列化为对象。 + /// + /// 对象类型。 + /// 要反序列化的 JSON 字符串。 + /// 反序列化后的对象。 + object ToObject(Type objectType, string json); + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.IJsonHelper.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.IJsonHelper.cs.meta new file mode 100644 index 00000000..6f71f9b6 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.IJsonHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5ac724b7424373a4eafcb024f566a1d6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.cs new file mode 100644 index 00000000..be6fb025 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.cs @@ -0,0 +1,112 @@ +using System; + +namespace SHFrame +{ + public static partial class Utility + { + /// + /// JSON 相关的实用函数。 + /// + public static partial class Json + { + private static IJsonHelper _jsonHelper = new DefaultJsonHelper(); + + /// + /// 设置 JSON 辅助器。 + /// + /// 要设置的 JSON 辅助器。 + public static void SetJsonHelper(IJsonHelper jsonHelper) + { + _jsonHelper = jsonHelper; + } + + /// + /// 将对象序列化为 JSON 字符串。 + /// + /// 要序列化的对象。 + /// 序列化后的 JSON 字符串。 + public static string ToJson(object obj) + { + if (_jsonHelper == null) + { + throw new GameFrameworkException("JSON helper is invalid."); + } + + try + { + return _jsonHelper.ToJson(obj); + } + catch (Exception exception) + { + if (exception is GameFrameworkException) + { + throw; + } + + throw new GameFrameworkException(Text.Format("Can not convert to JSON with exception '{0}'.", exception), exception); + } + } + + /// + /// 将 JSON 字符串反序列化为对象。 + /// + /// 对象类型。 + /// 要反序列化的 JSON 字符串。 + /// 反序列化后的对象。 + public static T ToObject(string json) + { + if (_jsonHelper == null) + { + throw new GameFrameworkException("JSON helper is invalid."); + } + + try + { + return _jsonHelper.ToObject(json); + } + catch (Exception exception) + { + if (exception is GameFrameworkException) + { + throw; + } + + throw new GameFrameworkException(Text.Format("Can not convert to object with exception '{0}'.", exception), exception); + } + } + + /// + /// 将 JSON 字符串反序列化为对象。 + /// + /// 对象类型。 + /// 要反序列化的 JSON 字符串。 + /// 反序列化后的对象。 + public static object ToObject(Type objectType, string json) + { + if (_jsonHelper == null) + { + throw new GameFrameworkException("JSON helper is invalid."); + } + + if (objectType == null) + { + throw new GameFrameworkException("Object type is invalid."); + } + + try + { + return _jsonHelper.ToObject(objectType, json); + } + catch (Exception exception) + { + if (exception is GameFrameworkException) + { + throw; + } + + throw new GameFrameworkException(Text.Format("Can not convert to object with exception '{0}'.", exception), exception); + } + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.cs.meta new file mode 100644 index 00000000..c94da148 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Json.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 40e4e07b0de6ad448b9cf1ffe3bdb8f2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Marshal.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Marshal.cs new file mode 100644 index 00000000..788a44d0 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Marshal.cs @@ -0,0 +1,228 @@ +using System; + +namespace SHFrame +{ + public static partial class Utility + { + /// + /// Marshal 相关的实用函数。 + /// + /// 非托管内存相关的实用函数。 + public static class Marshal + { + private const int BlockSize = 1024 * 4; + private static IntPtr _cachedHGlobalPtr = IntPtr.Zero; + private static int _cachedHGlobalSize = 0; + + /// + /// 获取缓存的从进程的非托管内存中分配的内存的大小。 + /// + public static int CachedHGlobalSize => _cachedHGlobalSize; + + /// + /// 确保从进程的非托管内存中分配足够大小的内存并缓存。 + /// + /// 要确保从进程的非托管内存中分配内存的大小。 + public static void EnsureCachedHGlobalSize(int ensureSize) + { + if (ensureSize < 0) + { + throw new GameFrameworkException("Ensure size is invalid."); + } + + if (_cachedHGlobalPtr == IntPtr.Zero || _cachedHGlobalSize < ensureSize) + { + FreeCachedHGlobal(); + int size = (ensureSize - 1 + BlockSize) / BlockSize * BlockSize; + _cachedHGlobalPtr = System.Runtime.InteropServices.Marshal.AllocHGlobal(size); + _cachedHGlobalSize = size; + } + } + + /// + /// 释放缓存的从进程的非托管内存中分配的内存。 + /// + public static void FreeCachedHGlobal() + { + if (_cachedHGlobalPtr != IntPtr.Zero) + { + System.Runtime.InteropServices.Marshal.FreeHGlobal(_cachedHGlobalPtr); + _cachedHGlobalPtr = IntPtr.Zero; + _cachedHGlobalSize = 0; + } + } + + /// + /// 将数据从对象转换为二进制流。 + /// + /// 要转换的对象的类型。 + /// 要转换的对象。 + /// 存储转换结果的二进制流。 + public static byte[] StructureToBytes(T structure) + { + return StructureToBytes(structure, System.Runtime.InteropServices.Marshal.SizeOf(typeof(T))); + } + + /// + /// 将数据从对象转换为二进制流。 + /// + /// 要转换的对象的类型。 + /// 要转换的对象。 + /// 要转换的对象的大小。 + /// 存储转换结果的二进制流。 + internal static byte[] StructureToBytes(T structure, int structureSize) + { + if (structureSize < 0) + { + throw new GameFrameworkException("Structure size is invalid."); + } + + EnsureCachedHGlobalSize(structureSize); + System.Runtime.InteropServices.Marshal.StructureToPtr(structure, _cachedHGlobalPtr, true); + byte[] result = new byte[structureSize]; + System.Runtime.InteropServices.Marshal.Copy(_cachedHGlobalPtr, result, 0, structureSize); + return result; + } + + /// + /// 将数据从对象转换为二进制流。 + /// + /// 要转换的对象的类型。 + /// 要转换的对象。 + /// 存储转换结果的二进制流。 + public static void StructureToBytes(T structure, byte[] result) + { + StructureToBytes(structure, System.Runtime.InteropServices.Marshal.SizeOf(typeof(T)), result, 0); + } + + /// + /// 将数据从对象转换为二进制流。 + /// + /// 要转换的对象的类型。 + /// 要转换的对象。 + /// 要转换的对象的大小。 + /// 存储转换结果的二进制流。 + internal static void StructureToBytes(T structure, int structureSize, byte[] result) + { + StructureToBytes(structure, structureSize, result, 0); + } + + /// + /// 将数据从对象转换为二进制流。 + /// + /// 要转换的对象的类型。 + /// 要转换的对象。 + /// 存储转换结果的二进制流。 + /// 写入存储转换结果的二进制流的起始位置。 + public static void StructureToBytes(T structure, byte[] result, int startIndex) + { + StructureToBytes(structure, System.Runtime.InteropServices.Marshal.SizeOf(typeof(T)), result, startIndex); + } + + /// + /// 将数据从对象转换为二进制流。 + /// + /// 要转换的对象的类型。 + /// 要转换的对象。 + /// 要转换的对象的大小。 + /// 存储转换结果的二进制流。 + /// 写入存储转换结果的二进制流的起始位置。 + internal static void StructureToBytes(T structure, int structureSize, byte[] result, int startIndex) + { + if (structureSize < 0) + { + throw new GameFrameworkException("Structure size is invalid."); + } + + if (result == null) + { + throw new GameFrameworkException("Result is invalid."); + } + + if (startIndex < 0) + { + throw new GameFrameworkException("Start index is invalid."); + } + + if (startIndex + structureSize > result.Length) + { + throw new GameFrameworkException("Result length is not enough."); + } + + EnsureCachedHGlobalSize(structureSize); + System.Runtime.InteropServices.Marshal.StructureToPtr(structure, _cachedHGlobalPtr, true); + System.Runtime.InteropServices.Marshal.Copy(_cachedHGlobalPtr, result, startIndex, structureSize); + } + + /// + /// 将数据从二进制流转换为对象。 + /// + /// 要转换的对象的类型。 + /// 要转换的二进制流。 + /// 存储转换结果的对象。 + public static T BytesToStructure(byte[] buffer) + { + return BytesToStructure(System.Runtime.InteropServices.Marshal.SizeOf(typeof(T)), buffer, 0); + } + + /// + /// 将数据从二进制流转换为对象。 + /// + /// 要转换的对象的类型。 + /// 要转换的二进制流。 + /// 读取要转换的二进制流的起始位置。 + /// 存储转换结果的对象。 + public static T BytesToStructure(byte[] buffer, int startIndex) + { + return BytesToStructure(System.Runtime.InteropServices.Marshal.SizeOf(typeof(T)), buffer, startIndex); + } + + /// + /// 将数据从二进制流转换为对象。 + /// + /// 要转换的对象的类型。 + /// 要转换的对象的大小。 + /// 要转换的二进制流。 + /// 存储转换结果的对象。 + internal static T BytesToStructure(int structureSize, byte[] buffer) + { + return BytesToStructure(structureSize, buffer, 0); + } + + /// + /// 将数据从二进制流转换为对象。 + /// + /// 要转换的对象的类型。 + /// 要转换的对象的大小。 + /// 要转换的二进制流。 + /// 读取要转换的二进制流的起始位置。 + /// 存储转换结果的对象。 + internal static T BytesToStructure(int structureSize, byte[] buffer, int startIndex) + { + if (structureSize < 0) + { + throw new GameFrameworkException("Structure size is invalid."); + } + + if (buffer == null) + { + throw new GameFrameworkException("Buffer is invalid."); + } + + if (startIndex < 0) + { + throw new GameFrameworkException("Start index is invalid."); + } + + if (startIndex + structureSize > buffer.Length) + { + throw new GameFrameworkException("Buffer length is not enough."); + } + + EnsureCachedHGlobalSize(structureSize); + System.Runtime.InteropServices.Marshal.Copy(buffer, startIndex, _cachedHGlobalPtr, structureSize); + return (T)System.Runtime.InteropServices.Marshal.PtrToStructure(_cachedHGlobalPtr, typeof(T)); + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Marshal.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Marshal.cs.meta new file mode 100644 index 00000000..ce5e1473 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Marshal.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b44e9288bcc702746a6e097afcaa2800 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Path.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Path.cs new file mode 100644 index 00000000..6427698c --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Path.cs @@ -0,0 +1,93 @@ +using System.IO; + +namespace SHFrame +{ + public static partial class Utility + { + /// + /// 路径相关的实用函数。 + /// + public static class Path + { + /// + /// 获取规范的路径。 + /// + /// 要规范的路径。 + /// 规范的路径。 + public static string GetRegularPath(string path) + { + if (path == null) + { + return null; + } + + return path.Replace('\\', '/'); + } + + /// + /// 获取远程格式的路径(带有file:// 或 http:// 前缀)。 + /// + /// 原始路径。 + /// 远程格式路径。 + public static string GetRemotePath(string path) + { + string regularPath = GetRegularPath(path); + if (regularPath == null) + { + return null; + } + + return regularPath.Contains("://") ? regularPath : ("file:///" + regularPath).Replace("file:////", "file:///"); + } + + /// + /// 移除空文件夹。 + /// + /// 要处理的文件夹名称。 + /// 是否移除空文件夹成功。 + public static bool RemoveEmptyDirectory(string directoryName) + { + if (string.IsNullOrEmpty(directoryName)) + { + throw new GameFrameworkException("Directory name is invalid."); + } + + try + { + if (!Directory.Exists(directoryName)) + { + return false; + } + + // 不使用 SearchOption.AllDirectories,以便于在可能产生异常的环境下删除尽可能多的目录 + string[] subDirectoryNames = Directory.GetDirectories(directoryName, "*"); + int subDirectoryCount = subDirectoryNames.Length; + foreach (string subDirectoryName in subDirectoryNames) + { + if (RemoveEmptyDirectory(subDirectoryName)) + { + subDirectoryCount--; + } + } + + if (subDirectoryCount > 0) + { + return false; + } + + if (Directory.GetFiles(directoryName, "*").Length > 0) + { + return false; + } + + Directory.Delete(directoryName); + return true; + } + catch + { + return false; + } + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Path.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Path.cs.meta new file mode 100644 index 00000000..3941902a --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Path.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c2b23e951d5957b4c80a852e7b3ac904 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Reflection.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Reflection.cs new file mode 100644 index 00000000..bfa64fad --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Reflection.cs @@ -0,0 +1,358 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; + +namespace SHFrame +{ + public static partial class Utility + { + /// + /// 反射相关的实用函数。 + /// + public static class Reflection + { + /// + /// 执行方法。 + /// + /// 目标对象。 + /// 方法名。 + /// 方法参数。 + /// 返回值。 + public static object InvokeMethod(object obj, string methodName, object[] parameters = null) + { + if (obj == null) + throw new NullReferenceException($"Obj is invalid !"); + if (string.IsNullOrEmpty(methodName)) + { + throw new ArgumentNullException($"MethodName is invalid !"); + } + + Type type = obj.GetType(); + if (type == null) + { + throw new ArgumentNullException($"Type is invalid !"); + } + + if (type.BaseType == null) + { + throw new ArgumentNullException($"BaseType is invalid !"); + } + + var method = type.BaseType.GetMethod(methodName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); + if (method == null) + { + throw new NullReferenceException($"Type : {type} can not find method : {methodName} !"); + } + + return method.Invoke(obj, parameters); + } + + /// + /// 执行方法. + /// + /// 方法所在的type。 + /// 目标对象。 + /// 方法名。 + /// 方法参数。 + /// 返回值。 + public static object InvokeMethod(Type type, object obj, string methodName, object[] parameters = null) + { + if (type == null) + { + throw new ArgumentNullException($"Type is invalid !"); + } + + if (obj == null) + { + throw new NullReferenceException($"Obj is invalid !"); + } + + if (string.IsNullOrEmpty(methodName)) + { + throw new ArgumentNullException($"MethodName is invalid !"); + } + + var method = type.GetMethod(methodName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); + if (method == null) + { + throw new NullReferenceException($"Type : {type} can not find method : {methodName} !"); + } + + return method.Invoke(obj, parameters); + } + + /// + /// 设置对象属性值。 + /// + /// 目标对象。 + /// 属性名。 + /// 属性值。 + public static void SetPropertyValue(object obj, string propertyName, object newValue) + { + if (obj == null) + { + throw new NullReferenceException($"Obj is invalid !"); + } + + if (string.IsNullOrEmpty(propertyName)) + { + throw new ArgumentNullException($"PropertyName is invalid !"); + } + + Type type = obj.GetType(); + PropertyInfo prop = type.GetProperty(propertyName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); + if (prop == null) + { + throw new NullReferenceException($"Type : {type} can not find prop: {propertyName} !"); + } + + prop.SetValue(obj, newValue, null); + } + + /// + /// 设置对象属性值。 + /// 使用此方法为对象属性进行赋值时,若Type类型赋予正确,则可赋值非public类型的属性值. + /// + /// 属性可写的类Type。 + /// 目标对象。 + /// 属性名。 + /// 属性值。 + public static void SetPropertyValue(Type type, object obj, string propertyName, object value) + { + if (type == null) + { + throw new ArgumentNullException($"Type is invalid !"); + } + + if (obj == null) + { + throw new NullReferenceException($"Obj is invalid !"); + } + + if (string.IsNullOrEmpty(propertyName)) + { + throw new ArgumentNullException($"PropertyName is invalid !"); + } + + PropertyInfo prop = type.GetProperty(propertyName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); + if (prop == null) + { + throw new NullReferenceException($"Type : {type} can not find prop: {propertyName} !"); + } + + prop.SetValue(obj, value, null); + } + + /// + /// 设置对象字段值。 + /// + /// 字段可赋值所在类Type。 + /// 目标对象。 + /// 字段名。 + /// 字段值。 + public static void SetFieldValue(Type type, object obj, string fieldName, object value) + { + if (type == null) + { + throw new ArgumentNullException($"Type is invalid !"); + } + + if (string.IsNullOrEmpty(fieldName)) + { + throw new ArgumentNullException($"FieldName is invalid !"); + } + + var field = type.GetField(fieldName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); + if (field == null) + { + throw new NullReferenceException($"Type : {type} can not find field: {fieldName} !"); + } + + field.SetValue(obj, value); + } + + /// + /// 设置对象字段值。 + /// + /// 目标对象。 + /// 字段名。 + /// 字段值。 + public static void SetFieldValue(object obj, string fieldName, object value) + { + if (obj == null) + { + throw new NullReferenceException("Obj is invalid !"); + } + + if (string.IsNullOrEmpty(fieldName)) + { + throw new ArgumentNullException($"FieldName is invalid !"); + } + + Type type = obj.GetType(); + var field = type.GetField(fieldName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); + if (field == null) + { + throw new NullReferenceException($"Type : {type} can not find field: {fieldName} !"); + } + + field.SetValue(obj, value); + } + + /// + /// 获取对象的属性值。 + /// + /// 目标对象。 + /// 属性名。 + /// 属性值。 + public static object GetPropertyValue(object obj, string propertyName) + { + if (obj == null) + { + throw new NullReferenceException("Obj is invalid !"); + } + + if (string.IsNullOrEmpty(propertyName)) + { + throw new ArgumentNullException($"PropertyName is invalid !"); + } + + Type type = obj.GetType(); + var property = type.GetProperty(propertyName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); + if (property == null) + { + throw new NullReferenceException($"Type : {type} can not find property: {propertyName} !"); + } + + return property.GetValue(obj); + } + + /// + /// 获取非实例对象属性。 + /// + /// 类型。 + /// 属性名。 + /// 属性值。 + public static object GetNonInstancePropertyValue(Type type, string propertyName) + { + var property = type.GetProperty(propertyName, BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic); + if (property == null) + { + throw new NullReferenceException($"Type : {type} can not find property: {propertyName} !"); + } + + return property.GetValue(propertyName); + } + + /// + /// 获取属性。 + /// + /// 类型。 + /// 属性名。 + /// 属性信息 + public static PropertyInfo GetProperty(Type type, string propertyName) + { + var property = type.GetProperty(propertyName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); + if (property == null) + { + throw new NullReferenceException($"Type : {type} can not find property: {propertyName} !"); + } + + return property; + } + + /// + /// 获取对象字段值。 + /// + /// 目标对象。 + /// 字段名。 + /// 字段值 + public static object GetFieldValue(object obj, string fieldName) + { + if (obj == null) + { + throw new NullReferenceException("Obj is invalid !"); + } + + if (string.IsNullOrEmpty(fieldName)) + { + throw new ArgumentNullException($"FieldName is invalid !"); + } + + Type type = obj.GetType(); + var field = type.GetField(fieldName, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); + if (field == null) + { + throw new NullReferenceException($"Type : {type} can not find field: {fieldName} !"); + } + + return field.GetValue(obj); + } + + /// + /// 获取类Type类型中的所有字段名. + /// + /// type类型。 + /// 名称数组。 + public static string[] GetTypeAllFields() + { + return GetTypeAllFields(typeof(T)); + } + + /// + /// 获取类Type类型中的所有字段名. + /// + /// type类型。 + /// 名称数组。 + public static string[] GetTypeAllFields(Type type) + { + var fields = type.GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static); + return fields.Select(f => f.Name).ToArray(); + } + + /// + /// 获取Type类型中所有属性字段名。 + /// + /// type类型。 + /// 名称数组。 + public static string[] GetTypeAllProperties() + { + return GetTypeAllProperties(typeof(T)); + } + + /// + /// 获取Type类型中所有属性字段名. + /// + /// type类型。 + /// 名称数组。 + public static string[] GetTypeAllProperties(Type type) + { + var properties = type.GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static); + return properties.Select(f => f.Name).ToArray(); + } + + /// + /// 获取Type类型中所有字段名称与字段类型的映射。 + /// + /// type类型。 + /// 名称与类型的映射。 + public static IDictionary GetTypeFieldsNameAndTypeMapping(Type type) + { + var fields = type.GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static); + return fields.ToDictionary(f => f.Name, t => t.FieldType); + } + + /// + /// 获取Type类型中所有属性名称与字段类型的映射。 + /// + /// type类型。 + /// 名称与类型的映射。 + public static IDictionary GetTypePropertyNameAndTypeMapping(Type type) + { + var properties = type.GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static); + return properties.ToDictionary(f => f.Name, t => t.PropertyType); + } + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Reflection.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Reflection.cs.meta new file mode 100644 index 00000000..d1dcd530 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Reflection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1225e7478da399e479c2c099e8386302 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.ITextHelper.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.ITextHelper.cs new file mode 100644 index 00000000..1e039a7d --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.ITextHelper.cs @@ -0,0 +1,398 @@ +namespace SHFrame +{ + public static partial class Utility + { + public static partial class Text + { + /// + /// 字符辅助器接口。 + /// + public interface ITextHelper + { + /// + /// 获取格式化字符串。 + /// + /// 字符串参数的类型。 + /// 字符串格式。 + /// 字符串参数。 + /// 格式化后的字符串。 + string Format(string format, T arg); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串参数 13 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 字符串参数 13。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串参数 13 的类型。 + /// 字符串参数 14 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 字符串参数 13。 + /// 字符串参数 14。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串参数 13 的类型。 + /// 字符串参数 14 的类型。 + /// 字符串参数 15 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 字符串参数 13。 + /// 字符串参数 14。 + /// 字符串参数 15。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15); + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串参数 13 的类型。 + /// 字符串参数 14 的类型。 + /// 字符串参数 15 的类型。 + /// 字符串参数 16 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 字符串参数 13。 + /// 字符串参数 14。 + /// 字符串参数 15。 + /// 字符串参数 16。 + /// 格式化后的字符串。 + string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16); + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.ITextHelper.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.ITextHelper.cs.meta new file mode 100644 index 00000000..924c29af --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.ITextHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5a927bbf76a3b544e9be5334d587ca87 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.cs new file mode 100644 index 00000000..c2b86085 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.cs @@ -0,0 +1,614 @@ +namespace SHFrame +{ + public static partial class Utility + { + /// + /// 字符相关的实用函数。 + /// + public static partial class Text + { + private static ITextHelper _textHelper = null; + + /// + /// 设置字符辅助器。 + /// + /// 要设置的字符辅助器。 + public static void SetTextHelper(ITextHelper textHelper) + { + _textHelper = textHelper; + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数的类型。 + /// 字符串格式。 + /// 字符串参数。 + /// 格式化后的字符串。 + public static string Format(string format, T arg) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg); + } + + return _textHelper.Format(format, arg); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2); + } + + return _textHelper.Format(format, arg1, arg2); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3); + } + + return _textHelper.Format(format, arg1, arg2, arg3); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3, arg4); + } + + return _textHelper.Format(format, arg1, arg2, arg3, arg4); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3, arg4, arg5); + } + + return _textHelper.Format(format, arg1, arg2, arg3, arg4, arg5); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3, arg4, arg5, arg6); + } + + return _textHelper.Format(format, arg1, arg2, arg3, arg4, arg5, arg6); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + return _textHelper.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + } + + return _textHelper.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + } + + return _textHelper.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + } + + return _textHelper.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); + } + + return _textHelper.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); + } + + return _textHelper.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串参数 13 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 字符串参数 13。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); + } + + return _textHelper.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串参数 13 的类型。 + /// 字符串参数 14 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 字符串参数 13。 + /// 字符串参数 14。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); + } + + return _textHelper.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串参数 13 的类型。 + /// 字符串参数 14 的类型。 + /// 字符串参数 15 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 字符串参数 13。 + /// 字符串参数 14。 + /// 字符串参数 15。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); + } + + return _textHelper.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); + } + + /// + /// 获取格式化字符串。 + /// + /// 字符串参数 1 的类型。 + /// 字符串参数 2 的类型。 + /// 字符串参数 3 的类型。 + /// 字符串参数 4 的类型。 + /// 字符串参数 5 的类型。 + /// 字符串参数 6 的类型。 + /// 字符串参数 7 的类型。 + /// 字符串参数 8 的类型。 + /// 字符串参数 9 的类型。 + /// 字符串参数 10 的类型。 + /// 字符串参数 11 的类型。 + /// 字符串参数 12 的类型。 + /// 字符串参数 13 的类型。 + /// 字符串参数 14 的类型。 + /// 字符串参数 15 的类型。 + /// 字符串参数 16 的类型。 + /// 字符串格式。 + /// 字符串参数 1。 + /// 字符串参数 2。 + /// 字符串参数 3。 + /// 字符串参数 4。 + /// 字符串参数 5。 + /// 字符串参数 6。 + /// 字符串参数 7。 + /// 字符串参数 8。 + /// 字符串参数 9。 + /// 字符串参数 10。 + /// 字符串参数 11。 + /// 字符串参数 12。 + /// 字符串参数 13。 + /// 字符串参数 14。 + /// 字符串参数 15。 + /// 字符串参数 16。 + /// 格式化后的字符串。 + public static string Format(string format, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16) + { + if (format == null) + { + throw new GameFrameworkException("Format is invalid."); + } + + if (_textHelper == null) + { + return string.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); + } + + return _textHelper.Format(format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16); + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.cs.meta new file mode 100644 index 00000000..380332a1 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.Text.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 175bb31e12ed3ce42b9325b52430748f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.cs new file mode 100644 index 00000000..f7700ae1 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.cs @@ -0,0 +1,9 @@ +namespace SHFrame +{ + /// + /// 实用函数集。 + /// + public static partial class Utility + { + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.cs.meta new file mode 100644 index 00000000..397aa8ec --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Utility/Utility.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5e1ba86e306e12847a76630739ab02d0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable.meta new file mode 100644 index 00000000..998aa309 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 871ae27be99675b42a11324357ef7049 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/GenericVariable.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/GenericVariable.cs new file mode 100644 index 00000000..df22c252 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/GenericVariable.cs @@ -0,0 +1,89 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; + +namespace SHFrame +{ + /// + /// 变量。 + /// + /// 变量类型。 + public abstract class Variable : Variable + { + private T m_Value; + + /// + /// 初始化变量的新实例。 + /// + public Variable() + { + m_Value = default(T); + } + + /// + /// 获取变量类型。 + /// + public override Type Type + { + get + { + return typeof(T); + } + } + + /// + /// 获取或设置变量值。 + /// + public T Value + { + get + { + return m_Value; + } + set + { + m_Value = value; + } + } + + /// + /// 获取变量值。 + /// + /// 变量值。 + public override object GetValue() + { + return m_Value; + } + + /// + /// 设置变量值。 + /// + /// 变量值。 + public override void SetValue(object value) + { + m_Value = (T)value; + } + + /// + /// 清理变量值。 + /// + public override void Clear() + { + m_Value = default(T); + } + + /// + /// 获取变量字符串。 + /// + /// 变量字符串。 + public override string ToString() + { + return (m_Value != null) ? m_Value.ToString() : ""; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/GenericVariable.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/GenericVariable.cs.meta new file mode 100644 index 00000000..2ad73cf7 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/GenericVariable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8f3e9d300f8e54a47a7d59537f9ad822 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarBoolean.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarBoolean.cs new file mode 100644 index 00000000..2d2038a3 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarBoolean.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.Boolean 变量类。 + /// + public sealed class VarBoolean : Variable + { + /// + /// 初始化 System.Boolean 变量类的新实例。 + /// + public VarBoolean() + { + } + + /// + /// 从 System.Boolean 到 System.Boolean 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarBoolean(bool value) + { + VarBoolean varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.Boolean 变量类到 System.Boolean 的隐式转换。 + /// + /// 值。 + public static implicit operator bool(VarBoolean value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarBoolean.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarBoolean.cs.meta new file mode 100644 index 00000000..10ec55f1 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarBoolean.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 951d24bf51d09c64e8cd2ac824a363b4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByte.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByte.cs new file mode 100644 index 00000000..168bc7ba --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByte.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.Byte 变量类。 + /// + public sealed class VarByte : Variable + { + /// + /// 初始化 System.Byte 变量类的新实例。 + /// + public VarByte() + { + } + + /// + /// 从 System.Byte 到 System.Byte 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarByte(byte value) + { + VarByte varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.Byte 变量类到 System.Byte 的隐式转换。 + /// + /// 值。 + public static implicit operator byte(VarByte value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByte.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByte.cs.meta new file mode 100644 index 00000000..631cca86 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByte.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 028b1842c42f7bf4999e1aaffed3b451 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByteArray.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByteArray.cs new file mode 100644 index 00000000..0ac3e3da --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByteArray.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.Byte 数组变量类。 + /// + public sealed class VarByteArray : Variable + { + /// + /// 初始化 System.Byte 数组变量类的新实例。 + /// + public VarByteArray() + { + } + + /// + /// 从 System.Byte 数组到 System.Byte 数组变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarByteArray(byte[] value) + { + VarByteArray varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.Byte 数组变量类到 System.Byte 数组的隐式转换。 + /// + /// 值。 + public static implicit operator byte[](VarByteArray value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByteArray.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByteArray.cs.meta new file mode 100644 index 00000000..e2ccc9ff --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarByteArray.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dbb9b35f2ec6f8f4bb8bb6c361eb8ef6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarChar.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarChar.cs new file mode 100644 index 00000000..2a6d65fe --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarChar.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.Char 变量类。 + /// + public sealed class VarChar : Variable + { + /// + /// 初始化 System.Char 变量类的新实例。 + /// + public VarChar() + { + } + + /// + /// 从 System.Char 到 System.Char 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarChar(char value) + { + VarChar varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.Char 变量类到 System.Char 的隐式转换。 + /// + /// 值。 + public static implicit operator char(VarChar value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarChar.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarChar.cs.meta new file mode 100644 index 00000000..3b78eb99 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarChar.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 17c91d9b1ebba834385874fcf8c1076a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarCharArray.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarCharArray.cs new file mode 100644 index 00000000..dffcabe6 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarCharArray.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.Char 数组变量类。 + /// + public sealed class VarCharArray : Variable + { + /// + /// 初始化 System.Char 数组变量类的新实例。 + /// + public VarCharArray() + { + } + + /// + /// 从 System.Char 数组到 System.Char 数组变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarCharArray(char[] value) + { + VarCharArray varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.Char 数组变量类到 System.Char 数组的隐式转换。 + /// + /// 值。 + public static implicit operator char[](VarCharArray value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarCharArray.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarCharArray.cs.meta new file mode 100644 index 00000000..64422cc4 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarCharArray.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 74c192285e6e9d8469961735fd7bc29e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor.cs new file mode 100644 index 00000000..50239852 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using UnityEngine; + +namespace SHFrame +{ + /// + /// UnityEngine.Color 变量类。 + /// + public sealed class VarColor : Variable + { + /// + /// 初始化 UnityEngine.Color 变量类的新实例。 + /// + public VarColor() + { + } + + /// + /// 从 UnityEngine.Color 到 UnityEngine.Color 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarColor(Color value) + { + VarColor varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 UnityEngine.Color 变量类到 UnityEngine.Color 的隐式转换。 + /// + /// 值。 + public static implicit operator Color(VarColor value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor.cs.meta new file mode 100644 index 00000000..f6b2dbee --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b7b2e4000c824c341bd90a5886dd0893 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor32.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor32.cs new file mode 100644 index 00000000..b8f938fe --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor32.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using UnityEngine; + +namespace SHFrame +{ + /// + /// UnityEngine.Color32 变量类。 + /// + public sealed class VarColor32 : Variable + { + /// + /// 初始化 UnityEngine.Color32 变量类的新实例。 + /// + public VarColor32() + { + } + + /// + /// 从 UnityEngine.Color32 到 UnityEngine.Color32 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarColor32(Color32 value) + { + VarColor32 varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 UnityEngine.Color32 变量类到 UnityEngine.Color32 的隐式转换。 + /// + /// 值。 + public static implicit operator Color32(VarColor32 value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor32.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor32.cs.meta new file mode 100644 index 00000000..c5c4af60 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarColor32.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f31aea41afccdc843a7cc7de09a7fc9e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDateTime.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDateTime.cs new file mode 100644 index 00000000..93b94668 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDateTime.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; + +namespace SHFrame +{ + /// + /// System.DateTime 变量类。 + /// + public sealed class VarDateTime : Variable + { + /// + /// 初始化 System.DateTime 变量类的新实例。 + /// + public VarDateTime() + { + } + + /// + /// 从 System.DateTime 到 System.DateTime 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarDateTime(DateTime value) + { + VarDateTime varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.DateTime 变量类到 System.DateTime 的隐式转换。 + /// + /// 值。 + public static implicit operator DateTime(VarDateTime value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDateTime.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDateTime.cs.meta new file mode 100644 index 00000000..7b03c2ca --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDateTime.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0b58529251d8325439e3988047d2f019 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDecimal.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDecimal.cs new file mode 100644 index 00000000..9b433ef9 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDecimal.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.Decimal 变量类。 + /// + public sealed class VarDecimal : Variable + { + /// + /// 初始化 System.Decimal 变量类的新实例。 + /// + public VarDecimal() + { + } + + /// + /// 从 System.Decimal 到 System.Decimal 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarDecimal(decimal value) + { + VarDecimal varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.Decimal 变量类到 System.Decimal 的隐式转换。 + /// + /// 值。 + public static implicit operator decimal(VarDecimal value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDecimal.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDecimal.cs.meta new file mode 100644 index 00000000..ac5b4979 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDecimal.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c8bd5d553ed3aea4485bf78964f09708 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDouble.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDouble.cs new file mode 100644 index 00000000..b3b3b1fd --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDouble.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.Double 变量类。 + /// + public sealed class VarDouble : Variable + { + /// + /// 初始化 System.Double 变量类的新实例。 + /// + public VarDouble() + { + } + + /// + /// 从 System.Double 到 System.Double 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarDouble(double value) + { + VarDouble varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.Double 变量类到 System.Double 的隐式转换。 + /// + /// 值。 + public static implicit operator double(VarDouble value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDouble.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDouble.cs.meta new file mode 100644 index 00000000..98661baa --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarDouble.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 55b52e85a025f734495ed0e888633468 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarGameObject.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarGameObject.cs new file mode 100644 index 00000000..daf847c6 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarGameObject.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using UnityEngine; + +namespace SHFrame +{ + /// + /// UnityEngine.GameObject 变量类。 + /// + public sealed class VarGameObject : Variable + { + /// + /// 初始化 UnityEngine.GameObject 变量类的新实例。 + /// + public VarGameObject() + { + } + + /// + /// 从 UnityEngine.GameObject 到 UnityEngine.GameObject 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarGameObject(GameObject value) + { + VarGameObject varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 UnityEngine.GameObject 变量类到 UnityEngine.GameObject 的隐式转换。 + /// + /// 值。 + public static implicit operator GameObject(VarGameObject value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarGameObject.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarGameObject.cs.meta new file mode 100644 index 00000000..7fda629e --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarGameObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9c339e4000da5e645993ae5bb3c79554 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt16.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt16.cs new file mode 100644 index 00000000..344ff822 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt16.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.Int16 变量类。 + /// + public sealed class VarInt16 : Variable + { + /// + /// 初始化 System.Int16 变量类的新实例。 + /// + public VarInt16() + { + } + + /// + /// 从 System.Int16 到 System.Int16 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarInt16(short value) + { + VarInt16 varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.Int16 变量类到 System.Int16 的隐式转换。 + /// + /// 值。 + public static implicit operator short(VarInt16 value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt16.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt16.cs.meta new file mode 100644 index 00000000..4a27d155 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt16.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fb22474f50a73704ebdc00b32ba1fd93 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt32.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt32.cs new file mode 100644 index 00000000..6f8286ef --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt32.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.Int32 变量类。 + /// + public sealed class VarInt32 : Variable + { + /// + /// 初始化 System.Int32 变量类的新实例。 + /// + public VarInt32() + { + } + + /// + /// 从 System.Int32 到 System.Int32 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarInt32(int value) + { + VarInt32 varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.Int32 变量类到 System.Int32 的隐式转换。 + /// + /// 值。 + public static implicit operator int(VarInt32 value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt32.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt32.cs.meta new file mode 100644 index 00000000..8f4d62d3 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt32.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f82188cc963752848a236f4fed834740 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt64.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt64.cs new file mode 100644 index 00000000..1f2caccf --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt64.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.Int64 变量类。 + /// + public sealed class VarInt64 : Variable + { + /// + /// 初始化 System.Int64 变量类的新实例。 + /// + public VarInt64() + { + } + + /// + /// 从 System.Int64 到 System.Int64 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarInt64(long value) + { + VarInt64 varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.Int64 变量类到 System.Int64 的隐式转换。 + /// + /// 值。 + public static implicit operator long(VarInt64 value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt64.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt64.cs.meta new file mode 100644 index 00000000..a52a7987 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarInt64.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 13f2695725ed09648a9fc2b506584a0c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarMaterial.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarMaterial.cs new file mode 100644 index 00000000..5bff632f --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarMaterial.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using UnityEngine; + +namespace SHFrame +{ + /// + /// UnityEngine.Material 变量类。 + /// + public sealed class VarMaterial : Variable + { + /// + /// 初始化 UnityEngine.Material 变量类的新实例。 + /// + public VarMaterial() + { + } + + /// + /// 从 UnityEngine.Material 到 UnityEngine.Material 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarMaterial(Material value) + { + VarMaterial varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 UnityEngine.Material 变量类到 UnityEngine.Material 的隐式转换。 + /// + /// 值。 + public static implicit operator Material(VarMaterial value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarMaterial.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarMaterial.cs.meta new file mode 100644 index 00000000..6b6a0e28 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarMaterial.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 45b6448300498c842a0facd7b2b6d45c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarObject.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarObject.cs new file mode 100644 index 00000000..fd8e3f10 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarObject.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.Object 变量类。 + /// + public sealed class VarObject : Variable + { + /// + /// 初始化 System.Object 变量类的新实例。 + /// + public VarObject() + { + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarObject.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarObject.cs.meta new file mode 100644 index 00000000..dae3a94c --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f3b2d458c0eb0244c905a819c9fec4f3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarQuaternion.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarQuaternion.cs new file mode 100644 index 00000000..bb2124fa --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarQuaternion.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using UnityEngine; + +namespace SHFrame +{ + /// + /// UnityEngine.Quaternion 变量类。 + /// + public sealed class VarQuaternion : Variable + { + /// + /// 初始化 UnityEngine.Quaternion 变量类的新实例。 + /// + public VarQuaternion() + { + } + + /// + /// 从 UnityEngine.Quaternion 到 UnityEngine.Quaternion 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarQuaternion(Quaternion value) + { + VarQuaternion varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 UnityEngine.Quaternion 变量类到 UnityEngine.Quaternion 的隐式转换。 + /// + /// 值。 + public static implicit operator Quaternion(VarQuaternion value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarQuaternion.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarQuaternion.cs.meta new file mode 100644 index 00000000..213ce68e --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarQuaternion.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 411c1800741f3594d80ef8ce06797ca4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarRect.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarRect.cs new file mode 100644 index 00000000..ff0d17ca --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarRect.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using UnityEngine; + +namespace SHFrame +{ + /// + /// UnityEngine.Rect 变量类。 + /// + public sealed class VarRect : Variable + { + /// + /// 初始化 UnityEngine.Rect 变量类的新实例。 + /// + public VarRect() + { + } + + /// + /// 从 UnityEngine.Rect 到 UnityEngine.Rect 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarRect(Rect value) + { + VarRect varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 UnityEngine.Rect 变量类到 UnityEngine.Rect 的隐式转换。 + /// + /// 值。 + public static implicit operator Rect(VarRect value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarRect.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarRect.cs.meta new file mode 100644 index 00000000..81671841 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarRect.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ee11011c267861947bfbd3353b91bd12 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSByte.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSByte.cs new file mode 100644 index 00000000..3ec1997d --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSByte.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.SByte 变量类。 + /// + public sealed class VarSByte : Variable + { + /// + /// 初始化 System.SByte 变量类的新实例。 + /// + public VarSByte() + { + } + + /// + /// 从 System.SByte 到 System.SByte 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarSByte(sbyte value) + { + VarSByte varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.SByte 变量类到 System.SByte 的隐式转换。 + /// + /// 值。 + public static implicit operator sbyte(VarSByte value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSByte.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSByte.cs.meta new file mode 100644 index 00000000..d4a8514d --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSByte.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1e0877a15fd8ef34699d6e817a9c04bd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSingle.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSingle.cs new file mode 100644 index 00000000..3e532f33 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSingle.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.Single 变量类。 + /// + public sealed class VarSingle : Variable + { + /// + /// 初始化 System.Single 变量类的新实例。 + /// + public VarSingle() + { + } + + /// + /// 从 System.Single 到 System.Single 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarSingle(float value) + { + VarSingle varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.Single 变量类到 System.Single 的隐式转换。 + /// + /// 值。 + public static implicit operator float(VarSingle value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSingle.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSingle.cs.meta new file mode 100644 index 00000000..f53d09ee --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarSingle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3a31b440f69e7f04f9afabe202d14550 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarString.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarString.cs new file mode 100644 index 00000000..aaeaadec --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarString.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.String 变量类。 + /// + public sealed class VarString : Variable + { + /// + /// 初始化 System.String 变量类的新实例。 + /// + public VarString() + { + } + + /// + /// 从 System.String 到 System.String 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarString(string value) + { + VarString varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.String 变量类到 System.String 的隐式转换。 + /// + /// 值。 + public static implicit operator string(VarString value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarString.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarString.cs.meta new file mode 100644 index 00000000..a6024175 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarString.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d45679f4a06fe6244ad4ff88dca368a4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarStringList.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarStringList.cs new file mode 100644 index 00000000..b9ce652e --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarStringList.cs @@ -0,0 +1,49 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System.Collections.Generic; + +namespace SHFrame +{ + /// + /// System.Byte 数组变量类。 + /// + public sealed class VarStringList : Variable> + { + /// + /// 初始化 System.Byte 数组变量类的新实例。 + /// + public VarStringList() + { + } + + /// + /// 从 System.Byte 数组到 System.Byte 数组变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarStringList(List value) + { + VarStringList varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.Byte 数组变量类到 System.Byte 数组的隐式转换。 + /// + /// 值。 + public static implicit operator List(VarStringList value) + { + return value.Value; + } + + public override void Clear() + { + this.Value.Clear(); + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarStringList.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarStringList.cs.meta new file mode 100644 index 00000000..8c1cefb5 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarStringList.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: da64ff3494e14cc19e9fe0d6782617af +timeCreated: 1725871939 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTexture.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTexture.cs new file mode 100644 index 00000000..862c8f6b --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTexture.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using UnityEngine; + +namespace SHFrame +{ + /// + /// UnityEngine.Texture 变量类。 + /// + public sealed class VarTexture : Variable + { + /// + /// 初始化 UnityEngine.Texture 变量类的新实例。 + /// + public VarTexture() + { + } + + /// + /// 从 UnityEngine.Texture 到 UnityEngine.Texture 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarTexture(Texture value) + { + VarTexture varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 UnityEngine.Texture 变量类到 UnityEngine.Texture 的隐式转换。 + /// + /// 值。 + public static implicit operator Texture(VarTexture value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTexture.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTexture.cs.meta new file mode 100644 index 00000000..4f72c270 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTexture.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c0f43d324b63e5d48933b078ca2cc5f3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTransform.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTransform.cs new file mode 100644 index 00000000..41eec1c9 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTransform.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using UnityEngine; + +namespace SHFrame +{ + /// + /// UnityEngine.Transform 变量类。 + /// + public sealed class VarTransform : Variable + { + /// + /// 初始化 UnityEngine.Transform 变量类的新实例。 + /// + public VarTransform() + { + } + + /// + /// 从 UnityEngine.Transform 到 UnityEngine.Transform 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarTransform(Transform value) + { + VarTransform varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 UnityEngine.Transform 变量类到 UnityEngine.Transform 的隐式转换。 + /// + /// 值。 + public static implicit operator Transform(VarTransform value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTransform.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTransform.cs.meta new file mode 100644 index 00000000..51d13246 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarTransform.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dff6037db6354304d82d9aaf079d5c63 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt16.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt16.cs new file mode 100644 index 00000000..cbd34f0b --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt16.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.UInt16 变量类。 + /// + public sealed class VarUInt16 : Variable + { + /// + /// 初始化 System.UInt16 变量类的新实例。 + /// + public VarUInt16() + { + } + + /// + /// 从 System.UInt16 到 System.UInt16 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarUInt16(ushort value) + { + VarUInt16 varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.UInt16 变量类到 System.UInt16 的隐式转换。 + /// + /// 值。 + public static implicit operator ushort(VarUInt16 value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt16.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt16.cs.meta new file mode 100644 index 00000000..6303851b --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt16.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c158720cba058174995252c289e561b8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt32.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt32.cs new file mode 100644 index 00000000..9ac91dde --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt32.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.UInt32 变量类。 + /// + public sealed class VarUInt32 : Variable + { + /// + /// 初始化 System.UInt32 变量类的新实例。 + /// + public VarUInt32() + { + } + + /// + /// 从 System.UInt32 到 System.UInt32 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarUInt32(uint value) + { + VarUInt32 varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.UInt32 变量类到 System.UInt32 的隐式转换。 + /// + /// 值。 + public static implicit operator uint(VarUInt32 value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt32.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt32.cs.meta new file mode 100644 index 00000000..2a2b4e15 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt32.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ec67b25d499a2d34fa1c450a9d165ab0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt64.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt64.cs new file mode 100644 index 00000000..b542c5aa --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt64.cs @@ -0,0 +1,42 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +namespace SHFrame +{ + /// + /// System.UInt64 变量类。 + /// + public sealed class VarUInt64 : Variable + { + /// + /// 初始化 System.UInt64 变量类的新实例。 + /// + public VarUInt64() + { + } + + /// + /// 从 System.UInt64 到 System.UInt64 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarUInt64(ulong value) + { + VarUInt64 varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 System.UInt64 变量类到 System.UInt64 的隐式转换。 + /// + /// 值。 + public static implicit operator ulong(VarUInt64 value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt64.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt64.cs.meta new file mode 100644 index 00000000..78ae7a0e --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUInt64.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d0195ac43c505b248a7d9d41beff1436 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUnityObject.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUnityObject.cs new file mode 100644 index 00000000..735d781a --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUnityObject.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using UnityEngine; + +namespace SHFrame +{ + /// + /// UnityEngine.Object 变量类。 + /// + public sealed class VarUnityObject : Variable + { + /// + /// 初始化 UnityEngine.Object 变量类的新实例。 + /// + public VarUnityObject() + { + } + + /// + /// 从 UnityEngine.Object 到 UnityEngine.Object 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarUnityObject(Object value) + { + VarUnityObject varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 UnityEngine.Object 变量类到 UnityEngine.Object 的隐式转换。 + /// + /// 值。 + public static implicit operator Object(VarUnityObject value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUnityObject.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUnityObject.cs.meta new file mode 100644 index 00000000..b0adfea5 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarUnityObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bc9d733f793fc00468089f8cdd6c1835 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector2.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector2.cs new file mode 100644 index 00000000..7bc3d20c --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector2.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using UnityEngine; + +namespace SHFrame +{ + /// + /// UnityEngine.Vector2 变量类。 + /// + public sealed class VarVector2 : Variable + { + /// + /// 初始化 UnityEngine.Vector2 变量类的新实例。 + /// + public VarVector2() + { + } + + /// + /// 从 UnityEngine.Vector2 到 UnityEngine.Vector2 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarVector2(Vector2 value) + { + VarVector2 varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 UnityEngine.Vector2 变量类到 UnityEngine.Vector2 的隐式转换。 + /// + /// 值。 + public static implicit operator Vector2(VarVector2 value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector2.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector2.cs.meta new file mode 100644 index 00000000..78ad39a4 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector2.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ef03a8d73e6be4348802fc28c4777c49 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector3.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector3.cs new file mode 100644 index 00000000..bd813c79 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector3.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using UnityEngine; + +namespace SHFrame +{ + /// + /// UnityEngine.Vector3 变量类。 + /// + public sealed class VarVector3 : Variable + { + /// + /// 初始化 UnityEngine.Vector3 变量类的新实例。 + /// + public VarVector3() + { + } + + /// + /// 从 UnityEngine.Vector3 到 UnityEngine.Vector3 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarVector3(Vector3 value) + { + VarVector3 varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 UnityEngine.Vector3 变量类到 UnityEngine.Vector3 的隐式转换。 + /// + /// 值。 + public static implicit operator Vector3(VarVector3 value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector3.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector3.cs.meta new file mode 100644 index 00000000..0fd91e06 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector3.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b041a74c058fe54418735010bcfd2a21 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector4.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector4.cs new file mode 100644 index 00000000..ae129fb2 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector4.cs @@ -0,0 +1,44 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using UnityEngine; + +namespace SHFrame +{ + /// + /// UnityEngine.Vector4 变量类。 + /// + public sealed class VarVector4 : Variable + { + /// + /// 初始化 UnityEngine.Vector4 变量类的新实例。 + /// + public VarVector4() + { + } + + /// + /// 从 UnityEngine.Vector4 到 UnityEngine.Vector4 变量类的隐式转换。 + /// + /// 值。 + public static implicit operator VarVector4(Vector4 value) + { + VarVector4 varValue = ReferencePool.Acquire(); + varValue.Value = value; + return varValue; + } + + /// + /// 从 UnityEngine.Vector4 变量类到 UnityEngine.Vector4 的隐式转换。 + /// + /// 值。 + public static implicit operator Vector4(VarVector4 value) + { + return value.Value; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector4.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector4.cs.meta new file mode 100644 index 00000000..f6d7301f --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/VarVector4.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 30950f09797d4354e883c8c4d2caa7b7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/Variable.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/Variable.cs new file mode 100644 index 00000000..049e4cc5 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/Variable.cs @@ -0,0 +1,49 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; + +namespace SHFrame +{ + /// + /// 变量。 + /// + public abstract class Variable : IReference + { + /// + /// 初始化变量的新实例。 + /// + public Variable() + { + } + + /// + /// 获取变量类型。 + /// + public abstract Type Type + { + get; + } + + /// + /// 获取变量值。 + /// + /// 变量值。 + public abstract object GetValue(); + + /// + /// 设置变量值。 + /// + /// 变量值。 + public abstract void SetValue(object value); + + /// + /// 清理变量值。 + /// + public abstract void Clear(); + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/Variable.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/Variable.cs.meta new file mode 100644 index 00000000..7f1a1979 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Variable/Variable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6ed48c7b0289e9a4eb7f4efd2fb51d2f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version.meta new file mode 100644 index 00000000..7360a571 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 285c260aff5d38540ad38c31bcf56244 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.IVersionHelper.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.IVersionHelper.cs new file mode 100644 index 00000000..435d5fb7 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.IVersionHelper.cs @@ -0,0 +1,27 @@ +namespace SHFrame +{ + public static partial class Version + { + /// + /// 版本号辅助器接口。 + /// + public interface IVersionHelper + { + /// + /// 获取游戏版本号。 + /// + string GameVersion + { + get; + } + + /// + /// 获取内部游戏版本号。 + /// + string InternalGameVersion + { + get; + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.IVersionHelper.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.IVersionHelper.cs.meta new file mode 100644 index 00000000..414cacb6 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.IVersionHelper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4c4769682916bec4199f5575a27d3161 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.cs new file mode 100644 index 00000000..0d75d1e0 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.cs @@ -0,0 +1,58 @@ +namespace SHFrame +{ + /// + /// 版本号类。 + /// + public static partial class Version + { + private const string GameFrameworkVersionString = "2024.03.05"; + + private static IVersionHelper s_VersionHelper = null; + + /// + /// 获取游戏框架版本号。 + /// + public static string GameFrameworkVersion => GameFrameworkVersionString; + + /// + /// 获取游戏版本号。 + /// + public static string GameVersion + { + get + { + if (s_VersionHelper == null) + { + return string.Empty; + } + + return s_VersionHelper.GameVersion; + } + } + + /// + /// 获取内部游戏版本号。 + /// + public static string InternalGameVersion + { + get + { + if (s_VersionHelper == null) + { + return string.Empty; + } + + return s_VersionHelper.InternalGameVersion; + } + } + + /// + /// 设置版本号辅助器。 + /// + /// 要设置的版本号辅助器。 + public static void SetVersionHelper(IVersionHelper versionHelper) + { + s_VersionHelper = versionHelper; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.cs.meta new file mode 100644 index 00000000..155d78b8 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Core/Version/Version.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0f4c25456374e164ea999fbd534c58b3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension.meta new file mode 100644 index 00000000..c5cc6bcc --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 39954f3377a2e5044ac06af7f3fb39f9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByLocationOperation.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByLocationOperation.cs new file mode 100644 index 00000000..49009489 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByLocationOperation.cs @@ -0,0 +1,122 @@ +using System.Collections.Generic; +using UnityEngine; +using YooAsset; + +public class LoadAssetsByLocationOperation : GameAsyncOperation where TObject : UnityEngine.Object +{ + private enum ESteps + { + None, + LoadAssets, + CheckResult, + Done, + } + + private readonly List _locations; + + private ESteps _steps = ESteps.None; + private List _handles; + + /// + /// 资源对象集合 + /// + public List AssetObjects { private set; get; } + + + public LoadAssetsByLocationOperation(List locations) + { + _locations = locations; + } + + protected override void OnStart() + { + _steps = ESteps.LoadAssets; + } + + protected override void OnUpdate() + { + if (_steps == ESteps.None || _steps == ESteps.Done || _locations is null) + return; + + if (_steps == ESteps.LoadAssets) + { + _handles = new List(_locations.Count); + foreach (var location in _locations) + { + var handle = YooAssets.LoadAssetSync(location); + _handles.Add(handle); + } + + _steps = ESteps.CheckResult; + } + + if (_steps == ESteps.CheckResult) + { + int index = 0; + foreach (var handle in _handles) + { + if (handle.IsDone == false) + { + Progress = (float)index / _handles.Count; + return; + } + + index++; + } + + AssetObjects = new List(_handles.Count); + foreach (var handle in _handles) + { + if (handle.Status == EOperationStatus.Succeed) + { + var assetObject = handle.AssetObject as TObject; + if (assetObject != null) + { + AssetObjects.Add(assetObject); + } + else + { + string error = $"资源类型转换失败:{handle.AssetObject.name}"; + Debug.LogError($"{error}"); + AssetObjects.Clear(); + SetFinish(false, error); + return; + } + } + else + { + Debug.LogError($"{handle.LastError}"); + AssetObjects.Clear(); + SetFinish(false, handle.LastError); + return; + } + } + + SetFinish(true); + } + } + + protected override void OnAbort() + { + } + + private void SetFinish(bool succeed, string error = "") + { + Error = error; + Status = succeed ? EOperationStatus.Succeed : EOperationStatus.Failed; + _steps = ESteps.Done; + } + + /// + /// 释放资源句柄 + /// + public void ReleaseHandle() + { + foreach (var handle in _handles) + { + handle.Release(); + } + + _handles.Clear(); + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByLocationOperation.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByLocationOperation.cs.meta new file mode 100644 index 00000000..6596a92b --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByLocationOperation.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5867511b5ed643bfa24b550adf7c0c2a +timeCreated: 1719802352 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByTagOperation.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByTagOperation.cs new file mode 100644 index 00000000..feb34cd8 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByTagOperation.cs @@ -0,0 +1,115 @@ +using System.Collections.Generic; +using UnityEngine; +using YooAsset; + +public class LoadAssetsByTagOperation : GameAsyncOperation where TObject : UnityEngine.Object +{ + private enum ESteps + { + None, + LoadAssets, + CheckResult, + Done, + } + + private readonly string _tag; + private ESteps _steps = ESteps.None; + private List _handles; + + /// + /// 资源对象集合 + /// + public List AssetObjects { private set; get; } + + + public LoadAssetsByTagOperation(string tag) + { + _tag = tag; + } + protected override void OnStart() + { + _steps = ESteps.LoadAssets; + } + protected override void OnUpdate() + { + if (_steps == ESteps.None || _steps == ESteps.Done) + return; + + if (_steps == ESteps.LoadAssets) + { + AssetInfo[] assetInfos = YooAssets.GetAssetInfos(_tag); + _handles = new List(assetInfos.Length); + foreach (var assetInfo in assetInfos) + { + var handle = YooAssets.LoadAssetAsync(assetInfo); + _handles.Add(handle); + } + _steps = ESteps.CheckResult; + } + + if (_steps == ESteps.CheckResult) + { + int index = 0; + foreach (var handle in _handles) + { + if (handle.IsDone == false) + { + Progress = (float)index / _handles.Count; + return; + } + index++; + } + + AssetObjects = new List(_handles.Count); + foreach (var handle in _handles) + { + if (handle.Status == EOperationStatus.Succeed) + { + var assetObject = handle.AssetObject as TObject; + if (assetObject != null) + { + AssetObjects.Add(assetObject); + } + else + { + string error = $"资源类型转换失败:{handle.AssetObject.name}"; + Debug.LogError($"{error}"); + AssetObjects.Clear(); + SetFinish(false, error); + return; + } + } + else + { + Debug.LogError($"{handle.LastError}"); + AssetObjects.Clear(); + SetFinish(false, handle.LastError); + return; + } + } + + SetFinish(true); + } + } + protected override void OnAbort() + { + } + private void SetFinish(bool succeed, string error = "") + { + Error = error; + Status = succeed ? EOperationStatus.Succeed : EOperationStatus.Failed; + _steps = ESteps.Done; + } + + /// + /// 释放资源句柄 + /// + public void ReleaseHandle() + { + foreach (var handle in _handles) + { + handle.Release(); + } + _handles.Clear(); + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByTagOperation.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByTagOperation.cs.meta new file mode 100644 index 00000000..0db7901b --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsByTagOperation.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 35cd25a83a43dfb4093399183b31a0d0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsOperation.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsOperation.cs new file mode 100644 index 00000000..c13470d7 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsOperation.cs @@ -0,0 +1,122 @@ +using System.Collections.Generic; +using UnityEngine; +using YooAsset; + +public class LoadAssetsOperation : GameAsyncOperation where TObject : UnityEngine.Object +{ + private enum ESteps + { + None, + LoadAssets, + CheckResult, + Done, + } + + private readonly AssetInfo[] _assetInfos; + + private ESteps _steps = ESteps.None; + private List _handles; + + /// + /// 资源对象集合 + /// + public List AssetObjects { private set; get; } + + + public LoadAssetsOperation(AssetInfo[] assetInfos) + { + _assetInfos = assetInfos; + } + + protected override void OnStart() + { + _steps = ESteps.LoadAssets; + } + + protected override void OnUpdate() + { + if (_steps == ESteps.None || _steps == ESteps.Done || _assetInfos is null) + return; + + if (_steps == ESteps.LoadAssets) + { + _handles = new List(_assetInfos.Length); + foreach (var assetInfo in _assetInfos) + { + var handle = YooAssets.LoadAssetAsync(assetInfo); + _handles.Add(handle); + } + + _steps = ESteps.CheckResult; + } + + if (_steps == ESteps.CheckResult) + { + int index = 0; + foreach (var handle in _handles) + { + if (handle.IsDone == false) + { + Progress = (float)index / _handles.Count; + return; + } + + index++; + } + + AssetObjects = new List(_handles.Count); + foreach (var handle in _handles) + { + if (handle.Status == EOperationStatus.Succeed) + { + var assetObject = handle.AssetObject as TObject; + if (assetObject != null) + { + AssetObjects.Add(assetObject); + } + else + { + string error = $"资源类型转换失败:{handle.AssetObject.name}"; + Debug.LogError($"{error}"); + AssetObjects.Clear(); + SetFinish(false, error); + return; + } + } + else + { + Debug.LogError($"{handle.LastError}"); + AssetObjects.Clear(); + SetFinish(false, handle.LastError); + return; + } + } + + SetFinish(true); + } + } + + protected override void OnAbort() + { + } + + private void SetFinish(bool succeed, string error = "") + { + Error = error; + Status = succeed ? EOperationStatus.Succeed : EOperationStatus.Failed; + _steps = ESteps.Done; + } + + /// + /// 释放资源句柄 + /// + public void ReleaseHandle() + { + foreach (var handle in _handles) + { + handle.Release(); + } + + _handles.Clear(); + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsOperation.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsOperation.cs.meta new file mode 100644 index 00000000..1a4560cf --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Extension/LoadAssetsOperation.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f7cec29d5980417987518a077d300b41 +timeCreated: 1719802055 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules.meta new file mode 100644 index 00000000..4aa1b0cb --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 051a3d720a5ac794c8ef0c7dd1471c39 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule.meta new file mode 100644 index 00000000..69acfc0a --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3e39d7858311e1b458907e8eb53802c2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgent.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgent.cs new file mode 100644 index 00000000..5632f0f5 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgent.cs @@ -0,0 +1,474 @@ +using UnityEngine; +using UnityEngine.Audio; +using YooAsset; + +namespace SHFrame +{ + public class AudioData : MemoryObject + { + public AssetHandle AssetOperationHandle { private set; get; } + + public bool InPool { private set; get; } = false; + + public override void InitFromPool() + { + } + + public override void RecycleToPool() + { + if (!InPool) + { + AssetOperationHandle.Dispose(); + } + + InPool = false; + AssetOperationHandle = null; + } + + internal static AudioData Alloc(AssetHandle assetOperationHandle, bool inPool) + { + AudioData ret = ReferencePool.Acquire(); + ret.AssetOperationHandle = assetOperationHandle; + ret.InPool = inPool; + ret.InitFromPool(); + return ret; + } + + internal static void DeAlloc(AudioData audioData) + { + if (audioData != null) + { + ReferencePool.Release(audioData); + audioData.RecycleToPool(); + } + } + } + + /// + /// 音频代理辅助器。 + /// + public class AudioAgent + { + private int _instanceId; + private AudioSource _source; + private AudioData _audioData; + private AudioModuleImp _audioModuleImp; + private Transform _transform; + float _volume = 1.0f; + float _duration; + private float _fadeoutTimer; + private const float FadeoutDuration = 0.2f; + private bool _inPool; + + private Transform _bindTransform; + + /// + /// 音频代理辅助器运行时状态。 + /// + AudioAgentRuntimeState _audioAgentRuntimeState = AudioAgentRuntimeState.None; + + /// + /// 音频代理加载请求。 + /// + class LoadRequest + { + public string Path; + public bool BAsync; + public bool BInPool; + public Transform BindTransform; + } + + /// + /// 音频代理加载请求。 + /// + LoadRequest _pendingLoad = null; + + /// + /// AudioSource实例化Id + /// + public int InstanceId => _instanceId; + + /// + /// 资源操作句柄。 + /// + public AudioData AudioData => _audioData; + + /// + /// 音频代理辅助器音频大小。 + /// + public float Volume + { + set + { + if (_source != null) + { + _volume = value; + _source.volume = _volume; + } + } + get => _volume; + } + + /// + /// 音频代理辅助器当前是否空闲。 + /// + public bool IsFree + { + get + { + if (_source != null) + { + return _audioAgentRuntimeState == AudioAgentRuntimeState.End; + } + else + { + return true; + } + } + } + + /// + /// 音频代理辅助器播放秒数。 + /// + public float Duration => _duration; + + /// + /// 音频代理辅助器当前音频长度。 + /// + public float Length + { + get + { + if (_source != null && _source.clip != null) + { + return _source.clip.length; + } + + return 0; + } + } + + /// + /// 音频代理辅助器实例位置。 + /// + public Vector3 Position + { + get => _transform.position; + set => _transform.position = value; + } + + /// + /// 音频代理辅助器是否循环。 + /// + public bool IsLoop + { + get + { + if (_source != null) + { + return _source.loop; + } + else + { + return false; + } + } + set + { + if (_source != null) + { + _source.loop = value; + } + } + } + + /// + /// 音频代理辅助器是否正在播放。 + /// + internal bool IsPlaying + { + get + { + if (_source != null && _source.isPlaying) + { + return true; + } + else + { + return false; + } + } + } + + /// + /// 音频代理辅助器获取当前声源。 + /// + /// + public AudioSource AudioResource() + { + return _source; + } + + /// + /// 创建音频代理辅助器。 + /// + /// 生效路径。 + /// 是否异步。 + /// 音频轨道(类别)。 + /// 是否池化。 + /// + /// 音频代理辅助器。 + public static AudioAgent Create(string path, bool bAsync, AudioCategory audioCategory, bool bInPool = false, Transform bindTransform = null) + { + AudioAgent audioAgent = new AudioAgent(); + audioAgent.Init(audioCategory); + audioAgent.Load(path, bAsync, bInPool, bindTransform); + return audioAgent; + } + + /// + /// 初始化音频代理辅助器。 + /// + /// 音频轨道(类别)。 + /// 音频代理辅助器编号。 + public void Init(AudioCategory audioCategory, int index = 0) + { + _audioModuleImp = ModuleImpSystem.GetModule(); + GameObject host = new GameObject(Utility.Text.Format("Audio Agent Helper - {0} - {1}", audioCategory.AudioMixerGroup.name, index)); + host.transform.SetParent(audioCategory.InstanceRoot); + host.transform.localPosition = Vector3.zero; + _transform = host.transform; + _source = host.AddComponent(); + _source.playOnAwake = false; + + AudioMixerGroup[] audioMixerGroups; + if (audioCategory.AudioMixerGroup.name == "Sound") + { + audioMixerGroups = audioCategory.AudioMixer.FindMatchingGroups(Utility.Text.Format("Master/{0}/{1}", audioCategory.AudioMixerGroup.name, + $"{audioCategory.AudioMixerGroup.name} - {index % 4}")); + _source.spatialBlend = 1; + _source.spread = 180f; + } + else + { + audioMixerGroups = audioCategory.AudioMixer.FindMatchingGroups(Utility.Text.Format("Master/{0}/{1}", audioCategory.AudioMixerGroup.name, + $"{audioCategory.AudioMixerGroup.name} - {index}")); + } + + _source.outputAudioMixerGroup = audioMixerGroups.Length > 0 ? audioMixerGroups[0] : audioCategory.AudioMixerGroup; + _source.rolloffMode = audioCategory.AudioGroupConfig.audioRolloffMode; + _source.minDistance = audioCategory.AudioGroupConfig.minDistance; + _source.maxDistance = audioCategory.AudioGroupConfig.maxDistance; + _instanceId = _source.GetInstanceID(); + _bindTransform = null; + } + + /// + /// 加载音频代理辅助器。 + /// + /// 资源路径。 + /// 是否异步。 + /// 是否池化。 + /// + public void Load(string path, bool bAsync, bool bInPool = false, Transform bindTransform = null) + { + _inPool = bInPool; + _bindTransform = bindTransform; + if (_audioAgentRuntimeState == AudioAgentRuntimeState.None || _audioAgentRuntimeState == AudioAgentRuntimeState.End) + { + _duration = 0; + if (!string.IsNullOrEmpty(path)) + { + if (bInPool && _audioModuleImp.AudioClipPool.TryGetValue(path, out var operationHandle)) + { + OnAssetLoadComplete(operationHandle); + return; + } + + if (bAsync) + { + _audioAgentRuntimeState = AudioAgentRuntimeState.Loading; + AssetHandle handle = YooAssets.LoadAssetAsync(path); + handle.Completed += OnAssetLoadComplete; + } + else + { + AssetHandle handle = YooAssets.LoadAssetSync(path); + OnAssetLoadComplete(handle); + } + } + } + else + { + _pendingLoad = new LoadRequest { Path = path, BAsync = bAsync, BInPool = bInPool, BindTransform = bindTransform }; + + if (_audioAgentRuntimeState == AudioAgentRuntimeState.Playing) + { + Stop(true); + } + } + } + + /// + /// 停止播放音频代理辅助器。 + /// + /// 是否渐出。 + public void Stop(bool fadeout = false) + { + if (_source != null) + { + if (fadeout) + { + _fadeoutTimer = FadeoutDuration; + _audioAgentRuntimeState = AudioAgentRuntimeState.FadingOut; + } + else + { + _source.Stop(); + _audioAgentRuntimeState = AudioAgentRuntimeState.End; + } + } + } + + /// + /// 暂停音频代理辅助器。 + /// + public void Pause() + { + if (_source != null) + { + _source.Pause(); + } + } + + /// + /// 取消暂停音频代理辅助器。 + /// + public void UnPause() + { + if (_source != null) + { + _source.UnPause(); + } + } + + /// + /// 资源加载完成。 + /// + /// 资源操作句柄。 + void OnAssetLoadComplete(AssetHandle handle) + { + if (handle != null) + { + if (_inPool) + { + _audioModuleImp.AudioClipPool.TryAdd(handle.GetAssetInfo().Address, handle); + } + } + + if (_pendingLoad != null) + { + if (!_inPool && handle != null) + { + handle.Dispose(); + } + + _audioAgentRuntimeState = AudioAgentRuntimeState.End; + string path = _pendingLoad.Path; + bool bAsync = _pendingLoad.BAsync; + bool bInPool = _pendingLoad.BInPool; + Transform bindTransform = _pendingLoad.BindTransform; + _pendingLoad = null; + Load(path, bAsync, bInPool, bindTransform); + } + else if (handle != null) + { + if (_audioData != null) + { + AudioData.DeAlloc(_audioData); + _audioData = null; + } + + _audioData = AudioData.Alloc(handle, _inPool); + + _source.clip = handle.AssetObject as AudioClip; + if (_source.clip != null) + { + _source.Play(); + _audioAgentRuntimeState = AudioAgentRuntimeState.Playing; + } + else + { + _audioAgentRuntimeState = AudioAgentRuntimeState.End; + } + } + else + { + _audioAgentRuntimeState = AudioAgentRuntimeState.End; + } + } + + /// + /// 轮询音频代理辅助器。 + /// + /// 逻辑流逝时间,以秒为单位。 + public void Update(float elapseSeconds) + { + if (_audioAgentRuntimeState == AudioAgentRuntimeState.Playing) + { + if (_bindTransform != null) + { + _transform.position = _bindTransform.position; + } + + if (!_source.isPlaying) + { + _audioAgentRuntimeState = AudioAgentRuntimeState.End; + } + } + else if (_audioAgentRuntimeState == AudioAgentRuntimeState.FadingOut) + { + if (_fadeoutTimer > 0f) + { + _fadeoutTimer -= elapseSeconds; + _source.volume = _volume * _fadeoutTimer / FadeoutDuration; + } + else + { + Stop(); + if (_pendingLoad != null) + { + string path = _pendingLoad.Path; + bool bAsync = _pendingLoad.BAsync; + bool bInPool = _pendingLoad.BInPool; + Transform bindTransform = _pendingLoad.BindTransform; + _pendingLoad = null; + Load(path, bAsync, bInPool, bindTransform); + } + + _source.volume = _volume; + } + } + + _duration += elapseSeconds; + } + + /// + /// 销毁音频代理辅助器。 + /// + public void Destroy() + { + if (_transform != null) + { + Object.Destroy(_transform.gameObject); + } + + if (_audioData != null) + { + AudioData.DeAlloc(_audioData); + } + + _bindTransform = null; + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgent.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgent.cs.meta new file mode 100644 index 00000000..1b0c8d41 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6d4824a14181a0d4d921eb98fec100fe +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgentRuntimeState.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgentRuntimeState.cs new file mode 100644 index 00000000..74371281 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgentRuntimeState.cs @@ -0,0 +1,33 @@ +namespace SHFrame +{ + /// + /// 音频代理辅助器运行时状态枚举。 + /// + public enum AudioAgentRuntimeState + { + /// + /// 无状态。 + /// + None, + + /// + /// 加载中状态。 + /// + Loading, + + /// + /// 播放中状态。 + /// + Playing, + + /// + /// 渐渐消失状态。 + /// + FadingOut, + + /// + /// 结束状态。 + /// + End, + }; +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgentRuntimeState.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgentRuntimeState.cs.meta new file mode 100644 index 00000000..59ab5a21 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioAgentRuntimeState.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f4ad4b8dc4cf4ecd813e58ec37406ba0 +timeCreated: 1694849619 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioCategory.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioCategory.cs new file mode 100644 index 00000000..5ef6c34f --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioCategory.cs @@ -0,0 +1,193 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Audio; + +namespace SHFrame +{ + /// + /// 音频轨道(类别)。 + /// + [Serializable] + public class AudioCategory + { + [SerializeField] private AudioMixer audioMixer = null; + public List AudioAgents; + private readonly AudioMixerGroup _audioMixerGroup; + private AudioGroupConfig _audioGroupConfig; + private int _maxChannel; + private bool _bEnable = true; + + /// + /// 音频混响器。 + /// + public AudioMixer AudioMixer => audioMixer; + + /// + /// 音频混响器组。 + /// + public AudioMixerGroup AudioMixerGroup => _audioMixerGroup; + + /// + /// 音频组配置。 + /// + public AudioGroupConfig AudioGroupConfig => _audioGroupConfig; + + /// + /// 实例化根节点。 + /// + public Transform InstanceRoot { private set; get; } + + /// + /// 音频轨道是否启用。 + /// + public bool Enable + { + get => _bEnable; + set + { + if (_bEnable != value) + { + _bEnable = value; + if (!_bEnable) + { + foreach (var audioAgent in AudioAgents) + { + if (audioAgent != null) + { + audioAgent.Stop(); + } + } + } + } + } + } + + /// + /// 音频轨道构造函数。 + /// + /// 最大Channel。 + /// 音频混响器。 + /// 音频轨道组配置。 + public AudioCategory(int maxChannel, AudioMixer audioMixer, AudioGroupConfig audioGroupConfig) + { + this.audioMixer = audioMixer; + _maxChannel = maxChannel; + _audioGroupConfig = audioGroupConfig; + AudioMixerGroup[] audioMixerGroups = audioMixer.FindMatchingGroups(Utility.Text.Format("Master/{0}", audioGroupConfig.AudioType.ToString())); + if (audioMixerGroups.Length > 0) + { + _audioMixerGroup = audioMixerGroups[0]; + } + else + { + _audioMixerGroup = audioMixer.FindMatchingGroups("Master")[0]; + } + + AudioAgents = new List(32); + InstanceRoot = new GameObject(Utility.Text.Format("Audio Category - {0}", _audioMixerGroup.name)).transform; + InstanceRoot.SetParent(GameModule.Audio.InstanceRoot); + for (int index = 0; index < _maxChannel; index++) + { + AudioAgent audioAgent = new AudioAgent(); + audioAgent.Init(this, index); + AudioAgents.Add(audioAgent); + } + } + + /// + /// 增加音频。 + /// + /// + public void AddAudio(int num) + { + _maxChannel += num; + for (int i = 0; i < num; i++) + { + AudioAgents.Add(null); + } + } + + /// + /// 播放音频。 + /// + /// + /// + /// + /// + /// + public AudioAgent Play(string path, bool bAsync, bool bInPool = false, Transform bindTransform = null) + { + if (!_bEnable) + { + return null; + } + + int freeChannel = -1; + float duration = -1; + + for (int i = 0; i < AudioAgents.Count; i++) + { + if (AudioAgents[i].AudioData?.AssetOperationHandle == null || AudioAgents[i].IsFree) + { + freeChannel = i; + break; + } + else if (AudioAgents[i].Duration > duration) + { + duration = AudioAgents[i].Duration; + freeChannel = i; + } + } + + if (freeChannel >= 0) + { + if (AudioAgents[freeChannel] == null) + { + AudioAgents[freeChannel] = AudioAgent.Create(path, bAsync, this, bInPool, bindTransform); + } + else + { + AudioAgents[freeChannel].Load(path, bAsync, bInPool, bindTransform); + } + + return AudioAgents[freeChannel]; + } + else + { + Log.Error($"Here is no channel to play audio {path}"); + return null; + } + } + + /// + /// 暂停音频。 + /// + /// 是否渐出 + public void Stop(bool fadeout) + { + for (int i = 0; i < AudioAgents.Count; ++i) + { + if (AudioAgents[i] != null) + { + AudioAgents[i].Stop(fadeout); + } + } + } + + /// + /// 音频轨道轮询。 + /// + /// 逻辑流逝时间,以秒为单位。 + public void Update(float elapseSeconds) + { + for (int i = 0; i < AudioAgents.Count; ++i) + { + if (AudioAgents[i] != null) + { + AudioAgents[i].Update(elapseSeconds); + } + } + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioCategory.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioCategory.cs.meta new file mode 100644 index 00000000..04711aac --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioCategory.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6aefbd5a06fe1784590d373a93d1cf8a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioGroupConfig.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioGroupConfig.cs new file mode 100644 index 00000000..a0701b44 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioGroupConfig.cs @@ -0,0 +1,48 @@ +using System; +using UnityEngine; + +namespace SHFrame +{ + /// + /// 音频轨道组配置。 + /// + [Serializable] + public sealed class AudioGroupConfig + { + [SerializeField] private string m_Name = null; + + [SerializeField] private bool m_Mute = false; + + [SerializeField, Range(0f, 1f)] private float m_Volume = 1f; + + [SerializeField] private int m_AgentHelperCount = 1; + + public AudioType AudioType; + + public AudioRolloffMode audioRolloffMode = AudioRolloffMode.Logarithmic; + + public float minDistance = 1f; + + public float maxDistance = 500f; + + public string Name + { + get { return m_Name; } + } + + public bool Mute + { + get { return m_Mute; } + } + + public float Volume + { + get { return m_Volume; } + } + + public int AgentHelperCount + { + get { return m_AgentHelperCount; } + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioGroupConfig.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioGroupConfig.cs.meta new file mode 100644 index 00000000..2a2bb7c8 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioGroupConfig.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 067935df275fd1340a935f81e7f3a768 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModule.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModule.cs new file mode 100644 index 00000000..46625bda --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModule.cs @@ -0,0 +1,217 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Audio; + +namespace SHFrame +{ + /// + /// 音效管理,为游戏提供统一的音效播放接口。 + /// + /// 场景3D音效挂到场景物件、技能3D音效挂到技能特效上,并在AudioSource的Output上设置对应分类的AudioMixerGroup + public class AudioModule : Module + { + [SerializeField] private AudioMixer m_AudioMixer; + + [SerializeField] private Transform m_InstanceRoot = null; + + [SerializeField] private AudioGroupConfig[] m_AudioGroupConfigs = null; + + public IAudioModule AudioModuleImp; + + #region Public Propreties + + /// + /// 音频混响器。 + /// + public AudioMixer MAudioMixer => m_AudioMixer; + + /// + /// 实例化根节点。 + /// + public Transform InstanceRoot + { + get => m_InstanceRoot; + set => m_InstanceRoot = value; + } + + /// + /// 总音量控制。 + /// + public float Volume + { + get => AudioModuleImp.Volume; + set => AudioModuleImp.Volume = value; + } + + /// + /// 总开关。 + /// + public bool Enable + { + get => AudioModuleImp.Enable; + set => AudioModuleImp.Enable = value; + } + + /// + /// 音乐音量。 + /// + public float MusicVolume + { + get => AudioModuleImp.MusicVolume; + set => AudioModuleImp.MusicVolume = value; + } + + /// + /// 音效音量。 + /// + public float SoundVolume + { + get => AudioModuleImp.SoundVolume; + set => AudioModuleImp.SoundVolume = value; + } + + /// + /// UI音效音量。 + /// + public float UISoundVolume + { + get => AudioModuleImp.UISoundVolume; + set => AudioModuleImp.UISoundVolume = value; + } + + /// + /// 语音音量。 + /// + public float VoiceVolume + { + get => AudioModuleImp.VoiceVolume; + set => AudioModuleImp.VoiceVolume = value; + } + + /// + /// 音乐开关 + /// + public bool MusicEnable + { + get => AudioModuleImp.MusicEnable; + set => AudioModuleImp.MusicEnable = value; + } + + /// + /// 音效开关。 + /// + public bool SoundEnable + { + get => AudioModuleImp.SoundEnable; + set => AudioModuleImp.SoundEnable = value; + } + + /// + /// UI音效开关。 + /// + public bool UISoundEnable + { + get => AudioModuleImp.UISoundEnable; + set => AudioModuleImp.UISoundEnable = value; + } + + /// + /// 语音开关。 + /// + public bool VoiceEnable + { + get => AudioModuleImp.VoiceEnable; + set => AudioModuleImp.VoiceEnable = value; + } + + #endregion + + /// + /// 初始化音频模块。 + /// + void Start() + { + if (AudioModuleImp == null) + { + AudioModuleImp = ModuleImpSystem.GetModule(); + } + + if (m_InstanceRoot == null) + { + m_InstanceRoot = new GameObject("AudioModule Instances").transform; + m_InstanceRoot.SetParent(gameObject.transform); + m_InstanceRoot.localScale = Vector3.one; + } + + AudioModuleImp.Initialize(m_AudioGroupConfigs, m_InstanceRoot, m_AudioMixer); + } + + /// + /// 重启音频模块。 + /// + public void Restart() + { + AudioModuleImp.Restart(); + } + + /// + /// 播放,如果超过最大发声数采用fadeout的方式复用最久播放的AudioSource。 + /// + /// 声音类型 + /// 声音文件路径 + /// 是否循环播放> + /// 音量(0-1.0) + /// 是否异步加载 + /// 是否支持资源池 + /// + public AudioAgent Play(AudioType type, string path, bool bLoop = false, float volume = 1.0f, bool bAsync = false, bool bInPool = false, Transform bindTransform = null) + { + return AudioModuleImp.Play(type, path, bLoop, volume, bAsync, bInPool, bindTransform); + } + + /// + /// 停止某类声音播放。 + /// + /// 声音类型。 + /// 是否渐消。 + public void Stop(AudioType type, bool fadeout) + { + AudioModuleImp.Stop(type, fadeout); + } + + /// + /// 停止所有声音。 + /// + /// 是否渐消。 + public void StopAll(bool fadeout) + { + AudioModuleImp.StopAll(fadeout); + } + + /// + /// 预先加载AudioClip,并放入对象池。 + /// + /// AudioClip的AssetPath集合。 + public void PutInAudioPool(List list) + { + AudioModuleImp.PutInAudioPool(list); + } + + /// + /// 将部分AudioClip从对象池移出。 + /// + /// AudioClip的AssetPath集合。 + public void RemoveClipFromPool(List list) + { + AudioModuleImp.RemoveClipFromPool(list); + } + + /// + /// 清空AudioClip的对象池。 + /// + public void CleanSoundPool() + { + AudioModuleImp.CleanSoundPool(); + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModule.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModule.cs.meta new file mode 100644 index 00000000..0ad9335f --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModule.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7d0b3cff83fd3874394b1b456bb54dab +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModuleImp.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModuleImp.cs new file mode 100644 index 00000000..59a3a350 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModuleImp.cs @@ -0,0 +1,561 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using UnityEngine; +using UnityEngine.Audio; +using YooAsset; + +namespace SHFrame +{ + [UpdateModule] + internal class AudioModuleImp : ModuleImp, IAudioModule + { + private AudioMixer _audioMixer; + private Transform _instanceRoot = null; + private AudioGroupConfig[] _audioGroupConfigs = null; + + private float _volume = 1f; + private bool _enable = true; + private readonly AudioCategory[] _audioCategories = new AudioCategory[(int)AudioType.Max]; + private readonly float[] _categoriesVolume = new float[(int)AudioType.Max]; + public readonly Dictionary AudioClipPool = new Dictionary(); + private bool _bUnityAudioDisabled = false; + + #region Public Propreties + + /// + /// 音频混响器。 + /// + public AudioMixer AudioMixer => _audioMixer; + + /// + /// 实例化根节点。 + /// + public Transform InstanceRoot => _instanceRoot; + + /// + /// 总音量控制。 + /// + public float Volume + { + get + { + if (_bUnityAudioDisabled) + { + return 0.0f; + } + + return _volume; + } + set + { + if (_bUnityAudioDisabled) + { + return; + } + + _volume = value; + AudioListener.volume = _volume; + } + } + + /// + /// 总开关。 + /// + public bool Enable + { + get + { + if (_bUnityAudioDisabled) + { + return false; + } + + return _enable; + } + set + { + if (_bUnityAudioDisabled) + { + return; + } + + _enable = value; + AudioListener.volume = _enable ? _volume : 0f; + } + } + + /// + /// 音乐音量。 + /// + public float MusicVolume + { + get + { + if (_bUnityAudioDisabled) + { + return 0.0f; + } + + return _categoriesVolume[(int)AudioType.Music]; + } + set + { + if (_bUnityAudioDisabled) + { + return; + } + + float volume = Mathf.Clamp(value, 0.0001f, 1.0f); + _categoriesVolume[(int)AudioType.Music] = volume; + _audioMixer.SetFloat("MusicVolume", Mathf.Log10(volume) * 20f); + } + } + + /// + /// 音效音量。 + /// + public float SoundVolume + { + get + { + if (_bUnityAudioDisabled) + { + return 0.0f; + } + + return _categoriesVolume[(int)AudioType.Sound]; + } + set + { + if (_bUnityAudioDisabled) + { + return; + } + + float volume = Mathf.Clamp(value, 0.0001f, 1.0f); + _categoriesVolume[(int)AudioType.Sound] = volume; + _audioMixer.SetFloat("SoundVolume", Mathf.Log10(volume) * 20f); + } + } + + /// + /// UI音效音量。 + /// + public float UISoundVolume + { + get + { + if (_bUnityAudioDisabled) + { + return 0.0f; + } + + return _categoriesVolume[(int)AudioType.UISound]; + } + set + { + if (_bUnityAudioDisabled) + { + return; + } + + float volume = Mathf.Clamp(value, 0.0001f, 1.0f); + _categoriesVolume[(int)AudioType.UISound] = volume; + _audioMixer.SetFloat("UISoundVolume", Mathf.Log10(volume) * 20f); + } + } + + /// + /// 语音音量。 + /// + public float VoiceVolume + { + get + { + if (_bUnityAudioDisabled) + { + return 0.0f; + } + + return _categoriesVolume[(int)AudioType.Voice]; + } + set + { + if (_bUnityAudioDisabled) + { + return; + } + + float volume = Mathf.Clamp(value, 0.0001f, 1.0f); + _categoriesVolume[(int)AudioType.Voice] = volume; + _audioMixer.SetFloat("VoiceVolume", Mathf.Log10(volume) * 20f); + } + } + + /// + /// 音乐开关 + /// + public bool MusicEnable + { + get + { + if (_bUnityAudioDisabled) + { + return false; + } + + if (_audioMixer.GetFloat("MusicVolume", out var db)) + { + return db > -80f; + } + else + { + return false; + } + } + set + { + if (_bUnityAudioDisabled) + { + return; + } + + _audioCategories[(int)AudioType.Music].Enable = value; + + // 音乐采用0音量方式,避免恢复播放时的复杂逻辑 + if (value) + { + _audioMixer.SetFloat("MusicVolume", Mathf.Log10(_categoriesVolume[(int)AudioType.Music]) * 20f); + } + else + { + _audioMixer.SetFloat("MusicVolume", -80f); + } + } + } + + /// + /// 音效开关。 + /// + public bool SoundEnable + { + get + { + if (_bUnityAudioDisabled) + { + return false; + } + + return _audioCategories[(int)AudioType.Sound].Enable; + } + set + { + if (_bUnityAudioDisabled) + { + return; + } + + _audioCategories[(int)AudioType.Sound].Enable = value; + } + } + + /// + /// UI音效开关。 + /// + public bool UISoundEnable + { + get + { + if (_bUnityAudioDisabled) + { + return false; + } + + return _audioCategories[(int)AudioType.UISound].Enable; + } + set + { + if (_bUnityAudioDisabled) + { + return; + } + + _audioCategories[(int)AudioType.UISound].Enable = value; + } + } + + /// + /// 语音开关。 + /// + public bool VoiceEnable + { + get + { + if (_bUnityAudioDisabled) + { + return false; + } + + return _audioCategories[(int)AudioType.Voice].Enable; + } + set + { + if (_bUnityAudioDisabled) + { + return; + } + + _audioCategories[(int)AudioType.Voice].Enable = value; + } + } + + #endregion + + internal override void Shutdown() + { + StopAll(fadeout: false); + CleanSoundPool(); + } + + /// + /// 初始化音频模块。 + /// + /// 音频轨道组配置。 + /// 实例化根节点。 + /// 音频混响器。 + /// + public void Initialize(AudioGroupConfig[] audioGroupConfigs, Transform instanceRoot = null, AudioMixer audioMixer = null) + { + if (_instanceRoot == null) + { + _instanceRoot = instanceRoot; + } + + if (audioGroupConfigs == null) + { + throw new GameFrameworkException("AudioGroupConfig[] is invalid."); + } + + _audioGroupConfigs = audioGroupConfigs; + + if (_instanceRoot == null) + { + _instanceRoot = new GameObject("AudioModule Instances").transform; + _instanceRoot.SetParent(GameModule.Audio.transform); + _instanceRoot.localScale = Vector3.one; + GameModule.Audio.InstanceRoot = _instanceRoot; + } + + try + { +#if UNITY_EDITOR + TypeInfo typeInfo = typeof(AudioSettings).GetTypeInfo(); + PropertyInfo propertyInfo = typeInfo.GetDeclaredProperty("unityAudioDisabled"); + _bUnityAudioDisabled = (bool)propertyInfo.GetValue(null); + if (_bUnityAudioDisabled) + { + return; + } +#endif + } + catch (Exception e) + { + Log.Error(e.ToString()); + } + + if (audioMixer != null) + { + _audioMixer = audioMixer; + } + + if (_audioMixer == null) + { + _audioMixer = Resources.Load("AudioMixer"); + } + + for (int index = 0; index < (int)AudioType.Max; ++index) + { + AudioType audioType = (AudioType)index; + AudioGroupConfig audioGroupConfig = _audioGroupConfigs.First(t => t.AudioType == audioType); + _audioCategories[index] = new AudioCategory(audioGroupConfig.AgentHelperCount, _audioMixer, audioGroupConfig); + _categoriesVolume[index] = audioGroupConfig.Volume; + } + } + + /// + /// 重启音频模块。 + /// + public void Restart() + { + if (_bUnityAudioDisabled) + { + return; + } + + CleanSoundPool(); + + for (int i = 0; i < (int)AudioType.Max; ++i) + { + var audioCategory = _audioCategories[i]; + if (audioCategory != null) + { + for (int j = 0; j < audioCategory.AudioAgents.Count; ++j) + { + var audioAgent = audioCategory.AudioAgents[j]; + if (audioAgent != null) + { + audioAgent.Destroy(); + audioAgent = null; + } + } + } + + audioCategory = null; + } + + Initialize(_audioGroupConfigs); + } + + /// + /// 播放,如果超过最大发声数采用fadeout的方式复用最久播放的AudioSource。 + /// + /// 声音类型 + /// 声音文件路径 + /// 是否循环播放> + /// 音量(0-1.0) + /// 是否异步加载 + /// 是否支持资源池 + /// + public AudioAgent Play(AudioType type, string path, bool bLoop = false, float volume = 1.0f, bool bAsync = false, bool bInPool = false, Transform bindTransform = null) + { + if (_bUnityAudioDisabled) + { + return null; + } + + AudioAgent audioAgent = _audioCategories[(int)type].Play(path, bAsync, bInPool, bindTransform); + { + if (audioAgent != null) + { + audioAgent.IsLoop = bLoop; + audioAgent.Volume = volume; + } + + return audioAgent; + } + } + + /// + /// 停止某类声音播放。 + /// + /// 声音类型。 + /// 是否渐消。 + public void Stop(AudioType type, bool fadeout) + { + if (_bUnityAudioDisabled) + { + return; + } + + _audioCategories[(int)type].Stop(fadeout); + } + + /// + /// 停止所有声音。 + /// + /// 是否渐消。 + public void StopAll(bool fadeout) + { + if (_bUnityAudioDisabled) + { + return; + } + + for (int i = 0; i < (int)AudioType.Max; ++i) + { + if (_audioCategories[i] != null) + { + _audioCategories[i].Stop(fadeout); + } + } + } + + /// + /// 预先加载AudioClip,并放入对象池。 + /// + /// AudioClip的AssetPath集合。 + public void PutInAudioPool(List list) + { + if (_bUnityAudioDisabled) + { + return; + } + + foreach (string path in list) + { + if (AudioClipPool != null && !AudioClipPool.ContainsKey(path)) + { + AssetHandle assetData = YooAssets.LoadAssetSync(path); + AudioClipPool?.Add(path, assetData); + } + } + } + + /// + /// 将部分AudioClip从对象池移出。 + /// + /// AudioClip的AssetPath集合。 + public void RemoveClipFromPool(List list) + { + if (_bUnityAudioDisabled) + { + return; + } + + foreach (string path in list) + { + if (AudioClipPool.ContainsKey(path)) + { + AudioClipPool[path].Dispose(); + AudioClipPool.Remove(path); + } + } + } + + /// + /// 清空AudioClip的对象池。 + /// + public void CleanSoundPool() + { + if (_bUnityAudioDisabled) + { + return; + } + + foreach (var dic in AudioClipPool) + { + dic.Value.Dispose(); + } + + AudioClipPool.Clear(); + } + + /// + /// 音频模块轮询。 + /// + /// 逻辑流逝时间,以秒为单位。 + /// 真实流逝时间,以秒为单位。 + internal override void Update(float elapseSeconds, float realElapseSeconds) + { + foreach (var audioCategory in _audioCategories) + { + if (audioCategory != null) + { + audioCategory.Update(elapseSeconds); + } + } + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModuleImp.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModuleImp.cs.meta new file mode 100644 index 00000000..c67de972 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioModuleImp.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c35bbf6a82844c72b71b9bbe44f44a1e +timeCreated: 1694847017 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioType.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioType.cs new file mode 100644 index 00000000..0dade2bd --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioType.cs @@ -0,0 +1,34 @@ +namespace SHFrame +{ + /// + /// 音效分类,可分别关闭/开启对应分类音效。 + /// + /// 命名与AudioMixer中分类名保持一致。 + public enum AudioType + { + /// + /// 声音音效。 + /// + Sound, + + /// + /// UI声效。 + /// + UISound, + + /// + /// 背景音乐音效。 + /// + Music, + + /// + /// 人声音效。 + /// + Voice, + + /// + /// 最大。 + /// + Max + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioType.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioType.cs.meta new file mode 100644 index 00000000..2353c7c9 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/AudioType.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b4b86f93180273b4996d4f8c428def09 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/IAudioModule.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/IAudioModule.cs new file mode 100644 index 00000000..5629bcd6 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/IAudioModule.cs @@ -0,0 +1,116 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Audio; + +namespace SHFrame +{ + public interface IAudioModule + { + /// + /// 总音量控制。 + /// + public float Volume { get; set; } + + /// + /// 总开关。 + /// + public bool Enable { get; set; } + + /// + /// 音乐音量 + /// + public float MusicVolume { get; set; } + + /// + /// 音效音量。 + /// + public float SoundVolume { get; set; } + + /// + /// UI音效音量。 + /// + public float UISoundVolume { get; set; } + + /// + /// 语音音量。 + /// + public float VoiceVolume { get; set; } + + /// + /// 音乐开关。 + /// + public bool MusicEnable { get; set; } + + /// + /// 音效开关。 + /// + public bool SoundEnable { get; set; } + + /// + /// UI音效开关。 + /// + public bool UISoundEnable { get; set; } + + /// + /// 语音开关。 + /// + public bool VoiceEnable { get; set; } + + /// + /// 初始化音频模块。 + /// + /// 音频轨道组配置。 + /// 实例化根节点。 + /// 音频混响器。 + /// + public void Initialize(AudioGroupConfig[] audioGroupConfigs, Transform instanceRoot = null, AudioMixer audioMixer = null); + + /// + /// 重启音频模块。 + /// + public void Restart(); + + /// + /// 播放音频接口。 + /// + /// 如果超过最大发声数采用fadeout的方式复用最久播放的AudioSource。 + /// 声音类型。 + /// 声音文件路径。 + /// 是否循环播放。> + /// 音量(0-1.0)。 + /// 是否异步加载。 + /// 是否支持资源池。 + /// + public AudioAgent Play(AudioType type, string path, bool bLoop = false, float volume = 1.0f, bool bAsync = false, bool bInPool = false, Transform bindTransform = null); + + /// + /// 停止某类声音播放。 + /// + /// 声音类型。 + /// 是否渐消。 + public void Stop(AudioType type, bool fadeout); + + /// + /// 停止所有声音。 + /// + /// 是否渐消。 + public void StopAll(bool fadeout); + + /// + /// 预先加载AudioClip,并放入对象池。 + /// + /// AudioClip的AssetPath集合。 + public void PutInAudioPool(List list); + + /// + /// 将部分AudioClip从对象池移出。 + /// + /// AudioClip的AssetPath集合。 + public void RemoveClipFromPool(List list); + + /// + /// 清空AudioClip的对象池。 + /// + public void CleanSoundPool(); + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/IAudioModule.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/IAudioModule.cs.meta new file mode 100644 index 00000000..cd3170b9 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/IAudioModule.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f2a332020228453d8546d5d74aa60f9c +timeCreated: 1694847151 \ No newline at end of file diff --git a/JNFrame2/Assets/TextMesh Pro/Resources.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/Resources.meta similarity index 77% rename from JNFrame2/Assets/TextMesh Pro/Resources.meta rename to JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/Resources.meta index cfc142f3..270c429b 100644 --- a/JNFrame2/Assets/TextMesh Pro/Resources.meta +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/Resources.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 243e06394e614e5d99fab26083b707fa +guid: 64a654fc0d761c24e9676a185ea4df8e folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/Resources/AudioMixer.mixer b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/Resources/AudioMixer.mixer new file mode 100644 index 00000000..284455cc --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/Resources/AudioMixer.mixer @@ -0,0 +1,708 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!244 &-8255999005317483048 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 5256fbc85eb3f884eb780f730c8da825 + m_EffectName: Attenuation + m_MixLevel: 989fcb1cc28d4de4ea6e56c14101e674 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &-8165904320333843496 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 6b8ac75d99b7e57489701e084ea19b1f + m_EffectName: Attenuation + m_MixLevel: b19e64315aff6dc4a81ae36b22fc0492 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &-7861682458482441818 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: dcc48474d251d554e9f6f95668853a39 + m_EffectName: Receive + m_MixLevel: e6248274fab455749bc046d72eace6de + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!243 &-7758028812591520460 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Sound - 2 + m_AudioMixer: {fileID: 24100000} + m_GroupID: 039cd795affa7134a8d5f5d43d3b659d + m_Children: [] + m_Volume: 2a8ce0f3383c3f0468a04fa3fc5e317d + m_Pitch: b47f0c73299cd9b4fba9896e70683903 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: -3825599753161013374} + m_UserColorIndex: 2 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!243 &-6280614258348125054 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Sound - 1 + m_AudioMixer: {fileID: 24100000} + m_GroupID: c0d40106c2ffb1a44bd48f50b210ee20 + m_Children: [] + m_Volume: f62a8b3fe89df00409532af739ee4e02 + m_Pitch: 77212647508232a458ac7d48fb55d037 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: -1890011256548497850} + m_UserColorIndex: 2 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!244 &-4958177229083455073 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 104113b95764fe344a5d25469377c800 + m_EffectName: Attenuation + m_MixLevel: 9ef29befaad178d4386e9d5ac022f964 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!243 &-4372808504093502661 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Sound - 3 + m_AudioMixer: {fileID: 24100000} + m_GroupID: 5f20d1b8f9ac1914dac8beae718e7d40 + m_Children: [] + m_Volume: e54edf7c1bf7ee44297e65adce5b10b7 + m_Pitch: 8542b6bfd7b7bfc4d9b961ba97edf0d2 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: 6637688299338053042} + m_UserColorIndex: 2 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!243 &-4209890294574411305 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Music + m_AudioMixer: {fileID: 24100000} + m_GroupID: efe8591c00084024187b9df78858c0af + m_Children: + - {fileID: 1543978434442340687} + m_Volume: 6d4c2b8bc0ef38d44b2fbff2b3298ab4 + m_Pitch: 862389c428a73854ab442dd043008729 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: 246003612463095956} + m_UserColorIndex: 1 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!244 &-3825599753161013374 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: d1bbcc7cbe0a53c459c9064925118e41 + m_EffectName: Attenuation + m_MixLevel: e43bb5de098a2ec49807913fa5fdd2f7 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!243 &-3720557753501792270 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UISound - 1 + m_AudioMixer: {fileID: 24100000} + m_GroupID: e012b6d2e0501df43a88eb6beff8ae07 + m_Children: [] + m_Volume: 265eaf7c8910ab842a845c7bb5e570c4 + m_Pitch: bf3ca9b57c9a67b40944a59839b12f62 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: 5734415080786067514} + m_UserColorIndex: 3 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!243 &-3395020342500439107 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Voice + m_AudioMixer: {fileID: 24100000} + m_GroupID: 5117f9b5a365ec049a9d5891c563b893 + m_Children: + - {fileID: -1649243360580130678} + m_Volume: fe15a1b40c14ea646a13dacb15b6a73b + m_Pitch: 3398197a464677a4186e0cecd66bb13c + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: -8165904320333843496} + m_UserColorIndex: 6 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!243 &-2659745067392564156 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Sound - 0 + m_AudioMixer: {fileID: 24100000} + m_GroupID: 71c50c6b966d1f548a63193919ebfbad + m_Children: [] + m_Volume: 7835f2c4248cb3e43a1a773bab1f8b9d + m_Pitch: 30975daa872456b41bc18e0277e301e6 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: -284252157345190109} + m_UserColorIndex: 2 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!244 &-1890011256548497850 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 520975c71ea21c249b3cdf1f22032e57 + m_EffectName: Attenuation + m_MixLevel: 932e3e893621c5b46bff3c368017e689 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!243 &-1649243360580130678 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Voice - 0 + m_AudioMixer: {fileID: 24100000} + m_GroupID: f46651e8ad3c6034b8764fd635dda3fd + m_Children: [] + m_Volume: 0bc64c1c6cebbeb40ba2f724fdcaa257 + m_Pitch: fff252bdd985513469f8607e016fc594 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: -890847686165078200} + m_UserColorIndex: 6 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!244 &-998299258853400712 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: d7d19927abbe5584080506164cb4e644 + m_EffectName: Attenuation + m_MixLevel: 0b4264524e3eafc49b2daba7fba2ce97 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &-890847686165078200 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 4b41d8aa7a7944041a8b9428add83eff + m_EffectName: Attenuation + m_MixLevel: 73b7a9825978be245a1962a1001b0212 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &-284252157345190109 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 15668b74147caee41a72f695c3a2de56 + m_EffectName: Attenuation + m_MixLevel: f71e84fb9a62ff24cad690a0a86cc47e + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &-21257493329335984 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: c9a6f7a9214534644bf2e6d83ff86569 + m_EffectName: Distortion + m_MixLevel: 3f356cddae5dba949a6e8f4d20564d3e + m_Parameters: + - m_ParameterName: Level + m_GUID: 080be1914d960974481df4bebe2a2d77 + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!241 &24100000 +AudioMixerController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: AudioMixer + m_OutputGroup: {fileID: 0} + m_MasterGroup: {fileID: 24300002} + m_Snapshots: + - {fileID: 24500006} + m_StartSnapshot: {fileID: 24500006} + m_SuspendThreshold: -80 + m_EnableSuspend: 1 + m_UpdateMode: 0 + m_ExposedParameters: + - guid: 7835f2c4248cb3e43a1a773bab1f8b9d + name: SoundVolume0 + - guid: 41591fd4a32f4034f880ecbc14ee69f1 + name: MusicVolume0 + - guid: 6e0d1a5935a802d41b27d9e2fad3ba2f + name: UISoundVolume0 + - guid: 0bc64c1c6cebbeb40ba2f724fdcaa257 + name: VoiceVolume0 + - guid: f62a8b3fe89df00409532af739ee4e02 + name: SoundVolume1 + - guid: 265eaf7c8910ab842a845c7bb5e570c4 + name: UISoundVolume1 + - guid: 2a8ce0f3383c3f0468a04fa3fc5e317d + name: SoundVolume2 + - guid: e83be6d6c4ae85142a51f584159c4ff6 + name: UISoundVolume2 + - guid: e54edf7c1bf7ee44297e65adce5b10b7 + name: SoundVolume3 + - guid: 2dd26f9dadf160f4bbd77f307c3f4f2e + name: UISoundVolume3 + - guid: ba83e724007d7e9459f157db3a54a741 + name: MasterVolume + - guid: 6d4c2b8bc0ef38d44b2fbff2b3298ab4 + name: MusicVolume + - guid: 3bbd22597ed32714eb271cf06b098c63 + name: SoundVolume + - guid: 7d1c7ed015f5dba4f934c33ef330c5eb + name: UISoundVolume + - guid: fe15a1b40c14ea646a13dacb15b6a73b + name: VoiceVolume + m_AudioMixerGroupViews: + - guids: + - 72c1e77b100e3274fbfb88ca2ca12c4d + - efe8591c00084024187b9df78858c0af + - 648e49a020cf83346a9220d606e4ff39 + - 5117f9b5a365ec049a9d5891c563b893 + - f46651e8ad3c6034b8764fd635dda3fd + - 1cf576bd46399874d9494863d6502d94 + - 71c50c6b966d1f548a63193919ebfbad + - df986418fa3e4ae448a1909ffbb633fb + - 29257697b1e6be546aa0558e342a15a6 + - c0d40106c2ffb1a44bd48f50b210ee20 + - 039cd795affa7134a8d5f5d43d3b659d + - 5f20d1b8f9ac1914dac8beae718e7d40 + - e012b6d2e0501df43a88eb6beff8ae07 + - e84c25a476798ea43a2f6de217af7dba + - 98657376d4096a947953ee04d82830c1 + name: View + m_CurrentViewIndex: 0 + m_TargetSnapshot: {fileID: 24500006} +--- !u!243 &24300002 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Master + m_AudioMixer: {fileID: 24100000} + m_GroupID: 72c1e77b100e3274fbfb88ca2ca12c4d + m_Children: + - {fileID: -4209890294574411305} + - {fileID: 7235523536312936115} + - {fileID: 7185772616558441635} + - {fileID: -3395020342500439107} + m_Volume: ba83e724007d7e9459f157db3a54a741 + m_Pitch: a2d2b77391464bb4887f0bcd3835015b + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: 24400004} + m_UserColorIndex: 8 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!244 &24400004 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: ce944d90cb57ee4418426132d391d900 + m_EffectName: Attenuation + m_MixLevel: 891c3ec10e0ae1b42a95c83727d411f1 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!245 &24500006 +AudioMixerSnapshotController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Snapshot + m_AudioMixer: {fileID: 24100000} + m_SnapshotID: 91dee90f8902c804c9da7728ea355157 + m_FloatValues: + b47f0c73299cd9b4fba9896e70683903: 1 + ba83e724007d7e9459f157db3a54a741: 0 + fe15a1b40c14ea646a13dacb15b6a73b: 0 + 77212647508232a458ac7d48fb55d037: 1 + 3bbd22597ed32714eb271cf06b098c63: 0 + 30975daa872456b41bc18e0277e301e6: 1 + 6d4c2b8bc0ef38d44b2fbff2b3298ab4: -0.03 + 8542b6bfd7b7bfc4d9b961ba97edf0d2: 1 + m_TransitionOverrides: {} +--- !u!244 &246003612463095956 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 860c45ba06e3cbd4794061eaefe970a3 + m_EffectName: Attenuation + m_MixLevel: bb4c221c9e3208941b1a2107831692ab + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &281287199725387719 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 812fbfe4555eb1641aeaeee69a13b4a6 + m_EffectName: Lowpass Simple + m_MixLevel: 391139084347578409e42387008bd110 + m_Parameters: + - m_ParameterName: Cutoff freq + m_GUID: b19756871f24b194d87c7d1fce3159e9 + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &1413273517213151576 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: ce0c93d89826c7349a19b232116484db + m_EffectName: Attenuation + m_MixLevel: 7625365898787684c9bce9298a96f044 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!243 &1543978434442340687 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Music - 0 + m_AudioMixer: {fileID: 24100000} + m_GroupID: 1cf576bd46399874d9494863d6502d94 + m_Children: [] + m_Volume: 41591fd4a32f4034f880ecbc14ee69f1 + m_Pitch: 9ad7e859a0cd1f142b59ffc659be28a7 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: -8255999005317483048} + m_UserColorIndex: 1 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!243 &1601410790413250045 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UISound - 3 + m_AudioMixer: {fileID: 24100000} + m_GroupID: 98657376d4096a947953ee04d82830c1 + m_Children: [] + m_Volume: 2dd26f9dadf160f4bbd77f307c3f4f2e + m_Pitch: 5627fa8b0176a344bbb4e59ac5e648d3 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: 1413273517213151576} + m_UserColorIndex: 3 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!244 &2567082640316932351 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: a7394d86e1e2a1e4389182f0aec98773 + m_EffectName: Attenuation + m_MixLevel: cb8b6dfd682072d4fb81143ba077bc3f + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!243 &3865010338301366421 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UISound - 2 + m_AudioMixer: {fileID: 24100000} + m_GroupID: e84c25a476798ea43a2f6de217af7dba + m_Children: [] + m_Volume: e83be6d6c4ae85142a51f584159c4ff6 + m_Pitch: c45439925e1cfd547894fd886160a11c + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: 7834155774142160187} + m_UserColorIndex: 3 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!244 &5734415080786067514 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 20eac414948135e49b2b54a89235f15e + m_EffectName: Attenuation + m_MixLevel: d087be8c429707c4db724a61186f67f6 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &5954042604037024145 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: ba434c984ec3c4442bfe3a399c11572b + m_EffectName: Echo + m_MixLevel: 0323002ce01f29a4abebc242337ea816 + m_Parameters: + - m_ParameterName: Delay + m_GUID: f4cc548867353f843bc36a61722c6cbf + - m_ParameterName: Decay + m_GUID: e67c7b4426842f948a83f3dada794a99 + - m_ParameterName: Max channels + m_GUID: 75c7951a8373f4644a44979a8c5776ed + - m_ParameterName: Drymix + m_GUID: 4d26b3b7a84b31d499176a7879734ba1 + - m_ParameterName: Wetmix + m_GUID: 6efaeec45de20b045a4d560994684cba + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &6255340296135181231 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 3a251f2e65751b349bb255f73f0caeaf + m_EffectName: Duck Volume + m_MixLevel: 58cfdd03ab24c874cbe074238d636208 + m_Parameters: + - m_ParameterName: Threshold + m_GUID: b1b5c57689fc533408e6195c0a9e26a9 + - m_ParameterName: Ratio + m_GUID: dc9c2c635bce58746bd68c7dffb99ca0 + - m_ParameterName: Attack Time + m_GUID: 078ff252301e4594c880cd5754b8a563 + - m_ParameterName: Release Time + m_GUID: b3918efd0a966ea4882714c0f9edd40b + - m_ParameterName: Make-up Gain + m_GUID: 3cf881ca64b7cdb46b35d3593ff2cbe9 + - m_ParameterName: Knee + m_GUID: 31ea47a78d927ab4abf12f854bd4c626 + - m_ParameterName: Sidechain Mix + m_GUID: 468d86503d3572541a33c33bb9693dfd + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &6554641470784401750 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 4499c94d696ee5741a71370ed7431e12 + m_EffectName: Send + m_MixLevel: f01b57f2509f26f4b8f2772993c2b8c6 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &6637688299338053042 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: e84926aaeedf4074698e7d7f7f36b78b + m_EffectName: Attenuation + m_MixLevel: 8141a348079ee934686d3569f4758582 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!243 &7040861873718444651 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UISound - 0 + m_AudioMixer: {fileID: 24100000} + m_GroupID: 29257697b1e6be546aa0558e342a15a6 + m_Children: [] + m_Volume: 6e0d1a5935a802d41b27d9e2fad3ba2f + m_Pitch: 7d01f3677fe8c5b41a877b64cc509766 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: -4958177229083455073} + m_UserColorIndex: 3 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!243 &7185772616558441635 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UISound + m_AudioMixer: {fileID: 24100000} + m_GroupID: df986418fa3e4ae448a1909ffbb633fb + m_Children: + - {fileID: 7040861873718444651} + - {fileID: -3720557753501792270} + - {fileID: 3865010338301366421} + - {fileID: 1601410790413250045} + m_Volume: 7d1c7ed015f5dba4f934c33ef330c5eb + m_Pitch: 611d9d89c8a65b548b591e852596c35d + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: -998299258853400712} + m_UserColorIndex: 3 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!243 &7235523536312936115 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Sound + m_AudioMixer: {fileID: 24100000} + m_GroupID: 648e49a020cf83346a9220d606e4ff39 + m_Children: + - {fileID: -2659745067392564156} + - {fileID: -6280614258348125054} + - {fileID: -7758028812591520460} + - {fileID: -4372808504093502661} + m_Volume: 3bbd22597ed32714eb271cf06b098c63 + m_Pitch: 7f8a6510dd472ff4db8b07c5079a2013 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: 2567082640316932351} + m_UserColorIndex: 2 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!244 &7834155774142160187 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 09e809d6183106b4a804ff08ca8ff9ed + m_EffectName: Attenuation + m_MixLevel: 92339d91519b09543844a84cea03aed3 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 diff --git a/JNFrame2/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/Resources/AudioMixer.mixer.meta similarity index 54% rename from JNFrame2/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta rename to JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/Resources/AudioMixer.mixer.meta index e4afeef8..68fada2e 100644 --- a/JNFrame2/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/AudioModule/Resources/AudioMixer.mixer.meta @@ -1,7 +1,8 @@ fileFormatVersion: 2 -guid: 1b8d251f9af63b746bf2f7ffe00ebb9b -DefaultImporter: +guid: 1af7a1b121ae17541a1967d430cef006 +NativeFormatImporter: externalObjects: {} + mainObjectFileID: 0 userData: assetBundleName: assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm.meta new file mode 100644 index 00000000..85064e2a --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c872a7dcbc4579241baeccf1691f56fd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/Fsm.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/Fsm.cs new file mode 100644 index 00000000..609fd7c2 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/Fsm.cs @@ -0,0 +1,588 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Collections.Generic; + +namespace SHFrame.FSM +{ + /// + /// 有限状态机。 + /// + /// 有限状态机持有者类型。 + internal sealed class Fsm : FsmBase, IReference, IFsm where T : class + { + private T m_Owner; + private readonly Dictionary> m_States; + private Dictionary m_Datas; + private FsmState m_CurrentState; + private float m_CurrentStateTime; + private bool m_IsDestroyed; + + /// + /// 初始化有限状态机的新实例。 + /// + public Fsm() + { + m_Owner = null; + m_States = new Dictionary>(); + m_Datas = null; + m_CurrentState = null; + m_CurrentStateTime = 0f; + m_IsDestroyed = true; + } + + /// + /// 获取有限状态机持有者。 + /// + public T Owner + { + get + { + return m_Owner; + } + } + + /// + /// 获取有限状态机持有者类型。 + /// + public override Type OwnerType + { + get + { + return typeof(T); + } + } + + /// + /// 获取有限状态机中状态的数量。 + /// + public override int FsmStateCount + { + get + { + return m_States.Count; + } + } + + /// + /// 获取有限状态机是否正在运行。 + /// + public override bool IsRunning + { + get + { + return m_CurrentState != null; + } + } + + /// + /// 获取有限状态机是否被销毁。 + /// + public override bool IsDestroyed + { + get + { + return m_IsDestroyed; + } + } + + /// + /// 获取当前有限状态机状态。 + /// + public FsmState CurrentState + { + get + { + return m_CurrentState; + } + } + + /// + /// 获取当前有限状态机状态名称。 + /// + public override string CurrentStateName + { + get + { + return m_CurrentState != null ? m_CurrentState.GetType().FullName : null; + } + } + + /// + /// 获取当前有限状态机状态持续时间。 + /// + public override float CurrentStateTime + { + get + { + return m_CurrentStateTime; + } + } + + /// + /// 创建有限状态机。 + /// + /// 有限状态机名称。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 创建的有限状态机。 + public static Fsm Create(string name, T owner, params FsmState[] states) + { + if (owner == null) + { + throw new GameFrameworkException("FSM owner is invalid."); + } + + if (states == null || states.Length < 1) + { + throw new GameFrameworkException("FSM states is invalid."); + } + + Fsm fsm = ReferencePool.Acquire>(); + fsm.Name = name; + fsm.m_Owner = owner; + fsm.m_IsDestroyed = false; + foreach (FsmState state in states) + { + if (state == null) + { + throw new GameFrameworkException("FSM states is invalid."); + } + + Type stateType = state.GetType(); + if (fsm.m_States.ContainsKey(stateType)) + { + throw new GameFrameworkException(Utility.Text.Format("FSM '{0}' state '{1}' is already exist.", new TypeNamePair(typeof(T), name), stateType.FullName)); + } + + fsm.m_States.Add(stateType, state); + state.OnInit(fsm); + } + + return fsm; + } + + /// + /// 创建有限状态机。 + /// + /// 有限状态机名称。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 创建的有限状态机。 + public static Fsm Create(string name, T owner, List> states) + { + if (owner == null) + { + throw new GameFrameworkException("FSM owner is invalid."); + } + + if (states == null || states.Count < 1) + { + throw new GameFrameworkException("FSM states is invalid."); + } + + Fsm fsm = ReferencePool.Acquire>(); + fsm.Name = name; + fsm.m_Owner = owner; + fsm.m_IsDestroyed = false; + foreach (FsmState state in states) + { + if (state == null) + { + throw new GameFrameworkException("FSM states is invalid."); + } + + Type stateType = state.GetType(); + if (fsm.m_States.ContainsKey(stateType)) + { + throw new GameFrameworkException(Utility.Text.Format("FSM '{0}' state '{1}' is already exist.", new TypeNamePair(typeof(T), name), stateType.FullName)); + } + + fsm.m_States.Add(stateType, state); + state.OnInit(fsm); + } + + return fsm; + } + + /// + /// 清理有限状态机。 + /// + public void Clear() + { + if (m_CurrentState != null) + { + m_CurrentState.OnLeave(this, true); + } + + foreach (KeyValuePair> state in m_States) + { + state.Value.OnDestroy(this); + } + + Name = null; + m_Owner = null; + m_States.Clear(); + + if (m_Datas != null) + { + foreach (KeyValuePair data in m_Datas) + { + if (data.Value == null) + { + continue; + } + + ReferencePool.Release(data.Value); + } + + m_Datas.Clear(); + } + + m_CurrentState = null; + m_CurrentStateTime = 0f; + m_IsDestroyed = true; + } + + /// + /// 开始有限状态机。 + /// + /// 要开始的有限状态机状态类型。 + public void Start() where TState : FsmState + { + if (IsRunning) + { + throw new GameFrameworkException("FSM is running, can not start again."); + } + + FsmState state = GetState(); + if (state == null) + { + throw new GameFrameworkException(Utility.Text.Format("FSM '{0}' can not start state '{1}' which is not exist.", new TypeNamePair(typeof(T), Name), typeof(TState).FullName)); + } + + m_CurrentStateTime = 0f; + m_CurrentState = state; + m_CurrentState.OnEnter(this); + } + + /// + /// 开始有限状态机。 + /// + /// 要开始的有限状态机状态类型。 + public void Start(Type stateType) + { + if (IsRunning) + { + throw new GameFrameworkException("FSM is running, can not start again."); + } + + if (stateType == null) + { + throw new GameFrameworkException("State type is invalid."); + } + + if (!typeof(FsmState).IsAssignableFrom(stateType)) + { + throw new GameFrameworkException(Utility.Text.Format("State type '{0}' is invalid.", stateType.FullName)); + } + + FsmState state = GetState(stateType); + if (state == null) + { + throw new GameFrameworkException(Utility.Text.Format("FSM '{0}' can not start state '{1}' which is not exist.", new TypeNamePair(typeof(T), Name), stateType.FullName)); + } + + m_CurrentStateTime = 0f; + m_CurrentState = state; + m_CurrentState.OnEnter(this); + } + + /// + /// 是否存在有限状态机状态。 + /// + /// 要检查的有限状态机状态类型。 + /// 是否存在有限状态机状态。 + public bool HasState() where TState : FsmState + { + return m_States.ContainsKey(typeof(TState)); + } + + /// + /// 是否存在有限状态机状态。 + /// + /// 要检查的有限状态机状态类型。 + /// 是否存在有限状态机状态。 + public bool HasState(Type stateType) + { + if (stateType == null) + { + throw new GameFrameworkException("State type is invalid."); + } + + if (!typeof(FsmState).IsAssignableFrom(stateType)) + { + throw new GameFrameworkException(Utility.Text.Format("State type '{0}' is invalid.", stateType.FullName)); + } + + return m_States.ContainsKey(stateType); + } + + /// + /// 获取有限状态机状态。 + /// + /// 要获取的有限状态机状态类型。 + /// 要获取的有限状态机状态。 + public TState GetState() where TState : FsmState + { + FsmState state = null; + if (m_States.TryGetValue(typeof(TState), out state)) + { + return (TState)state; + } + + return null; + } + + /// + /// 获取有限状态机状态。 + /// + /// 要获取的有限状态机状态类型。 + /// 要获取的有限状态机状态。 + public FsmState GetState(Type stateType) + { + if (stateType == null) + { + throw new GameFrameworkException("State type is invalid."); + } + + if (!typeof(FsmState).IsAssignableFrom(stateType)) + { + throw new GameFrameworkException(Utility.Text.Format("State type '{0}' is invalid.", stateType.FullName)); + } + + FsmState state = null; + if (m_States.TryGetValue(stateType, out state)) + { + return state; + } + + return null; + } + + /// + /// 获取有限状态机的所有状态。 + /// + /// 有限状态机的所有状态。 + public FsmState[] GetAllStates() + { + int index = 0; + FsmState[] results = new FsmState[m_States.Count]; + foreach (KeyValuePair> state in m_States) + { + results[index++] = state.Value; + } + + return results; + } + + /// + /// 获取有限状态机的所有状态。 + /// + /// 有限状态机的所有状态。 + public void GetAllStates(List> results) + { + if (results == null) + { + throw new GameFrameworkException("Results is invalid."); + } + + results.Clear(); + foreach (KeyValuePair> state in m_States) + { + results.Add(state.Value); + } + } + + /// + /// 是否存在有限状态机数据。 + /// + /// 有限状态机数据名称。 + /// 有限状态机数据是否存在。 + public bool HasData(string name) + { + if (string.IsNullOrEmpty(name)) + { + throw new GameFrameworkException("Data name is invalid."); + } + + if (m_Datas == null) + { + return false; + } + + return m_Datas.ContainsKey(name); + } + + /// + /// 获取有限状态机数据。 + /// + /// 要获取的有限状态机数据的类型。 + /// 有限状态机数据名称。 + /// 要获取的有限状态机数据。 + public TData GetData(string name) where TData : Variable + { + return (TData)GetData(name); + } + + /// + /// 获取有限状态机数据。 + /// + /// 有限状态机数据名称。 + /// 要获取的有限状态机数据。 + public Variable GetData(string name) + { + if (string.IsNullOrEmpty(name)) + { + throw new GameFrameworkException("Data name is invalid."); + } + + if (m_Datas == null) + { + return null; + } + + Variable data = null; + if (m_Datas.TryGetValue(name, out data)) + { + return data; + } + + return null; + } + + /// + /// 设置有限状态机数据。 + /// + /// 要设置的有限状态机数据的类型。 + /// 有限状态机数据名称。 + /// 要设置的有限状态机数据。 + public void SetData(string name, TData data) where TData : Variable + { + SetData(name, (Variable)data); + } + + /// + /// 设置有限状态机数据。 + /// + /// 有限状态机数据名称。 + /// 要设置的有限状态机数据。 + public void SetData(string name, Variable data) + { + if (string.IsNullOrEmpty(name)) + { + throw new GameFrameworkException("Data name is invalid."); + } + + if (m_Datas == null) + { + m_Datas = new Dictionary(StringComparer.Ordinal); + } + + Variable oldData = GetData(name); + if (oldData != null) + { + ReferencePool.Release(oldData); + } + + m_Datas[name] = data; + } + + /// + /// 移除有限状态机数据。 + /// + /// 有限状态机数据名称。 + /// 是否移除有限状态机数据成功。 + public bool RemoveData(string name) + { + if (string.IsNullOrEmpty(name)) + { + throw new GameFrameworkException("Data name is invalid."); + } + + if (m_Datas == null) + { + return false; + } + + Variable oldData = GetData(name); + if (oldData != null) + { + ReferencePool.Release(oldData); + } + + return m_Datas.Remove(name); + } + + /// + /// 有限状态机轮询。 + /// + /// 逻辑流逝时间,以秒为单位。 + /// 真实流逝时间,以秒为单位。 + internal override void Update(float elapseSeconds, float realElapseSeconds) + { + if (m_CurrentState == null) + { + return; + } + + m_CurrentStateTime += elapseSeconds; + m_CurrentState.OnUpdate(this, elapseSeconds, realElapseSeconds); + } + + /// + /// 关闭并清理有限状态机。 + /// + internal override void Shutdown() + { + ReferencePool.Release(this); + } + + /// + /// 切换当前有限状态机状态。 + /// + /// 要切换到的有限状态机状态类型。 + internal void ChangeState() where TState : FsmState + { + ChangeState(typeof(TState)); + } + + /// + /// 切换当前有限状态机状态。 + /// + /// 要切换到的有限状态机状态类型。 + internal void ChangeState(Type stateType) + { + if (m_CurrentState == null) + { + throw new GameFrameworkException("Current state is invalid."); + } + + FsmState state = GetState(stateType); + if (state == null) + { + throw new GameFrameworkException(Utility.Text.Format("FSM '{0}' can not change state to '{1}' which is not exist.", new TypeNamePair(typeof(T), Name), stateType.FullName)); + } + + m_CurrentState.OnLeave(this, false); + m_CurrentStateTime = 0f; + m_CurrentState = state; + m_CurrentState.OnEnter(this); + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/Fsm.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/Fsm.cs.meta new file mode 100644 index 00000000..47578dce --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/Fsm.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9b7d188f470e45e44b41524dc607b0a1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmBase.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmBase.cs new file mode 100644 index 00000000..1643c552 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmBase.cs @@ -0,0 +1,113 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; + +namespace SHFrame.FSM +{ + /// + /// 有限状态机基类。 + /// + public abstract class FsmBase + { + private string m_Name; + + /// + /// 初始化有限状态机基类的新实例。 + /// + public FsmBase() + { + m_Name = string.Empty; + } + + /// + /// 获取有限状态机名称。 + /// + public string Name + { + get + { + return m_Name; + } + protected set + { + m_Name = value ?? string.Empty; + } + } + + /// + /// 获取有限状态机完整名称。 + /// + public string FullName + { + get + { + return new TypeNamePair(OwnerType, m_Name).ToString(); + } + } + + /// + /// 获取有限状态机持有者类型。 + /// + public abstract Type OwnerType + { + get; + } + + /// + /// 获取有限状态机中状态的数量。 + /// + public abstract int FsmStateCount + { + get; + } + + /// + /// 获取有限状态机是否正在运行。 + /// + public abstract bool IsRunning + { + get; + } + + /// + /// 获取有限状态机是否被销毁。 + /// + public abstract bool IsDestroyed + { + get; + } + + /// + /// 获取当前有限状态机状态名称。 + /// + public abstract string CurrentStateName + { + get; + } + + /// + /// 获取当前有限状态机状态持续时间。 + /// + public abstract float CurrentStateTime + { + get; + } + + /// + /// 有限状态机轮询。 + /// + /// 逻辑流逝时间,以秒为单位。 + /// 当前已流逝时间,以秒为单位。 + internal abstract void Update(float elapseSeconds, float realElapseSeconds); + + /// + /// 关闭并清理有限状态机。 + /// + internal abstract void Shutdown(); + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmBase.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmBase.cs.meta new file mode 100644 index 00000000..68d74288 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmBase.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 21c38565ed73dcb43b4cfb6c1ceda566 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmManager.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmManager.cs new file mode 100644 index 00000000..c084b687 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmManager.cs @@ -0,0 +1,412 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Collections.Generic; + +namespace SHFrame.FSM +{ + /// + /// 有限状态机管理器。 + /// + [UpdateModule] + internal sealed class FsmManager : ModuleImp, IFsmManager + { + private readonly Dictionary m_Fsms; + private readonly List m_TempFsms; + + /// + /// 初始化有限状态机管理器的新实例。 + /// + public FsmManager() + { + m_Fsms = new Dictionary(); + m_TempFsms = new List(); + } + + /// + /// 获取游戏框架模块优先级。 + /// + /// 优先级较高的模块会优先轮询,并且关闭操作会后进行。 + internal override int Priority + { + get + { + return 1; + } + } + + /// + /// 获取有限状态机数量。 + /// + public int Count + { + get + { + return m_Fsms.Count; + } + } + + /// + /// 有限状态机管理器轮询。 + /// + /// 逻辑流逝时间,以秒为单位。 + /// 真实流逝时间,以秒为单位。 + internal override void Update(float elapseSeconds, float realElapseSeconds) + { + m_TempFsms.Clear(); + if (m_Fsms.Count <= 0) + { + return; + } + + foreach (KeyValuePair fsm in m_Fsms) + { + m_TempFsms.Add(fsm.Value); + } + + foreach (FsmBase fsm in m_TempFsms) + { + if (fsm.IsDestroyed) + { + continue; + } + + fsm.Update(elapseSeconds, realElapseSeconds); + } + } + + /// + /// 关闭并清理有限状态机管理器。 + /// + internal override void Shutdown() + { + foreach (KeyValuePair fsm in m_Fsms) + { + fsm.Value.Shutdown(); + } + + m_Fsms.Clear(); + m_TempFsms.Clear(); + } + + /// + /// 检查是否存在有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 是否存在有限状态机。 + public bool HasFsm() where T : class + { + return InternalHasFsm(new TypeNamePair(typeof(T))); + } + + /// + /// 检查是否存在有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 是否存在有限状态机。 + public bool HasFsm(Type ownerType) + { + if (ownerType == null) + { + throw new GameFrameworkException("Owner type is invalid."); + } + + return InternalHasFsm(new TypeNamePair(ownerType)); + } + + /// + /// 检查是否存在有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 是否存在有限状态机。 + public bool HasFsm(string name) where T : class + { + return InternalHasFsm(new TypeNamePair(typeof(T), name)); + } + + /// + /// 检查是否存在有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 是否存在有限状态机。 + public bool HasFsm(Type ownerType, string name) + { + if (ownerType == null) + { + throw new GameFrameworkException("Owner type is invalid."); + } + + return InternalHasFsm(new TypeNamePair(ownerType, name)); + } + + /// + /// 获取有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要获取的有限状态机。 + public IFsm GetFsm() where T : class + { + return (IFsm)InternalGetFsm(new TypeNamePair(typeof(T))); + } + + /// + /// 获取有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要获取的有限状态机。 + public FsmBase GetFsm(Type ownerType) + { + if (ownerType == null) + { + throw new GameFrameworkException("Owner type is invalid."); + } + + return InternalGetFsm(new TypeNamePair(ownerType)); + } + + /// + /// 获取有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 要获取的有限状态机。 + public IFsm GetFsm(string name) where T : class + { + return (IFsm)InternalGetFsm(new TypeNamePair(typeof(T), name)); + } + + /// + /// 获取有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 要获取的有限状态机。 + public FsmBase GetFsm(Type ownerType, string name) + { + if (ownerType == null) + { + throw new GameFrameworkException("Owner type is invalid."); + } + + return InternalGetFsm(new TypeNamePair(ownerType, name)); + } + + /// + /// 获取所有有限状态机。 + /// + /// 所有有限状态机。 + public FsmBase[] GetAllFsms() + { + int index = 0; + FsmBase[] results = new FsmBase[m_Fsms.Count]; + foreach (KeyValuePair fsm in m_Fsms) + { + results[index++] = fsm.Value; + } + + return results; + } + + /// + /// 获取所有有限状态机。 + /// + /// 所有有限状态机。 + public void GetAllFsms(List results) + { + if (results == null) + { + throw new GameFrameworkException("Results is invalid."); + } + + results.Clear(); + foreach (KeyValuePair fsm in m_Fsms) + { + results.Add(fsm.Value); + } + } + + /// + /// 创建有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 要创建的有限状态机。 + public IFsm CreateFsm(T owner, params FsmState[] states) where T : class + { + return CreateFsm(string.Empty, owner, states); + } + + /// + /// 创建有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 要创建的有限状态机。 + public IFsm CreateFsm(string name, T owner, params FsmState[] states) where T : class + { + TypeNamePair typeNamePair = new TypeNamePair(typeof(T), name); + if (HasFsm(name)) + { + throw new GameFrameworkException(Utility.Text.Format("Already exist FSM '{0}'.", typeNamePair)); + } + + Fsm fsm = Fsm.Create(name, owner, states); + m_Fsms.Add(typeNamePair, fsm); + return fsm; + } + + /// + /// 创建有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 要创建的有限状态机。 + public IFsm CreateFsm(T owner, List> states) where T : class + { + return CreateFsm(string.Empty, owner, states); + } + + /// + /// 创建有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 要创建的有限状态机。 + public IFsm CreateFsm(string name, T owner, List> states) where T : class + { + TypeNamePair typeNamePair = new TypeNamePair(typeof(T), name); + if (HasFsm(name)) + { + throw new GameFrameworkException(Utility.Text.Format("Already exist FSM '{0}'.", typeNamePair)); + } + + Fsm fsm = Fsm.Create(name, owner, states); + m_Fsms.Add(typeNamePair, fsm); + return fsm; + } + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 是否销毁有限状态机成功。 + public bool DestroyFsm() where T : class + { + return InternalDestroyFsm(new TypeNamePair(typeof(T))); + } + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 是否销毁有限状态机成功。 + public bool DestroyFsm(Type ownerType) + { + if (ownerType == null) + { + throw new GameFrameworkException("Owner type is invalid."); + } + + return InternalDestroyFsm(new TypeNamePair(ownerType)); + } + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要销毁的有限状态机名称。 + /// 是否销毁有限状态机成功。 + public bool DestroyFsm(string name) where T : class + { + return InternalDestroyFsm(new TypeNamePair(typeof(T), name)); + } + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要销毁的有限状态机名称。 + /// 是否销毁有限状态机成功。 + public bool DestroyFsm(Type ownerType, string name) + { + if (ownerType == null) + { + throw new GameFrameworkException("Owner type is invalid."); + } + + return InternalDestroyFsm(new TypeNamePair(ownerType, name)); + } + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要销毁的有限状态机。 + /// 是否销毁有限状态机成功。 + public bool DestroyFsm(IFsm fsm) where T : class + { + if (fsm == null) + { + throw new GameFrameworkException("FSM is invalid."); + } + + return InternalDestroyFsm(new TypeNamePair(typeof(T), fsm.Name)); + } + + /// + /// 销毁有限状态机。 + /// + /// 要销毁的有限状态机。 + /// 是否销毁有限状态机成功。 + public bool DestroyFsm(FsmBase fsm) + { + if (fsm == null) + { + throw new GameFrameworkException("FSM is invalid."); + } + + return InternalDestroyFsm(new TypeNamePair(fsm.OwnerType, fsm.Name)); + } + + private bool InternalHasFsm(TypeNamePair typeNamePair) + { + return m_Fsms.ContainsKey(typeNamePair); + } + + private FsmBase InternalGetFsm(TypeNamePair typeNamePair) + { + FsmBase fsm = null; + if (m_Fsms.TryGetValue(typeNamePair, out fsm)) + { + return fsm; + } + + return null; + } + + private bool InternalDestroyFsm(TypeNamePair typeNamePair) + { + FsmBase fsm = null; + if (m_Fsms.TryGetValue(typeNamePair, out fsm)) + { + fsm.Shutdown(); + return m_Fsms.Remove(typeNamePair); + } + + return false; + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmManager.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmManager.cs.meta new file mode 100644 index 00000000..0b8c391f --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cd3e68474eff7b94bb1e4ddf976e2ad1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmModule.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmModule.cs new file mode 100644 index 00000000..f7e30466 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmModule.cs @@ -0,0 +1,254 @@ +using System; +using System.Collections.Generic; + +namespace SHFrame.FSM +{ + public sealed class FsmModule : Module + { + private IFsmManager m_FsmManager; + + /// + /// 获取有限状态机数量。 + /// + public int Count + { + get + { + return m_FsmManager.Count; + } + } + + /// + /// 游戏框架组件初始化。 + /// + protected override void Awake() + { + base.Awake(); + + m_FsmManager = ModuleImpSystem.GetModule(); + if (m_FsmManager == null) + { + Log.Fatal("FSM manager is invalid."); + return; + } + } + + private void Start() + { + } + + /// + /// 检查是否存在有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 是否存在有限状态机。 + public bool HasFsm() where T : class + { + return m_FsmManager.HasFsm(); + } + + /// + /// 检查是否存在有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 是否存在有限状态机。 + public bool HasFsm(Type ownerType) + { + return m_FsmManager.HasFsm(ownerType); + } + + /// + /// 检查是否存在有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 是否存在有限状态机。 + public bool HasFsm(string name) where T : class + { + return m_FsmManager.HasFsm(name); + } + + /// + /// 检查是否存在有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 是否存在有限状态机。 + public bool HasFsm(Type ownerType, string name) + { + return m_FsmManager.HasFsm(ownerType, name); + } + + /// + /// 获取有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要获取的有限状态机。 + public IFsm GetFsm() where T : class + { + return m_FsmManager.GetFsm(); + } + + /// + /// 获取有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要获取的有限状态机。 + public FsmBase GetFsm(Type ownerType) + { + return m_FsmManager.GetFsm(ownerType); + } + + /// + /// 获取有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 要获取的有限状态机。 + public IFsm GetFsm(string name) where T : class + { + return m_FsmManager.GetFsm(name); + } + + /// + /// 获取有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 要获取的有限状态机。 + public FsmBase GetFsm(Type ownerType, string name) + { + return m_FsmManager.GetFsm(ownerType, name); + } + + /// + /// 获取所有有限状态机。 + /// + public FsmBase[] GetAllFsms() + { + return m_FsmManager.GetAllFsms(); + } + + /// + /// 获取所有有限状态机。 + /// + /// 所有有限状态机。 + public void GetAllFsms(List results) + { + m_FsmManager.GetAllFsms(results); + } + + /// + /// 创建有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 要创建的有限状态机。 + public IFsm CreateFsm(T owner, params FsmState[] states) where T : class + { + return m_FsmManager.CreateFsm(owner, states); + } + + /// + /// 创建有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 要创建的有限状态机。 + public IFsm CreateFsm(string name, T owner, params FsmState[] states) where T : class + { + return m_FsmManager.CreateFsm(name, owner, states); + } + + /// + /// 创建有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 要创建的有限状态机。 + public IFsm CreateFsm(T owner, List> states) where T : class + { + return m_FsmManager.CreateFsm(owner, states); + } + + /// + /// 创建有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 要创建的有限状态机。 + public IFsm CreateFsm(string name, T owner, List> states) where T : class + { + return m_FsmManager.CreateFsm(name, owner, states); + } + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 是否销毁有限状态机成功。 + public bool DestroyFsm() where T : class + { + return m_FsmManager.DestroyFsm(); + } + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 是否销毁有限状态机成功。 + public bool DestroyFsm(Type ownerType) + { + return m_FsmManager.DestroyFsm(ownerType); + } + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要销毁的有限状态机名称。 + /// 是否销毁有限状态机成功。 + public bool DestroyFsm(string name) where T : class + { + return m_FsmManager.DestroyFsm(name); + } + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要销毁的有限状态机名称。 + /// 是否销毁有限状态机成功。 + public bool DestroyFsm(Type ownerType, string name) + { + return m_FsmManager.DestroyFsm(ownerType, name); + } + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要销毁的有限状态机。 + /// 是否销毁有限状态机成功。 + public bool DestroyFsm(IFsm fsm) where T : class + { + return m_FsmManager.DestroyFsm(fsm); + } + + /// + /// 销毁有限状态机。 + /// + /// 要销毁的有限状态机。 + /// 是否销毁有限状态机成功。 + public bool DestroyFsm(FsmBase fsm) + { + return m_FsmManager.DestroyFsm(fsm); + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmModule.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmModule.cs.meta new file mode 100644 index 00000000..b0d4887a --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmModule.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 27e7fc213b60e4d44aab99a7fb00c2cf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmState.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmState.cs new file mode 100644 index 00000000..2064f9d4 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmState.cs @@ -0,0 +1,103 @@ +using System; + +namespace SHFrame.FSM +{ + /// + /// 有限状态机状态基类。 + /// + /// 有限状态机持有者类型。 + public abstract class FsmState where T : class + { + /// + /// 初始化有限状态机状态基类的新实例。 + /// + public FsmState() + { + } + + /// + /// 有限状态机状态初始化时调用。 + /// + /// 有限状态机引用。 + protected internal virtual void OnInit(IFsm fsm) + { + } + + /// + /// 有限状态机状态进入时调用。 + /// + /// 有限状态机引用。 + protected internal virtual void OnEnter(IFsm fsm) + { + } + + /// + /// 有限状态机状态轮询时调用。 + /// + /// 有限状态机引用。 + /// 逻辑流逝时间,以秒为单位。 + /// 真实流逝时间,以秒为单位。 + protected internal virtual void OnUpdate(IFsm fsm, float elapseSeconds, float realElapseSeconds) + { + } + + /// + /// 有限状态机状态离开时调用。 + /// + /// 有限状态机引用。 + /// 是否是关闭有限状态机时触发。 + protected internal virtual void OnLeave(IFsm fsm, bool isShutdown) + { + } + + /// + /// 有限状态机状态销毁时调用。 + /// + /// 有限状态机引用。 + protected internal virtual void OnDestroy(IFsm fsm) + { + } + + /// + /// 切换当前有限状态机状态。 + /// + /// 要切换到的有限状态机状态类型。 + /// 有限状态机引用。 + protected void ChangeState(IFsm fsm) where TState : FsmState + { + Fsm fsmImplement = (Fsm)fsm; + if (fsmImplement == null) + { + throw new GameFrameworkException("FSM is invalid."); + } + + fsmImplement.ChangeState(); + } + + /// + /// 切换当前有限状态机状态。 + /// + /// 有限状态机引用。 + /// 要切换到的有限状态机状态类型。 + protected void ChangeState(IFsm fsm, Type stateType) + { + Fsm fsmImplement = (Fsm)fsm; + if (fsmImplement == null) + { + throw new GameFrameworkException("FSM is invalid."); + } + + if (stateType == null) + { + throw new GameFrameworkException("State type is invalid."); + } + + if (!typeof(FsmState).IsAssignableFrom(stateType)) + { + throw new GameFrameworkException(Utility.Text.Format("State type '{0}' is invalid.", stateType.FullName)); + } + + fsmImplement.ChangeState(stateType); + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmState.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmState.cs.meta new file mode 100644 index 00000000..5e77d178 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/FsmState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 60b86155028a80c43b1f645ecf4a34f9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsm.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsm.cs new file mode 100644 index 00000000..90144c52 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsm.cs @@ -0,0 +1,179 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Collections.Generic; + +namespace SHFrame.FSM +{ + /// + /// 有限状态机接口。 + /// + /// 有限状态机持有者类型。 + public interface IFsm where T : class + { + /// + /// 获取有限状态机名称。 + /// + string Name + { + get; + } + + /// + /// 获取有限状态机完整名称。 + /// + string FullName + { + get; + } + + /// + /// 获取有限状态机持有者。 + /// + T Owner + { + get; + } + + /// + /// 获取有限状态机中状态的数量。 + /// + int FsmStateCount + { + get; + } + + /// + /// 获取有限状态机是否正在运行。 + /// + bool IsRunning + { + get; + } + + /// + /// 获取有限状态机是否被销毁。 + /// + bool IsDestroyed + { + get; + } + + /// + /// 获取当前有限状态机状态。 + /// + FsmState CurrentState + { + get; + } + + /// + /// 获取当前有限状态机状态持续时间。 + /// + float CurrentStateTime + { + get; + } + + /// + /// 开始有限状态机。 + /// + /// 要开始的有限状态机状态类型。 + void Start() where TState : FsmState; + + /// + /// 开始有限状态机。 + /// + /// 要开始的有限状态机状态类型。 + void Start(Type stateType); + + /// + /// 是否存在有限状态机状态。 + /// + /// 要检查的有限状态机状态类型。 + /// 是否存在有限状态机状态。 + bool HasState() where TState : FsmState; + + /// + /// 是否存在有限状态机状态。 + /// + /// 要检查的有限状态机状态类型。 + /// 是否存在有限状态机状态。 + bool HasState(Type stateType); + + /// + /// 获取有限状态机状态。 + /// + /// 要获取的有限状态机状态类型。 + /// 要获取的有限状态机状态。 + TState GetState() where TState : FsmState; + + /// + /// 获取有限状态机状态。 + /// + /// 要获取的有限状态机状态类型。 + /// 要获取的有限状态机状态。 + FsmState GetState(Type stateType); + + /// + /// 获取有限状态机的所有状态。 + /// + /// 有限状态机的所有状态。 + FsmState[] GetAllStates(); + + /// + /// 获取有限状态机的所有状态。 + /// + /// 有限状态机的所有状态。 + void GetAllStates(List> results); + + /// + /// 是否存在有限状态机数据。 + /// + /// 有限状态机数据名称。 + /// 有限状态机数据是否存在。 + bool HasData(string name); + + /// + /// 获取有限状态机数据。 + /// + /// 要获取的有限状态机数据的类型。 + /// 有限状态机数据名称。 + /// 要获取的有限状态机数据。 + TData GetData(string name) where TData : Variable; + + /// + /// 获取有限状态机数据。 + /// + /// 有限状态机数据名称。 + /// 要获取的有限状态机数据。 + Variable GetData(string name); + + /// + /// 设置有限状态机数据。 + /// + /// 要设置的有限状态机数据的类型。 + /// 有限状态机数据名称。 + /// 要设置的有限状态机数据。 + void SetData(string name, TData data) where TData : Variable; + + /// + /// 设置有限状态机数据。 + /// + /// 有限状态机数据名称。 + /// 要设置的有限状态机数据。 + void SetData(string name, Variable data); + + /// + /// 移除有限状态机数据。 + /// + /// 有限状态机数据名称。 + /// 是否移除有限状态机数据成功。 + bool RemoveData(string name); + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsm.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsm.cs.meta new file mode 100644 index 00000000..a294e0d7 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsm.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5605e679eb1695f4a82968f89875453c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsmManager.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsmManager.cs new file mode 100644 index 00000000..78c7dc4e --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsmManager.cs @@ -0,0 +1,181 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Collections.Generic; + +namespace SHFrame.FSM +{ + /// + /// 有限状态机管理器。 + /// + public interface IFsmManager + { + /// + /// 获取有限状态机数量。 + /// + int Count + { + get; + } + + /// + /// 检查是否存在有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 是否存在有限状态机。 + bool HasFsm() where T : class; + + /// + /// 检查是否存在有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 是否存在有限状态机。 + bool HasFsm(Type ownerType); + + /// + /// 检查是否存在有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 是否存在有限状态机。 + bool HasFsm(string name) where T : class; + + /// + /// 检查是否存在有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 是否存在有限状态机。 + bool HasFsm(Type ownerType, string name); + + /// + /// 获取有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要获取的有限状态机。 + IFsm GetFsm() where T : class; + + /// + /// 获取有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要获取的有限状态机。 + FsmBase GetFsm(Type ownerType); + + /// + /// 获取有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 要获取的有限状态机。 + IFsm GetFsm(string name) where T : class; + + /// + /// 获取有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 要获取的有限状态机。 + FsmBase GetFsm(Type ownerType, string name); + + /// + /// 获取所有有限状态机。 + /// + /// 所有有限状态机。 + FsmBase[] GetAllFsms(); + + /// + /// 获取所有有限状态机。 + /// + /// 所有有限状态机。 + void GetAllFsms(List results); + + /// + /// 创建有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 要创建的有限状态机。 + IFsm CreateFsm(T owner, params FsmState[] states) where T : class; + + /// + /// 创建有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 要创建的有限状态机。 + IFsm CreateFsm(string name, T owner, params FsmState[] states) where T : class; + + /// + /// 创建有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 要创建的有限状态机。 + IFsm CreateFsm(T owner, List> states) where T : class; + + /// + /// 创建有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 有限状态机名称。 + /// 有限状态机持有者。 + /// 有限状态机状态集合。 + /// 要创建的有限状态机。 + IFsm CreateFsm(string name, T owner, List> states) where T : class; + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 是否销毁有限状态机成功。 + bool DestroyFsm() where T : class; + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 是否销毁有限状态机成功。 + bool DestroyFsm(Type ownerType); + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要销毁的有限状态机名称。 + /// 是否销毁有限状态机成功。 + bool DestroyFsm(string name) where T : class; + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要销毁的有限状态机名称。 + /// 是否销毁有限状态机成功。 + bool DestroyFsm(Type ownerType, string name); + + /// + /// 销毁有限状态机。 + /// + /// 有限状态机持有者类型。 + /// 要销毁的有限状态机。 + /// 是否销毁有限状态机成功。 + bool DestroyFsm(IFsm fsm) where T : class; + + /// + /// 销毁有限状态机。 + /// + /// 要销毁的有限状态机。 + /// 是否销毁有限状态机成功。 + bool DestroyFsm(FsmBase fsm); + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsmManager.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsmManager.cs.meta new file mode 100644 index 00000000..95a8e2b8 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Fsm/IFsmManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: eb277f41379f3a54983bdf668629a0d6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameModule.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameModule.cs new file mode 100644 index 00000000..39d392d7 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameModule.cs @@ -0,0 +1,150 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace SHFrame +{ + /// + /// 游戏模块。 + /// + public partial class GameModule : MonoBehaviour + { + private static readonly Dictionary _moduleMaps = new Dictionary(ModuleImpSystem.DesignModuleCount); + + private static GameObject _gameModuleRoot; + + #region 框架模块 + /// + /// 获取游戏基础模块。 + /// + public static RootModule Base + { + get => _base ??= Get(); + private set => _base = value; + } + + private static RootModule _base; + + // /// + // /// 获取调试模块。 + // /// + // public static DebuggerModule Debugger + // { + // get => _debugger ??= Get(); + // private set => _debugger = value; + // } + // + // + // private static DebuggerModule _debugger; + + /// + /// 获取有限状态机模块。 + /// + public static FSM.FsmModule Fsm => _fsm ??= Get(); + + private static FSM.FsmModule _fsm; + + /// + /// 流程管理模块。 + /// + public static ProcedureModule Procedure => _procedure ??= Get(); + + private static ProcedureModule _procedure; + + /// + /// 获取对象池模块。 + /// + public static ObjectPoolModule ObjectPool => _objectPool ??= Get(); + + private static ObjectPoolModule _objectPool; + + // /// + // /// 获取资源模块。 + // /// + // public static ResourceModule Resource => _resource ??= Get(); + // + // private static ResourceModule _resource; + + + /// + /// 获取音频模块。 + /// + public static AudioModule Audio => _audio ??= Get(); + + private static AudioModule _audio; + + // /// + // /// 获取配置模块。 + // /// + // public static SettingModule Setting => _setting ??= Get(); + // + // private static SettingModule _setting; + + // /// + // /// 获取多语言模块。 + // /// + // public static LocalizationModule Localization => _localization ??= Get(); + // + // private static LocalizationModule _localization; + + // /// + // /// 获取计时器模块。 + // /// + // public static TimerModule Timer => _timer ??= Get(); + // + // private static TimerModule _timer; + #endregion + + /// + /// 获取游戏框架模块类。 + /// + /// 游戏框架模块类。 + /// 游戏框架模块实例。 + public static T Get() where T : Module + { + Type type = typeof(T); + + if (_moduleMaps.TryGetValue(type, out var ret)) + { + return ret as T; + } + + T module = ModuleSystem.GetModule(); + + + Log.Assert(condition: module != null, $"{typeof(T)} is null"); + + _moduleMaps.Add(type, module); + + return module; + } + + private void Start() + { + Log.Info("GameModule Active"); + _gameModuleRoot = gameObject; + _gameModuleRoot.name = $"[{nameof(GameModule)}]"; + DontDestroyOnLoad(_gameModuleRoot); + } + + public static void Shutdown(ShutdownType shutdownType) + { + Log.Info("GameModule Shutdown"); + if (_gameModuleRoot != null) + { + Destroy(_gameModuleRoot); + _gameModuleRoot = null; + } + _moduleMaps.Clear(); + + _base = null; + // _debugger = null; + _fsm = null; + _procedure = null; + _objectPool = null; + // _resource = null; + _audio = null; + // _setting = null; + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameModule.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameModule.cs.meta new file mode 100644 index 00000000..6c6d4b26 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameModule.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f47aaf5c712947a69bb25051c81a1be1 +timeCreated: 1727610588 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameTime.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameTime.meta new file mode 100644 index 00000000..82e1e4c0 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameTime.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9b0bcf6dd7924a66874dca3b02137324 +timeCreated: 1709188061 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameTime/GameTime.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameTime/GameTime.cs new file mode 100644 index 00000000..f15cf267 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameTime/GameTime.cs @@ -0,0 +1,56 @@ +using UnityEngine; + +// ReSharper disable InconsistentNaming +namespace SHFrame +{ + /// + /// 游戏时间。 + /// 提供从Unity获取时间信息的接口。 + /// + public static class GameTime + { + /// + /// 此帧开始时的时间(只读)。 + /// + public static float time; + + /// + /// 从上一帧到当前帧的间隔(秒)(只读)。 + /// + public static float deltaTime; + + /// + /// timeScale从上一帧到当前帧的独立时间间隔(以秒为单位)(只读)。 + /// + public static float unscaledDeltaTime; + + /// + /// 执行物理和其他固定帧速率更新的时间间隔(以秒为单位)。 + /// 如MonoBehavior的MonoBehaviour.FixedUpdate。 + /// + public static float fixedDeltaTime; + + /// + /// 自游戏开始以来的总帧数(只读)。 + /// + public static float frameCount; + + /// + /// timeScale此帧的独立时间(只读)。这是自游戏开始以来的时间(以秒为单位)。 + /// + public static float unscaledTime; + + /// + /// 采样一帧的时间。 + /// + public static void StartFrame() + { + time = Time.time; + deltaTime = Time.deltaTime; + unscaledDeltaTime = Time.unscaledDeltaTime; + fixedDeltaTime = Time.fixedDeltaTime; + frameCount = Time.frameCount; + unscaledTime = Time.unscaledTime; + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameTime/GameTime.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameTime/GameTime.cs.meta new file mode 100644 index 00000000..1fce9b3d --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/GameTime/GameTime.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8b8ef95462cc493fbbc3250e6992a818 +timeCreated: 1694855463 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore.meta new file mode 100644 index 00000000..0958eb78 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 254c83d52519d15489b51a2ff35341d9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/Module.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/Module.cs new file mode 100644 index 00000000..a241b426 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/Module.cs @@ -0,0 +1,18 @@ +using UnityEngine; + +namespace SHFrame +{ + /// + /// 游戏框架模块抽象类。 + /// + public abstract class Module : MonoBehaviour + { + /// + /// 游戏框架模块初始化。 + /// + protected virtual void Awake() + { + ModuleSystem.RegisterModule(this); + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/Module.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/Module.cs.meta new file mode 100644 index 00000000..3f944a1d --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/Module.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8d03a2850c3d46bfbb20c1b3f0ba28cc +timeCreated: 1694836036 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImp.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImp.cs new file mode 100644 index 00000000..3411172e --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImp.cs @@ -0,0 +1,67 @@ +using System; + +namespace SHFrame +{ + /// + /// 模块需要框架轮询属性。 + /// + /// 注入此属性标识模块需要轮询。 + [AttributeUsage(AttributeTargets.Class)] + internal class UpdateModuleAttribute : Attribute + { + } + + /// + /// 游戏框架模块抽象类。 + /// 实现游戏框架具体逻辑。 + /// + internal abstract class ModuleImp + { + /// + /// 获取游戏框架模块优先级。 + /// + /// 优先级较高的模块会优先轮询,并且关闭操作会后进行。 + internal virtual int Priority => 0; + + /// + /// 游戏框架模块轮询。 + /// + /// 逻辑流逝时间,以秒为单位。 + /// 真实流逝时间,以秒为单位。 + internal virtual void Update(float elapseSeconds, float realElapseSeconds) + { + } + + /// + /// 关闭并清理游戏框架模块。 + /// + internal abstract void Shutdown(); + } + + /// + /// 游戏框架模块抽象类。 + /// 实现游戏框架具体逻辑。 + /// + public interface IModuleImp2 + { + /// + /// 获取游戏框架模块优先级。 + /// + /// 优先级较高的模块会优先轮询,并且关闭操作会后进行。 + internal virtual int Priority => 0; + + /// + /// 游戏框架模块轮询。 + /// + /// 逻辑流逝时间,以秒为单位。 + /// 真实流逝时间,以秒为单位。 + internal virtual void Update(float elapseSeconds, float realElapseSeconds) + { + } + + /// + /// 关闭并清理游戏框架模块。 + /// + internal abstract void Shutdown(); + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImp.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImp.cs.meta new file mode 100644 index 00000000..e87b58b0 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImp.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b4db746c6b3928b4a89a3ce316a8870b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImpSystem.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImpSystem.cs new file mode 100644 index 00000000..18f3d439 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImpSystem.cs @@ -0,0 +1,160 @@ +using System; +using System.Collections.Generic; + +namespace SHFrame +{ + /// + /// 游戏框架模块实现类管理系统。 + /// + public static class ModuleImpSystem + { + /// + /// 默认设计的模块数量。 + /// 有增删可以自行修改减少内存分配与GCAlloc。 + /// + internal const int DesignModuleCount = 16; + private const string ModuleRootNameSpace = "SHFrame."; + + private static readonly Dictionary _moduleMaps = new Dictionary(DesignModuleCount); + private static readonly GameFrameworkLinkedList _modules = new GameFrameworkLinkedList(); + private static readonly GameFrameworkLinkedList _updateModules = new GameFrameworkLinkedList(); + private static readonly List _updateExecuteList = new List(DesignModuleCount); + + /// + /// 所有游戏框架模块轮询。 + /// + /// 逻辑流逝时间,以秒为单位。 + /// 真实流逝时间,以秒为单位。 + public static void Update(float elapseSeconds, float realElapseSeconds) + { + int executeCount = _updateExecuteList.Count; + for (int i = 0; i < executeCount; i++) + { + _updateExecuteList[i].Update(elapseSeconds, realElapseSeconds); + } + } + + /// + /// 关闭并清理所有游戏框架模块。 + /// + public static void Shutdown() + { + for (LinkedListNode current = _modules.Last; current != null; current = current.Previous) + { + current.Value.Shutdown(); + } + + _modules.Clear(); + _moduleMaps.Clear(); + _updateModules.Clear(); + _updateExecuteList.Clear(); + ReferencePool.ClearAll(); + Utility.Marshal.FreeCachedHGlobal(); + } + + /// + /// 获取游戏框架模块。 + /// + /// 要获取的游戏框架模块类型。 + /// 要获取的游戏框架模块。 + /// 如果要获取的游戏框架模块不存在,则自动创建该游戏框架模块。 + public static T GetModule() where T : class + { + Type module = typeof(T); + + if (module.FullName != null && !module.FullName.StartsWith(ModuleRootNameSpace, StringComparison.Ordinal)) + { + throw new GameFrameworkException(Utility.Text.Format("You must get a Framework module, but '{0}' is not.", module.FullName)); + } + + string moduleName = Utility.Text.Format("{0}.{1}", module.Namespace, module.Name.Substring(1)); + Type moduleType = Type.GetType(moduleName); + if (moduleType == null) + { + moduleName = Utility.Text.Format("{0}.{1}", module.Namespace, module.Name); + moduleType = Type.GetType(moduleName); + if (moduleType == null) + { + throw new GameFrameworkException(Utility.Text.Format("Can not find Game Framework module type '{0}'.", moduleName)); + } + } + + return GetModule(moduleType) as T; + } + + /// + /// 获取游戏框架模块。 + /// + /// 要获取的游戏框架模块类型。 + /// 要获取的游戏框架模块。 + /// 如果要获取的游戏框架模块不存在,则自动创建该游戏框架模块。 + private static ModuleImp GetModule(Type moduleType) + { + return _moduleMaps.TryGetValue(moduleType, out ModuleImp module) ? module : CreateModule(moduleType); + } + + /// + /// 创建游戏框架模块。 + /// + /// 要创建的游戏框架模块类型。 + /// 要创建的游戏框架模块。 + private static ModuleImp CreateModule(Type moduleType) + { + ModuleImp moduleImp = (ModuleImp)Activator.CreateInstance(moduleType); + if (moduleImp == null) + { + throw new GameFrameworkException(Utility.Text.Format("Can not create module '{0}'.", moduleType.FullName)); + } + + _moduleMaps[moduleType] = moduleImp; + + LinkedListNode current = _modules.First; + while (current != null) + { + if (moduleImp.Priority > current.Value.Priority) + { + break; + } + + current = current.Next; + } + + if (current != null) + { + _modules.AddBefore(current, moduleImp); + } + else + { + _modules.AddLast(moduleImp); + } + + if (Attribute.GetCustomAttribute(moduleType, typeof(UpdateModuleAttribute)) is UpdateModuleAttribute updateModuleAttribute) + { + LinkedListNode currentUpdate = _updateModules.First; + while (currentUpdate != null) + { + if (moduleImp.Priority > currentUpdate.Value.Priority) + { + break; + } + + currentUpdate = currentUpdate.Next; + } + + if (currentUpdate != null) + { + _updateModules.AddBefore(currentUpdate, moduleImp); + } + else + { + _updateModules.AddLast(moduleImp); + } + + _updateExecuteList.Clear(); + _updateExecuteList.AddRange(_updateModules); + } + + return moduleImp; + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImpSystem.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImpSystem.cs.meta new file mode 100644 index 00000000..8262c0ed --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleImpSystem.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: eb600bcb941e4094a006a6780098c241 +timeCreated: 1694796997 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleSystem.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleSystem.cs new file mode 100644 index 00000000..1fbf7f1d --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleSystem.cs @@ -0,0 +1,139 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.SceneManagement; + +namespace SHFrame +{ + /// + /// 游戏框架模块管理系统。 + /// + public static class ModuleSystem + { + private static readonly GameFrameworkLinkedList _modules = new GameFrameworkLinkedList(); + + /// + /// 游戏框架所在的场景编号。 + /// + internal const int GameFrameworkSceneId = 0; + + /// + /// 获取游戏框架模块。 + /// + /// 要获取的游戏框架模块类型。 + /// 要获取的游戏框架模块。 + public static T GetModule() where T : Module + { + return (T)GetModule(typeof(T)); + } + + /// + /// 获取游戏框架模块。 + /// + /// 要获取的游戏框架模块类型。 + /// 要获取的游戏框架模块。 + public static Module GetModule(Type type) + { + LinkedListNode current = _modules.First; + while (current != null) + { + if (current.Value.GetType() == type) + { + return current.Value; + } + + current = current.Next; + } + + return null; + } + + /// + /// 获取游戏框架模块。 + /// + /// 要获取的游戏框架模块类型名称。 + /// 要获取的游戏框架模块。 + public static Module GetModule(string typeName) + { + LinkedListNode current = _modules.First; + while (current != null) + { + Type type = current.Value.GetType(); + if (type.FullName == typeName || type.Name == typeName) + { + return current.Value; + } + + current = current.Next; + } + + return null; + } + + /// + /// 关闭游戏框架。 + /// + /// 关闭游戏框架类型。 + public static void Shutdown(ShutdownType shutdownType) + { + Log.Info("Shutdown Game Framework ({0})...", shutdownType); + RootModule rootModule = GetModule(); + if (rootModule != null) + { + rootModule.Shutdown(); + rootModule = null; + } + _modules.Clear(); + + GameModule.Shutdown(shutdownType); + + if (shutdownType == ShutdownType.None) + { + return; + } + + if (shutdownType == ShutdownType.Restart) + { + SceneManager.LoadScene(GameFrameworkSceneId); + return; + } + + if (shutdownType == ShutdownType.Quit) + { + Application.Quit(); +#if UNITY_EDITOR + UnityEditor.EditorApplication.isPlaying = false; +#endif + } + } + + /// + /// 注册游戏框架模块。 + /// + /// 要注册的游戏框架模块。 + internal static void RegisterModule(Module module) + { + if (module == null) + { + Log.Error("Module is invalid."); + return; + } + + Type type = module.GetType(); + + LinkedListNode current = _modules.First; + while (current != null) + { + if (current.Value.GetType() == type) + { + Log.Error("Game Framework component type '{0}' is already exist.", type.FullName); + return; + } + + current = current.Next; + } + + _modules.AddLast(module); + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleSystem.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleSystem.cs.meta new file mode 100644 index 00000000..b003bbc9 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ModuleSystem.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d3f0059418a84d0d8aaebdbc005bb1f5 +timeCreated: 1694839938 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ShutdownType.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ShutdownType.cs new file mode 100644 index 00000000..843491f9 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ShutdownType.cs @@ -0,0 +1,23 @@ +namespace SHFrame +{ + /// + /// 关闭游戏框架类型。 + /// + public enum ShutdownType : byte + { + /// + /// 仅关闭游戏框架。 + /// + None = 0, + + /// + /// 关闭游戏框架并重启游戏。 + /// + Restart, + + /// + /// 关闭游戏框架并退出游戏。 + /// + Quit, + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ShutdownType.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ShutdownType.cs.meta new file mode 100644 index 00000000..55f3e5d8 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ModuleCore/ShutdownType.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e004d71ac8074d1ab0021efcf433f34d +timeCreated: 1694840037 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool.meta new file mode 100644 index 00000000..481ff1df --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 52214ae888604bf7a3dc4b6b1241adff +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPool.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPool.cs new file mode 100644 index 00000000..b51e85f5 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPool.cs @@ -0,0 +1,218 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; + +namespace SHFrame +{ + /// + /// 对象池接口。 + /// + /// 对象类型。 + public interface IObjectPool where T : ObjectBase + { + /// + /// 获取对象池名称。 + /// + string Name + { + get; + } + + /// + /// 获取对象池完整名称。 + /// + string FullName + { + get; + } + + /// + /// 获取对象池对象类型。 + /// + Type ObjectType + { + get; + } + + /// + /// 获取对象池中对象的数量。 + /// + int Count + { + get; + } + + /// + /// 获取对象池中能被释放的对象的数量。 + /// + int CanReleaseCount + { + get; + } + + /// + /// 获取是否允许对象被多次获取。 + /// + bool AllowMultiSpawn + { + get; + } + + /// + /// 获取或设置对象池自动释放可释放对象的间隔秒数。 + /// + float AutoReleaseInterval + { + get; + set; + } + + /// + /// 获取或设置对象池的容量。 + /// + int Capacity + { + get; + set; + } + + /// + /// 获取或设置对象池对象过期秒数。 + /// + float ExpireTime + { + get; + set; + } + + /// + /// 获取或设置对象池的优先级。 + /// + int Priority + { + get; + set; + } + + /// + /// 创建对象。 + /// + /// 对象。 + /// 对象是否已被获取。 + void Register(T obj, bool spawned); + + /// + /// 检查对象。 + /// + /// 要检查的对象是否存在。 + bool CanSpawn(); + + /// + /// 检查对象。 + /// + /// 对象名称。 + /// 要检查的对象是否存在。 + bool CanSpawn(string name); + + /// + /// 获取对象。 + /// + /// 要获取的对象。 + T Spawn(); + + /// + /// 获取对象。 + /// + /// 对象名称。 + /// 要获取的对象。 + T Spawn(string name); + + /// + /// 回收对象。 + /// + /// 要回收的对象。 + void Unspawn(T obj); + + /// + /// 回收对象。 + /// + /// 要回收的对象。 + void Unspawn(object target); + + /// + /// 设置对象是否被加锁。 + /// + /// 要设置被加锁的对象。 + /// 是否被加锁。 + void SetLocked(T obj, bool locked); + + /// + /// 设置对象是否被加锁。 + /// + /// 要设置被加锁的对象。 + /// 是否被加锁。 + void SetLocked(object target, bool locked); + + /// + /// 设置对象的优先级。 + /// + /// 要设置优先级的对象。 + /// 优先级。 + void SetPriority(T obj, int priority); + + /// + /// 设置对象的优先级。 + /// + /// 要设置优先级的对象。 + /// 优先级。 + void SetPriority(object target, int priority); + + /// + /// 释放对象。 + /// + /// 要释放的对象。 + /// 释放对象是否成功。 + bool ReleaseObject(T obj); + + /// + /// 释放对象。 + /// + /// 要释放的对象。 + /// 释放对象是否成功。 + bool ReleaseObject(object target); + + /// + /// 释放对象池中的可释放对象。 + /// + void Release(); + + /// + /// 释放对象池中的可释放对象。 + /// + /// 尝试释放对象数量。 + void Release(int toReleaseCount); + + /// + /// 释放对象池中的可释放对象。 + /// + /// 释放对象筛选函数。 + void Release(ReleaseObjectFilterCallback releaseObjectFilterCallback); + + /// + /// 释放对象池中的可释放对象。 + /// + /// 尝试释放对象数量。 + /// 释放对象筛选函数。 + void Release(int toReleaseCount, ReleaseObjectFilterCallback releaseObjectFilterCallback); + + /// + /// 释放对象池中的所有未使用对象。 + /// + void ReleaseAllUnused(); + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPool.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPool.cs.meta new file mode 100644 index 00000000..9ec24a99 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPool.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4d548f22ce18454a806f5f61ee71c75d +timeCreated: 1708673686 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPoolManager.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPoolManager.cs new file mode 100644 index 00000000..db5be081 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPoolManager.cs @@ -0,0 +1,751 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Collections.Generic; + +namespace SHFrame +{ + /// + /// 对象池管理器。 + /// + public interface IObjectPoolManager + { + /// + /// 获取对象池数量。 + /// + int Count + { + get; + } + + /// + /// 检查是否存在对象池。 + /// + /// 对象类型。 + /// 是否存在对象池。 + bool HasObjectPool() where T : ObjectBase; + + /// + /// 检查是否存在对象池。 + /// + /// 对象类型。 + /// 是否存在对象池。 + bool HasObjectPool(Type objectType); + + /// + /// 检查是否存在对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 是否存在对象池。 + bool HasObjectPool(string name) where T : ObjectBase; + + /// + /// 检查是否存在对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 是否存在对象池。 + bool HasObjectPool(Type objectType, string name); + + /// + /// 检查是否存在对象池。 + /// + /// 要检查的条件。 + /// 是否存在对象池。 + bool HasObjectPool(Predicate condition); + + /// + /// 获取对象池。 + /// + /// 对象类型。 + /// 要获取的对象池。 + IObjectPool GetObjectPool() where T : ObjectBase; + + /// + /// 获取对象池。 + /// + /// 对象类型。 + /// 要获取的对象池。 + ObjectPoolBase GetObjectPool(Type objectType); + + /// + /// 获取对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要获取的对象池。 + IObjectPool GetObjectPool(string name) where T : ObjectBase; + + /// + /// 获取对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要获取的对象池。 + ObjectPoolBase GetObjectPool(Type objectType, string name); + + /// + /// 获取对象池。 + /// + /// 要检查的条件。 + /// 要获取的对象池。 + ObjectPoolBase GetObjectPool(Predicate condition); + + /// + /// 获取对象池。 + /// + /// 要检查的条件。 + /// 要获取的对象池。 + ObjectPoolBase[] GetObjectPools(Predicate condition); + + /// + /// 获取对象池。 + /// + /// 要检查的条件。 + /// 要获取的对象池。 + void GetObjectPools(Predicate condition, List results); + + /// + /// 获取所有对象池。 + /// + /// 所有对象池。 + ObjectPoolBase[] GetAllObjectPools(); + + /// + /// 获取所有对象池。 + /// + /// 所有对象池。 + void GetAllObjectPools(List results); + + /// + /// 获取所有对象池。 + /// + /// 是否根据对象池的优先级排序。 + /// 所有对象池。 + ObjectPoolBase[] GetAllObjectPools(bool sort); + + /// + /// 获取所有对象池。 + /// + /// 是否根据对象池的优先级排序。 + /// 所有对象池。 + void GetAllObjectPools(bool sort, List results); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool() where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(string name) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(int capacity) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(float expireTime) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, float expireTime); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(string name, int capacity) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(string name, float expireTime) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, float expireTime); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(int capacity, float expireTime) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity, float expireTime); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(int capacity, int priority) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity, int priority); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(float expireTime, int priority) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, float expireTime, int priority); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(string name, int capacity, float expireTime) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity, float expireTime); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(string name, int capacity, int priority) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity, int priority); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(string name, float expireTime, int priority) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, float expireTime, int priority); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(int capacity, float expireTime, int priority) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity, float expireTime, int priority); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(string name, int capacity, float expireTime, int priority) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity, float expireTime, int priority); + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池自动释放可释放对象的间隔秒数。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + IObjectPool CreateSingleSpawnObjectPool(string name, float autoReleaseInterval, int capacity, float expireTime, int priority) where T : ObjectBase; + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池自动释放可释放对象的间隔秒数。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, float autoReleaseInterval, int capacity, float expireTime, int priority); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool() where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(string name) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(int capacity) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(float expireTime) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, float expireTime); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(string name, int capacity) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(string name, float expireTime) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, float expireTime); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(int capacity, float expireTime) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity, float expireTime); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(int capacity, int priority) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity, int priority); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(float expireTime, int priority) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, float expireTime, int priority); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(string name, int capacity, float expireTime) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity, float expireTime); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(string name, int capacity, int priority) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity, int priority); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(string name, float expireTime, int priority) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, float expireTime, int priority); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(int capacity, float expireTime, int priority) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity, float expireTime, int priority); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(string name, int capacity, float expireTime, int priority) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity, float expireTime, int priority); + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池自动释放可释放对象的间隔秒数。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + IObjectPool CreateMultiSpawnObjectPool(string name, float autoReleaseInterval, int capacity, float expireTime, int priority) where T : ObjectBase; + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池自动释放可释放对象的间隔秒数。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, float autoReleaseInterval, int capacity, float expireTime, int priority); + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 是否销毁对象池成功。 + bool DestroyObjectPool() where T : ObjectBase; + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 是否销毁对象池成功。 + bool DestroyObjectPool(Type objectType); + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 要销毁的对象池名称。 + /// 是否销毁对象池成功。 + bool DestroyObjectPool(string name) where T : ObjectBase; + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 要销毁的对象池名称。 + /// 是否销毁对象池成功。 + bool DestroyObjectPool(Type objectType, string name); + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 要销毁的对象池。 + /// 是否销毁对象池成功。 + bool DestroyObjectPool(IObjectPool objectPool) where T : ObjectBase; + + /// + /// 销毁对象池。 + /// + /// 要销毁的对象池。 + /// 是否销毁对象池成功。 + bool DestroyObjectPool(ObjectPoolBase objectPool); + + /// + /// 释放对象池中的可释放对象。 + /// + void Release(); + + /// + /// 释放对象池中的所有未使用对象。 + /// + void ReleaseAllUnused(); + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPoolManager.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPoolManager.cs.meta new file mode 100644 index 00000000..8a59904a --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/IObjectPoolManager.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4e06b511ecf14c3e8a183ed7492f70dc +timeCreated: 1708673686 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectBase.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectBase.cs new file mode 100644 index 00000000..6099d8e8 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectBase.cs @@ -0,0 +1,207 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; + +namespace SHFrame +{ + /// + /// 对象基类。 + /// + public abstract class ObjectBase : IReference + { + private string m_Name; + private object m_Target; + private bool m_Locked; + private int m_Priority; + private DateTime m_LastUseTime; + + /// + /// 初始化对象基类的新实例。 + /// + public ObjectBase() + { + m_Name = null; + m_Target = null; + m_Locked = false; + m_Priority = 0; + m_LastUseTime = default(DateTime); + } + + /// + /// 获取对象名称。 + /// + public string Name + { + get + { + return m_Name; + } + } + + /// + /// 获取对象。 + /// + public object Target + { + get + { + return m_Target; + } + } + + /// + /// 获取或设置对象是否被加锁。 + /// + public bool Locked + { + get + { + return m_Locked; + } + set + { + m_Locked = value; + } + } + + /// + /// 获取或设置对象的优先级。 + /// + public int Priority + { + get + { + return m_Priority; + } + set + { + m_Priority = value; + } + } + + /// + /// 获取自定义释放检查标记。 + /// + public virtual bool CustomCanReleaseFlag + { + get + { + return true; + } + } + + /// + /// 获取对象上次使用时间。 + /// + public DateTime LastUseTime + { + get + { + return m_LastUseTime; + } + internal set + { + m_LastUseTime = value; + } + } + + /// + /// 初始化对象基类。 + /// + /// 对象。 + protected void Initialize(object target) + { + Initialize(null, target, false, 0); + } + + /// + /// 初始化对象基类。 + /// + /// 对象名称。 + /// 对象。 + protected void Initialize(string name, object target) + { + Initialize(name, target, false, 0); + } + + /// + /// 初始化对象基类。 + /// + /// 对象名称。 + /// 对象。 + /// 对象是否被加锁。 + protected void Initialize(string name, object target, bool locked) + { + Initialize(name, target, locked, 0); + } + + /// + /// 初始化对象基类。 + /// + /// 对象名称。 + /// 对象。 + /// 对象的优先级。 + protected void Initialize(string name, object target, int priority) + { + Initialize(name, target, false, priority); + } + + /// + /// 初始化对象基类。 + /// + /// 对象名称。 + /// 对象。 + /// 对象是否被加锁。 + /// 对象的优先级。 + protected void Initialize(string name, object target, bool locked, int priority) + { + if (target == null) + { + throw new GameFrameworkException(Utility.Text.Format("Target '{0}' is invalid.", name)); + } + + m_Name = name ?? string.Empty; + m_Target = target; + m_Locked = locked; + m_Priority = priority; + m_LastUseTime = DateTime.UtcNow; + } + + /// + /// 清理对象基类。 + /// + public virtual void Clear() + { + m_Name = null; + m_Target = null; + m_Locked = false; + m_Priority = 0; + m_LastUseTime = default(DateTime); + } + + /// + /// 获取对象时的事件。 + /// + protected internal virtual void OnSpawn() + { + } + + /// + /// 回收对象时的事件。 + /// + protected internal virtual void OnUnspawn() + { + } + + /// + /// 释放对象。 + /// + /// 是否是关闭对象池时触发。 + protected internal abstract void Release(bool isShutdown); + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectBase.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectBase.cs.meta new file mode 100644 index 00000000..e5d8e91b --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectBase.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1aa534825636481e87032c12e5faa895 +timeCreated: 1708673686 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectInfo.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectInfo.cs new file mode 100644 index 00000000..ede78d88 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectInfo.cs @@ -0,0 +1,122 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Runtime.InteropServices; + +namespace SHFrame +{ + /// + /// 对象信息。 + /// + [StructLayout(LayoutKind.Auto)] + public struct ObjectInfo + { + private readonly string m_Name; + private readonly bool m_Locked; + private readonly bool m_CustomCanReleaseFlag; + private readonly int m_Priority; + private readonly DateTime m_LastUseTime; + private readonly int m_SpawnCount; + + /// + /// 初始化对象信息的新实例。 + /// + /// 对象名称。 + /// 对象是否被加锁。 + /// 对象自定义释放检查标记。 + /// 对象的优先级。 + /// 对象上次使用时间。 + /// 对象的获取计数。 + public ObjectInfo(string name, bool locked, bool customCanReleaseFlag, int priority, DateTime lastUseTime, int spawnCount) + { + m_Name = name; + m_Locked = locked; + m_CustomCanReleaseFlag = customCanReleaseFlag; + m_Priority = priority; + m_LastUseTime = lastUseTime; + m_SpawnCount = spawnCount; + } + + /// + /// 获取对象名称。 + /// + public string Name + { + get + { + return m_Name; + } + } + + /// + /// 获取对象是否被加锁。 + /// + public bool Locked + { + get + { + return m_Locked; + } + } + + /// + /// 获取对象自定义释放检查标记。 + /// + public bool CustomCanReleaseFlag + { + get + { + return m_CustomCanReleaseFlag; + } + } + + /// + /// 获取对象的优先级。 + /// + public int Priority + { + get + { + return m_Priority; + } + } + + /// + /// 获取对象上次使用时间。 + /// + public DateTime LastUseTime + { + get + { + return m_LastUseTime; + } + } + + /// + /// 获取对象是否正在使用。 + /// + public bool IsInUse + { + get + { + return m_SpawnCount > 0; + } + } + + /// + /// 获取对象的获取计数。 + /// + public int SpawnCount + { + get + { + return m_SpawnCount; + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectInfo.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectInfo.cs.meta new file mode 100644 index 00000000..a1110983 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectInfo.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 383ecd9134c14f8b89494e4e49b9c42c +timeCreated: 1708673686 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolBase.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolBase.cs new file mode 100644 index 00000000..fc6e0a0a --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolBase.cs @@ -0,0 +1,152 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; + +namespace SHFrame +{ + /// + /// 对象池基类。 + /// + public abstract class ObjectPoolBase + { + private readonly string m_Name; + + /// + /// 初始化对象池基类的新实例。 + /// + public ObjectPoolBase() + : this(null) + { + } + + /// + /// 初始化对象池基类的新实例。 + /// + /// 对象池名称。 + public ObjectPoolBase(string name) + { + m_Name = name ?? string.Empty; + } + + /// + /// 获取对象池名称。 + /// + public string Name + { + get + { + return m_Name; + } + } + + /// + /// 获取对象池完整名称。 + /// + public string FullName + { + get + { + return new TypeNamePair(ObjectType, m_Name).ToString(); + } + } + + /// + /// 获取对象池对象类型。 + /// + public abstract Type ObjectType + { + get; + } + + /// + /// 获取对象池中对象的数量。 + /// + public abstract int Count + { + get; + } + + /// + /// 获取对象池中能被释放的对象的数量。 + /// + public abstract int CanReleaseCount + { + get; + } + + /// + /// 获取是否允许对象被多次获取。 + /// + public abstract bool AllowMultiSpawn + { + get; + } + + /// + /// 获取或设置对象池自动释放可释放对象的间隔秒数。 + /// + public abstract float AutoReleaseInterval + { + get; + set; + } + + /// + /// 获取或设置对象池的容量。 + /// + public abstract int Capacity + { + get; + set; + } + + /// + /// 获取或设置对象池对象过期秒数。 + /// + public abstract float ExpireTime + { + get; + set; + } + + /// + /// 获取或设置对象池的优先级。 + /// + public abstract int Priority + { + get; + set; + } + + /// + /// 释放对象池中的可释放对象。 + /// + public abstract void Release(); + + /// + /// 释放对象池中的可释放对象。 + /// + /// 尝试释放对象数量。 + public abstract void Release(int toReleaseCount); + + /// + /// 释放对象池中的所有未使用对象。 + /// + public abstract void ReleaseAllUnused(); + + /// + /// 获取所有对象信息。 + /// + /// 所有对象信息。 + public abstract ObjectInfo[] GetAllObjectInfos(); + + internal abstract void Update(float elapseSeconds, float realElapseSeconds); + + internal abstract void Shutdown(); + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolBase.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolBase.cs.meta new file mode 100644 index 00000000..ff297985 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolBase.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7feeaa70df6e49e8ac5f289d63942c70 +timeCreated: 1708673686 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.Object.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.Object.cs new file mode 100644 index 00000000..d29c465c --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.Object.cs @@ -0,0 +1,200 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; + +namespace SHFrame +{ + internal sealed partial class ObjectPoolManager : ModuleImp, IObjectPoolManager + { + /// + /// 内部对象。 + /// + /// 对象类型。 + private sealed class Object : IReference where T : ObjectBase + { + private T m_Object; + private int m_SpawnCount; + + /// + /// 初始化内部对象的新实例。 + /// + public Object() + { + m_Object = null; + m_SpawnCount = 0; + } + + /// + /// 获取对象名称。 + /// + public string Name + { + get + { + return m_Object.Name; + } + } + + /// + /// 获取对象是否被加锁。 + /// + public bool Locked + { + get + { + return m_Object.Locked; + } + internal set + { + m_Object.Locked = value; + } + } + + /// + /// 获取对象的优先级。 + /// + public int Priority + { + get + { + return m_Object.Priority; + } + internal set + { + m_Object.Priority = value; + } + } + + /// + /// 获取自定义释放检查标记。 + /// + public bool CustomCanReleaseFlag + { + get + { + return m_Object.CustomCanReleaseFlag; + } + } + + /// + /// 获取对象上次使用时间。 + /// + public DateTime LastUseTime + { + get + { + return m_Object.LastUseTime; + } + } + + /// + /// 获取对象是否正在使用。 + /// + public bool IsInUse + { + get + { + return m_SpawnCount > 0; + } + } + + /// + /// 获取对象的获取计数。 + /// + public int SpawnCount + { + get + { + return m_SpawnCount; + } + } + + /// + /// 创建内部对象。 + /// + /// 对象。 + /// 对象是否已被获取。 + /// 创建的内部对象。 + public static Object Create(T obj, bool spawned) + { + if (obj == null) + { + throw new GameFrameworkException("Object is invalid."); + } + + Object internalObject = ReferencePool.Acquire>(); + internalObject.m_Object = obj; + internalObject.m_SpawnCount = spawned ? 1 : 0; + if (spawned) + { + obj.OnSpawn(); + } + + return internalObject; + } + + /// + /// 清理内部对象。 + /// + public void Clear() + { + m_Object = null; + m_SpawnCount = 0; + } + + /// + /// 查看对象。 + /// + /// 对象。 + public T Peek() + { + return m_Object; + } + + /// + /// 获取对象。 + /// + /// 对象。 + public T Spawn() + { + m_SpawnCount++; + m_Object.LastUseTime = DateTime.UtcNow; + m_Object.OnSpawn(); + return m_Object; + } + + /// + /// 回收对象。 + /// + public void Unspawn() + { + if(m_SpawnCount == 0) + { + return; + } + m_Object.OnUnspawn(); + m_Object.LastUseTime = DateTime.UtcNow; + m_SpawnCount--; + if (m_SpawnCount < 0) + { + throw new GameFrameworkException(Utility.Text.Format("Object '{0}' spawn count is less than 0.", Name)); + } + } + + /// + /// 释放对象。 + /// + /// 是否是关闭对象池时触发。 + public void Release(bool isShutdown) + { + m_Object.Release(isShutdown); + ReferencePool.Release(m_Object); + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.Object.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.Object.cs.meta new file mode 100644 index 00000000..485a926e --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.Object.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ad6098a006474f6f8ad774fff96556ce +timeCreated: 1708673686 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.ObjectPool.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.ObjectPool.cs new file mode 100644 index 00000000..53425ea3 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.ObjectPool.cs @@ -0,0 +1,637 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Collections.Generic; + +namespace SHFrame +{ + internal sealed partial class ObjectPoolManager : ModuleImp, IObjectPoolManager + { + /// + /// 对象池。 + /// + /// 对象类型。 + private sealed class ObjectPool : ObjectPoolBase, IObjectPool where T : ObjectBase + { + private readonly GameFrameworkMultiDictionary> m_Objects; + private readonly Dictionary> m_ObjectMap; + private readonly ReleaseObjectFilterCallback m_DefaultReleaseObjectFilterCallback; + private readonly List m_CachedCanReleaseObjects; + private readonly List m_CachedToReleaseObjects; + private readonly bool m_AllowMultiSpawn; + private float m_AutoReleaseInterval; + private int m_Capacity; + private float m_ExpireTime; + private int m_Priority; + private float m_AutoReleaseTime; + + /// + /// 初始化对象池的新实例。 + /// + /// 对象池名称。 + /// 是否允许对象被多次获取。 + /// 对象池自动释放可释放对象的间隔秒数。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + public ObjectPool(string name, bool allowMultiSpawn, float autoReleaseInterval, int capacity, float expireTime, int priority) + : base(name) + { + m_Objects = new GameFrameworkMultiDictionary>(); + m_ObjectMap = new Dictionary>(); + m_DefaultReleaseObjectFilterCallback = DefaultReleaseObjectFilterCallback; + m_CachedCanReleaseObjects = new List(); + m_CachedToReleaseObjects = new List(); + m_AllowMultiSpawn = allowMultiSpawn; + m_AutoReleaseInterval = autoReleaseInterval; + Capacity = capacity; + ExpireTime = expireTime; + m_Priority = priority; + m_AutoReleaseTime = 0f; + } + + /// + /// 获取对象池对象类型。 + /// + public override Type ObjectType + { + get + { + return typeof(T); + } + } + + /// + /// 获取对象池中对象的数量。 + /// + public override int Count + { + get + { + return m_ObjectMap.Count; + } + } + + /// + /// 获取对象池中能被释放的对象的数量。 + /// + public override int CanReleaseCount + { + get + { + GetCanReleaseObjects(m_CachedCanReleaseObjects); + return m_CachedCanReleaseObjects.Count; + } + } + + /// + /// 获取是否允许对象被多次获取。 + /// + public override bool AllowMultiSpawn + { + get + { + return m_AllowMultiSpawn; + } + } + + /// + /// 获取或设置对象池自动释放可释放对象的间隔秒数。 + /// + public override float AutoReleaseInterval + { + get + { + return m_AutoReleaseInterval; + } + set + { + m_AutoReleaseInterval = value; + } + } + + /// + /// 获取或设置对象池的容量。 + /// + public override int Capacity + { + get + { + return m_Capacity; + } + set + { + if (value < 0) + { + throw new GameFrameworkException("Capacity is invalid."); + } + + if (m_Capacity == value) + { + return; + } + + m_Capacity = value; + Release(); + } + } + + /// + /// 获取或设置对象池对象过期秒数。 + /// + public override float ExpireTime + { + get + { + return m_ExpireTime; + } + + set + { + if (value < 0f) + { + throw new GameFrameworkException("ExpireTime is invalid."); + } + + if (ExpireTime == value) + { + return; + } + + m_ExpireTime = value; + Release(); + } + } + + /// + /// 获取或设置对象池的优先级。 + /// + public override int Priority + { + get + { + return m_Priority; + } + set + { + m_Priority = value; + } + } + + /// + /// 创建对象。 + /// + /// 对象。 + /// 对象是否已被获取。 + public void Register(T obj, bool spawned) + { + if (obj == null) + { + throw new GameFrameworkException("Object is invalid."); + } + + Object internalObject = Object.Create(obj, spawned); + m_Objects.Add(obj.Name, internalObject); + m_ObjectMap.Add(obj.Target, internalObject); + + if (Count > m_Capacity) + { + Release(); + } + } + + /// + /// 检查对象。 + /// + /// 要检查的对象是否存在。 + public bool CanSpawn() + { + return CanSpawn(string.Empty); + } + + /// + /// 检查对象。 + /// + /// 对象名称。 + /// 要检查的对象是否存在。 + public bool CanSpawn(string name) + { + if (name == null) + { + throw new GameFrameworkException("Name is invalid."); + } + + GameFrameworkLinkedListRange> objectRange = default(GameFrameworkLinkedListRange>); + if (m_Objects.TryGetValue(name, out objectRange)) + { + foreach (Object internalObject in objectRange) + { + if (m_AllowMultiSpawn || !internalObject.IsInUse) + { + return true; + } + } + } + + return false; + } + + /// + /// 获取对象。 + /// + /// 要获取的对象。 + public T Spawn() + { + return Spawn(string.Empty); + } + + /// + /// 获取对象。 + /// + /// 对象名称。 + /// 要获取的对象。 + public T Spawn(string name) + { + if (name == null) + { + throw new GameFrameworkException("Name is invalid."); + } + + GameFrameworkLinkedListRange> objectRange = default(GameFrameworkLinkedListRange>); + if (m_Objects.TryGetValue(name, out objectRange)) + { + foreach (Object internalObject in objectRange) + { + if (m_AllowMultiSpawn || !internalObject.IsInUse) + { + return internalObject.Spawn(); + } + } + } + + return null; + } + + /// + /// 回收对象。 + /// + /// 要回收的对象。 + public void Unspawn(T obj) + { + if (obj == null) + { + throw new GameFrameworkException("Object is invalid."); + } + + Unspawn(obj.Target); + } + + /// + /// 回收对象。 + /// + /// 要回收的对象。 + public void Unspawn(object target) + { + if (target == null) + { + throw new GameFrameworkException("Target is invalid."); + } + + Object internalObject = GetObject(target); + if (internalObject != null) + { + internalObject.Unspawn(); + if (Count > m_Capacity && internalObject.SpawnCount <= 0) + { + Release(); + } + } + else + { + throw new GameFrameworkException(Utility.Text.Format("Can not find target in object pool '{0}', target type is '{1}', target value is '{2}'.", new TypeNamePair(typeof(T), Name), target.GetType().FullName, target)); + } + } + + /// + /// 设置对象是否被加锁。 + /// + /// 要设置被加锁的对象。 + /// 是否被加锁。 + public void SetLocked(T obj, bool locked) + { + if (obj == null) + { + throw new GameFrameworkException("Object is invalid."); + } + + SetLocked(obj.Target, locked); + } + + /// + /// 设置对象是否被加锁。 + /// + /// 要设置被加锁的对象。 + /// 是否被加锁。 + public void SetLocked(object target, bool locked) + { + if (target == null) + { + throw new GameFrameworkException("Target is invalid."); + } + + Object internalObject = GetObject(target); + if (internalObject != null) + { + internalObject.Locked = locked; + } + else + { + throw new GameFrameworkException(Utility.Text.Format("Can not find target in object pool '{0}', target type is '{1}', target value is '{2}'.", new TypeNamePair(typeof(T), Name), target.GetType().FullName, target)); + } + } + + /// + /// 设置对象的优先级。 + /// + /// 要设置优先级的对象。 + /// 优先级。 + public void SetPriority(T obj, int priority) + { + if (obj == null) + { + throw new GameFrameworkException("Object is invalid."); + } + + SetPriority(obj.Target, priority); + } + + /// + /// 设置对象的优先级。 + /// + /// 要设置优先级的对象。 + /// 优先级。 + public void SetPriority(object target, int priority) + { + if (target == null) + { + throw new GameFrameworkException("Target is invalid."); + } + + Object internalObject = GetObject(target); + if (internalObject != null) + { + internalObject.Priority = priority; + } + else + { + throw new GameFrameworkException(Utility.Text.Format("Can not find target in object pool '{0}', target type is '{1}', target value is '{2}'.", new TypeNamePair(typeof(T), Name), target.GetType().FullName, target)); + } + } + + /// + /// 释放对象。 + /// + /// 要释放的对象。 + /// 释放对象是否成功。 + public bool ReleaseObject(T obj) + { + if (obj == null) + { + throw new GameFrameworkException("Object is invalid."); + } + + return ReleaseObject(obj.Target); + } + + /// + /// 释放对象。 + /// + /// 要释放的对象。 + /// 释放对象是否成功。 + public bool ReleaseObject(object target) + { + if (target == null) + { + throw new GameFrameworkException("Target is invalid."); + } + + Object internalObject = GetObject(target); + if (internalObject == null) + { + return false; + } + + if (internalObject.IsInUse || internalObject.Locked || !internalObject.CustomCanReleaseFlag) + { + return false; + } + + m_Objects.Remove(internalObject.Name, internalObject); + m_ObjectMap.Remove(internalObject.Peek().Target); + + internalObject.Release(false); + ReferencePool.Release(internalObject); + return true; + } + + /// + /// 释放对象池中的可释放对象。 + /// + public override void Release() + { + Release(Count - m_Capacity, m_DefaultReleaseObjectFilterCallback); + } + + /// + /// 释放对象池中的可释放对象。 + /// + /// 尝试释放对象数量。 + public override void Release(int toReleaseCount) + { + Release(toReleaseCount, m_DefaultReleaseObjectFilterCallback); + } + + /// + /// 释放对象池中的可释放对象。 + /// + /// 释放对象筛选函数。 + public void Release(ReleaseObjectFilterCallback releaseObjectFilterCallback) + { + Release(Count - m_Capacity, releaseObjectFilterCallback); + } + + /// + /// 释放对象池中的可释放对象。 + /// + /// 尝试释放对象数量。 + /// 释放对象筛选函数。 + public void Release(int toReleaseCount, ReleaseObjectFilterCallback releaseObjectFilterCallback) + { + if (releaseObjectFilterCallback == null) + { + throw new GameFrameworkException("Release object filter callback is invalid."); + } + + if (toReleaseCount < 0) + { + toReleaseCount = 0; + } + + DateTime expireTime = DateTime.MinValue; + if (m_ExpireTime < float.MaxValue) + { + expireTime = DateTime.UtcNow.AddSeconds(-m_ExpireTime); + } + + m_AutoReleaseTime = 0f; + GetCanReleaseObjects(m_CachedCanReleaseObjects); + List toReleaseObjects = releaseObjectFilterCallback(m_CachedCanReleaseObjects, toReleaseCount, expireTime); + if (toReleaseObjects == null || toReleaseObjects.Count <= 0) + { + return; + } + + foreach (T toReleaseObject in toReleaseObjects) + { + ReleaseObject(toReleaseObject); + } + } + + /// + /// 释放对象池中的所有未使用对象。 + /// + public override void ReleaseAllUnused() + { + m_AutoReleaseTime = 0f; + GetCanReleaseObjects(m_CachedCanReleaseObjects); + foreach (T toReleaseObject in m_CachedCanReleaseObjects) + { + ReleaseObject(toReleaseObject); + } + } + + /// + /// 获取所有对象信息。 + /// + /// 所有对象信息。 + public override ObjectInfo[] GetAllObjectInfos() + { + List results = new List(); + foreach (KeyValuePair>> objectRanges in m_Objects) + { + foreach (Object internalObject in objectRanges.Value) + { + results.Add(new ObjectInfo(internalObject.Name, internalObject.Locked, internalObject.CustomCanReleaseFlag, internalObject.Priority, internalObject.LastUseTime, internalObject.SpawnCount)); + } + } + + return results.ToArray(); + } + + internal override void Update(float elapseSeconds, float realElapseSeconds) + { + m_AutoReleaseTime += realElapseSeconds; + if (m_AutoReleaseTime < m_AutoReleaseInterval) + { + return; + } + + Release(); + } + + internal override void Shutdown() + { + foreach (KeyValuePair> objectInMap in m_ObjectMap) + { + objectInMap.Value.Release(true); + ReferencePool.Release(objectInMap.Value); + } + + m_Objects.Clear(); + m_ObjectMap.Clear(); + m_CachedCanReleaseObjects.Clear(); + m_CachedToReleaseObjects.Clear(); + } + + private Object GetObject(object target) + { + if (target == null) + { + throw new GameFrameworkException("Target is invalid."); + } + + Object internalObject = null; + if (m_ObjectMap.TryGetValue(target, out internalObject)) + { + return internalObject; + } + + return null; + } + + private void GetCanReleaseObjects(List results) + { + if (results == null) + { + throw new GameFrameworkException("Results is invalid."); + } + + results.Clear(); + foreach (KeyValuePair> objectInMap in m_ObjectMap) + { + Object internalObject = objectInMap.Value; + if (internalObject.IsInUse || internalObject.Locked || !internalObject.CustomCanReleaseFlag) + { + continue; + } + + results.Add(internalObject.Peek()); + } + } + + private List DefaultReleaseObjectFilterCallback(List candidateObjects, int toReleaseCount, DateTime expireTime) + { + m_CachedToReleaseObjects.Clear(); + + if (expireTime > DateTime.MinValue) + { + for (int i = candidateObjects.Count - 1; i >= 0; i--) + { + if (candidateObjects[i].LastUseTime <= expireTime) + { + m_CachedToReleaseObjects.Add(candidateObjects[i]); + candidateObjects.RemoveAt(i); + continue; + } + } + + toReleaseCount -= m_CachedToReleaseObjects.Count; + } + + for (int i = 0; toReleaseCount > 0 && i < candidateObjects.Count; i++) + { + for (int j = i + 1; j < candidateObjects.Count; j++) + { + if (candidateObjects[i].Priority > candidateObjects[j].Priority + || candidateObjects[i].Priority == candidateObjects[j].Priority && candidateObjects[i].LastUseTime > candidateObjects[j].LastUseTime) + { + T temp = candidateObjects[i]; + candidateObjects[i] = candidateObjects[j]; + candidateObjects[j] = temp; + } + } + + m_CachedToReleaseObjects.Add(candidateObjects[i]); + toReleaseCount--; + } + + return m_CachedToReleaseObjects; + } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.ObjectPool.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.ObjectPool.cs.meta new file mode 100644 index 00000000..866816fd --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.ObjectPool.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 47555abda225429bba3f1d33e7cf408a +timeCreated: 1708673686 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.cs new file mode 100644 index 00000000..fa3e473e --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.cs @@ -0,0 +1,1303 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Collections.Generic; + +namespace SHFrame +{ + /// + /// 对象池管理器。 + /// + internal sealed partial class ObjectPoolManager : ModuleImp, IObjectPoolManager + { + private const int DefaultCapacity = int.MaxValue; + private const float DefaultExpireTime = float.MaxValue; + private const int DefaultPriority = 0; + + private readonly Dictionary m_ObjectPools; + private readonly List m_CachedAllObjectPools; + private readonly Comparison m_ObjectPoolComparer; + + /// + /// 初始化对象池管理器的新实例。 + /// + public ObjectPoolManager() + { + m_ObjectPools = new Dictionary(); + m_CachedAllObjectPools = new List(); + m_ObjectPoolComparer = ObjectPoolComparer; + } + + /// + /// 获取游戏框架模块优先级。 + /// + /// 优先级较高的模块会优先轮询,并且关闭操作会后进行。 + internal override int Priority + { + get + { + return 6; + } + } + + /// + /// 获取对象池数量。 + /// + public int Count + { + get + { + return m_ObjectPools.Count; + } + } + + /// + /// 对象池管理器轮询。 + /// + /// 逻辑流逝时间,以秒为单位。 + /// 真实流逝时间,以秒为单位。 + internal override void Update(float elapseSeconds, float realElapseSeconds) + { + foreach (KeyValuePair objectPool in m_ObjectPools) + { + objectPool.Value.Update(elapseSeconds, realElapseSeconds); + } + } + + /// + /// 关闭并清理对象池管理器。 + /// + internal override void Shutdown() + { + foreach (KeyValuePair objectPool in m_ObjectPools) + { + objectPool.Value.Shutdown(); + } + + m_ObjectPools.Clear(); + m_CachedAllObjectPools.Clear(); + } + + /// + /// 检查是否存在对象池。 + /// + /// 对象类型。 + /// 是否存在对象池。 + public bool HasObjectPool() where T : ObjectBase + { + return InternalHasObjectPool(new TypeNamePair(typeof(T))); + } + + /// + /// 检查是否存在对象池。 + /// + /// 对象类型。 + /// 是否存在对象池。 + public bool HasObjectPool(Type objectType) + { + if (objectType == null) + { + throw new GameFrameworkException("Object type is invalid."); + } + + if (!typeof(ObjectBase).IsAssignableFrom(objectType)) + { + throw new GameFrameworkException(Utility.Text.Format("Object type '{0}' is invalid.", objectType.FullName)); + } + + return InternalHasObjectPool(new TypeNamePair(objectType)); + } + + /// + /// 检查是否存在对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 是否存在对象池。 + public bool HasObjectPool(string name) where T : ObjectBase + { + return InternalHasObjectPool(new TypeNamePair(typeof(T), name)); + } + + /// + /// 检查是否存在对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 是否存在对象池。 + public bool HasObjectPool(Type objectType, string name) + { + if (objectType == null) + { + throw new GameFrameworkException("Object type is invalid."); + } + + if (!typeof(ObjectBase).IsAssignableFrom(objectType)) + { + throw new GameFrameworkException(Utility.Text.Format("Object type '{0}' is invalid.", objectType.FullName)); + } + + return InternalHasObjectPool(new TypeNamePair(objectType, name)); + } + + /// + /// 检查是否存在对象池。 + /// + /// 要检查的条件。 + /// 是否存在对象池。 + public bool HasObjectPool(Predicate condition) + { + if (condition == null) + { + throw new GameFrameworkException("Condition is invalid."); + } + + foreach (KeyValuePair objectPool in m_ObjectPools) + { + if (condition(objectPool.Value)) + { + return true; + } + } + + return false; + } + + /// + /// 获取对象池。 + /// + /// 对象类型。 + /// 要获取的对象池。 + public IObjectPool GetObjectPool() where T : ObjectBase + { + return (IObjectPool)InternalGetObjectPool(new TypeNamePair(typeof(T))); + } + + /// + /// 获取对象池。 + /// + /// 对象类型。 + /// 要获取的对象池。 + public ObjectPoolBase GetObjectPool(Type objectType) + { + if (objectType == null) + { + throw new GameFrameworkException("Object type is invalid."); + } + + if (!typeof(ObjectBase).IsAssignableFrom(objectType)) + { + throw new GameFrameworkException(Utility.Text.Format("Object type '{0}' is invalid.", objectType.FullName)); + } + + return InternalGetObjectPool(new TypeNamePair(objectType)); + } + + /// + /// 获取对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要获取的对象池。 + public IObjectPool GetObjectPool(string name) where T : ObjectBase + { + return (IObjectPool)InternalGetObjectPool(new TypeNamePair(typeof(T), name)); + } + + /// + /// 获取对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要获取的对象池。 + public ObjectPoolBase GetObjectPool(Type objectType, string name) + { + if (objectType == null) + { + throw new GameFrameworkException("Object type is invalid."); + } + + if (!typeof(ObjectBase).IsAssignableFrom(objectType)) + { + throw new GameFrameworkException(Utility.Text.Format("Object type '{0}' is invalid.", objectType.FullName)); + } + + return InternalGetObjectPool(new TypeNamePair(objectType, name)); + } + + /// + /// 获取对象池。 + /// + /// 要检查的条件。 + /// 要获取的对象池。 + public ObjectPoolBase GetObjectPool(Predicate condition) + { + if (condition == null) + { + throw new GameFrameworkException("Condition is invalid."); + } + + foreach (KeyValuePair objectPool in m_ObjectPools) + { + if (condition(objectPool.Value)) + { + return objectPool.Value; + } + } + + return null; + } + + /// + /// 获取对象池。 + /// + /// 要检查的条件。 + /// 要获取的对象池。 + public ObjectPoolBase[] GetObjectPools(Predicate condition) + { + if (condition == null) + { + throw new GameFrameworkException("Condition is invalid."); + } + + List results = new List(); + foreach (KeyValuePair objectPool in m_ObjectPools) + { + if (condition(objectPool.Value)) + { + results.Add(objectPool.Value); + } + } + + return results.ToArray(); + } + + /// + /// 获取对象池。 + /// + /// 要检查的条件。 + /// 要获取的对象池。 + public void GetObjectPools(Predicate condition, List results) + { + if (condition == null) + { + throw new GameFrameworkException("Condition is invalid."); + } + + if (results == null) + { + throw new GameFrameworkException("Results is invalid."); + } + + results.Clear(); + foreach (KeyValuePair objectPool in m_ObjectPools) + { + if (condition(objectPool.Value)) + { + results.Add(objectPool.Value); + } + } + } + + /// + /// 获取所有对象池。 + /// + /// 所有对象池。 + public ObjectPoolBase[] GetAllObjectPools() + { + return GetAllObjectPools(false); + } + + /// + /// 获取所有对象池。 + /// + /// 所有对象池。 + public void GetAllObjectPools(List results) + { + GetAllObjectPools(false, results); + } + + /// + /// 获取所有对象池。 + /// + /// 是否根据对象池的优先级排序。 + /// 所有对象池。 + public ObjectPoolBase[] GetAllObjectPools(bool sort) + { + if (sort) + { + List results = new List(); + foreach (KeyValuePair objectPool in m_ObjectPools) + { + results.Add(objectPool.Value); + } + + results.Sort(m_ObjectPoolComparer); + return results.ToArray(); + } + else + { + int index = 0; + ObjectPoolBase[] results = new ObjectPoolBase[m_ObjectPools.Count]; + foreach (KeyValuePair objectPool in m_ObjectPools) + { + results[index++] = objectPool.Value; + } + + return results; + } + } + + /// + /// 获取所有对象池。 + /// + /// 是否根据对象池的优先级排序。 + /// 所有对象池。 + public void GetAllObjectPools(bool sort, List results) + { + if (results == null) + { + throw new GameFrameworkException("Results is invalid."); + } + + results.Clear(); + foreach (KeyValuePair objectPool in m_ObjectPools) + { + results.Add(objectPool.Value); + } + + if (sort) + { + results.Sort(m_ObjectPoolComparer); + } + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool() where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, false, DefaultExpireTime, DefaultCapacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType) + { + return InternalCreateObjectPool(objectType, string.Empty, false, DefaultExpireTime, DefaultCapacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name) where T : ObjectBase + { + return InternalCreateObjectPool(name, false, DefaultExpireTime, DefaultCapacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name) + { + return InternalCreateObjectPool(objectType, name, false, DefaultExpireTime, DefaultCapacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(int capacity) where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, false, DefaultExpireTime, capacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity) + { + return InternalCreateObjectPool(objectType, string.Empty, false, DefaultExpireTime, capacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(float expireTime) where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, false, expireTime, DefaultCapacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, float expireTime) + { + return InternalCreateObjectPool(objectType, string.Empty, false, expireTime, DefaultCapacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, int capacity) where T : ObjectBase + { + return InternalCreateObjectPool(name, false, DefaultExpireTime, capacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity) + { + return InternalCreateObjectPool(objectType, name, false, DefaultExpireTime, capacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, float expireTime) where T : ObjectBase + { + return InternalCreateObjectPool(name, false, expireTime, DefaultCapacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, float expireTime) + { + return InternalCreateObjectPool(objectType, name, false, expireTime, DefaultCapacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(int capacity, float expireTime) where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, false, expireTime, capacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity, float expireTime) + { + return InternalCreateObjectPool(objectType, string.Empty, false, expireTime, capacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(int capacity, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, false, DefaultExpireTime, capacity, DefaultExpireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity, int priority) + { + return InternalCreateObjectPool(objectType, string.Empty, false, DefaultExpireTime, capacity, DefaultExpireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(float expireTime, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, false, expireTime, DefaultCapacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, float expireTime, int priority) + { + return InternalCreateObjectPool(objectType, string.Empty, false, expireTime, DefaultCapacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, int capacity, float expireTime) where T : ObjectBase + { + return InternalCreateObjectPool(name, false, expireTime, capacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity, float expireTime) + { + return InternalCreateObjectPool(objectType, name, false, expireTime, capacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, int capacity, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(name, false, DefaultExpireTime, capacity, DefaultExpireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity, int priority) + { + return InternalCreateObjectPool(objectType, name, false, DefaultExpireTime, capacity, DefaultExpireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, float expireTime, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(name, false, expireTime, DefaultCapacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, float expireTime, int priority) + { + return InternalCreateObjectPool(objectType, name, false, expireTime, DefaultCapacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(int capacity, float expireTime, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, false, expireTime, capacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity, float expireTime, int priority) + { + return InternalCreateObjectPool(objectType, string.Empty, false, expireTime, capacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, int capacity, float expireTime, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(name, false, expireTime, capacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity, float expireTime, int priority) + { + return InternalCreateObjectPool(objectType, name, false, expireTime, capacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池自动释放可释放对象的间隔秒数。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, float autoReleaseInterval, int capacity, float expireTime, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(name, false, autoReleaseInterval, capacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池自动释放可释放对象的间隔秒数。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, float autoReleaseInterval, int capacity, float expireTime, int priority) + { + return InternalCreateObjectPool(objectType, name, false, autoReleaseInterval, capacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool() where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, true, DefaultExpireTime, DefaultCapacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType) + { + return InternalCreateObjectPool(objectType, string.Empty, true, DefaultExpireTime, DefaultCapacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name) where T : ObjectBase + { + return InternalCreateObjectPool(name, true, DefaultExpireTime, DefaultCapacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name) + { + return InternalCreateObjectPool(objectType, name, true, DefaultExpireTime, DefaultCapacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(int capacity) where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, true, DefaultExpireTime, capacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity) + { + return InternalCreateObjectPool(objectType, string.Empty, true, DefaultExpireTime, capacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(float expireTime) where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, true, expireTime, DefaultCapacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, float expireTime) + { + return InternalCreateObjectPool(objectType, string.Empty, true, expireTime, DefaultCapacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, int capacity) where T : ObjectBase + { + return InternalCreateObjectPool(name, true, DefaultExpireTime, capacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity) + { + return InternalCreateObjectPool(objectType, name, true, DefaultExpireTime, capacity, DefaultExpireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, float expireTime) where T : ObjectBase + { + return InternalCreateObjectPool(name, true, expireTime, DefaultCapacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, float expireTime) + { + return InternalCreateObjectPool(objectType, name, true, expireTime, DefaultCapacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(int capacity, float expireTime) where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, true, expireTime, capacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity, float expireTime) + { + return InternalCreateObjectPool(objectType, string.Empty, true, expireTime, capacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(int capacity, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, true, DefaultExpireTime, capacity, DefaultExpireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity, int priority) + { + return InternalCreateObjectPool(objectType, string.Empty, true, DefaultExpireTime, capacity, DefaultExpireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(float expireTime, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, true, expireTime, DefaultCapacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, float expireTime, int priority) + { + return InternalCreateObjectPool(objectType, string.Empty, true, expireTime, DefaultCapacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, int capacity, float expireTime) where T : ObjectBase + { + return InternalCreateObjectPool(name, true, expireTime, capacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity, float expireTime) + { + return InternalCreateObjectPool(objectType, name, true, expireTime, capacity, expireTime, DefaultPriority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, int capacity, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(name, true, DefaultExpireTime, capacity, DefaultExpireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity, int priority) + { + return InternalCreateObjectPool(objectType, name, true, DefaultExpireTime, capacity, DefaultExpireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, float expireTime, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(name, true, expireTime, DefaultCapacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, float expireTime, int priority) + { + return InternalCreateObjectPool(objectType, name, true, expireTime, DefaultCapacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(int capacity, float expireTime, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(string.Empty, true, expireTime, capacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity, float expireTime, int priority) + { + return InternalCreateObjectPool(objectType, string.Empty, true, expireTime, capacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, int capacity, float expireTime, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(name, true, expireTime, capacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity, float expireTime, int priority) + { + return InternalCreateObjectPool(objectType, name, true, expireTime, capacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池自动释放可释放对象的间隔秒数。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, float autoReleaseInterval, int capacity, float expireTime, int priority) where T : ObjectBase + { + return InternalCreateObjectPool(name, true, autoReleaseInterval, capacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池自动释放可释放对象的间隔秒数。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, float autoReleaseInterval, int capacity, float expireTime, int priority) + { + return InternalCreateObjectPool(objectType, name, true, autoReleaseInterval, capacity, expireTime, priority); + } + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 是否销毁对象池成功。 + public bool DestroyObjectPool() where T : ObjectBase + { + return InternalDestroyObjectPool(new TypeNamePair(typeof(T))); + } + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 是否销毁对象池成功。 + public bool DestroyObjectPool(Type objectType) + { + if (objectType == null) + { + throw new GameFrameworkException("Object type is invalid."); + } + + if (!typeof(ObjectBase).IsAssignableFrom(objectType)) + { + throw new GameFrameworkException(Utility.Text.Format("Object type '{0}' is invalid.", objectType.FullName)); + } + + return InternalDestroyObjectPool(new TypeNamePair(objectType)); + } + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 要销毁的对象池名称。 + /// 是否销毁对象池成功。 + public bool DestroyObjectPool(string name) where T : ObjectBase + { + return InternalDestroyObjectPool(new TypeNamePair(typeof(T), name)); + } + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 要销毁的对象池名称。 + /// 是否销毁对象池成功。 + public bool DestroyObjectPool(Type objectType, string name) + { + if (objectType == null) + { + throw new GameFrameworkException("Object type is invalid."); + } + + if (!typeof(ObjectBase).IsAssignableFrom(objectType)) + { + throw new GameFrameworkException(Utility.Text.Format("Object type '{0}' is invalid.", objectType.FullName)); + } + + return InternalDestroyObjectPool(new TypeNamePair(objectType, name)); + } + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 要销毁的对象池。 + /// 是否销毁对象池成功。 + public bool DestroyObjectPool(IObjectPool objectPool) where T : ObjectBase + { + if (objectPool == null) + { + throw new GameFrameworkException("Object pool is invalid."); + } + + return InternalDestroyObjectPool(new TypeNamePair(typeof(T), objectPool.Name)); + } + + /// + /// 销毁对象池。 + /// + /// 要销毁的对象池。 + /// 是否销毁对象池成功。 + public bool DestroyObjectPool(ObjectPoolBase objectPool) + { + if (objectPool == null) + { + throw new GameFrameworkException("Object pool is invalid."); + } + + return InternalDestroyObjectPool(new TypeNamePair(objectPool.ObjectType, objectPool.Name)); + } + + /// + /// 释放对象池中的可释放对象。 + /// + public void Release() + { + GetAllObjectPools(true, m_CachedAllObjectPools); + foreach (ObjectPoolBase objectPool in m_CachedAllObjectPools) + { + objectPool.Release(); + } + } + + /// + /// 释放对象池中的所有未使用对象。 + /// + public void ReleaseAllUnused() + { + GetAllObjectPools(true, m_CachedAllObjectPools); + foreach (ObjectPoolBase objectPool in m_CachedAllObjectPools) + { + objectPool.ReleaseAllUnused(); + } + } + + private bool InternalHasObjectPool(TypeNamePair typeNamePair) + { + return m_ObjectPools.ContainsKey(typeNamePair); + } + + private ObjectPoolBase InternalGetObjectPool(TypeNamePair typeNamePair) + { + ObjectPoolBase objectPool = null; + if (m_ObjectPools.TryGetValue(typeNamePair, out objectPool)) + { + return objectPool; + } + + return null; + } + + private IObjectPool InternalCreateObjectPool(string name, bool allowMultiSpawn, float autoReleaseInterval, int capacity, float expireTime, int priority) where T : ObjectBase + { + TypeNamePair typeNamePair = new TypeNamePair(typeof(T), name); + if (HasObjectPool(name)) + { + throw new GameFrameworkException(Utility.Text.Format("Already exist object pool '{0}'.", typeNamePair)); + } + + ObjectPool objectPool = new ObjectPool(name, allowMultiSpawn, autoReleaseInterval, capacity, expireTime, priority); + m_ObjectPools.Add(typeNamePair, objectPool); + return objectPool; + } + + private ObjectPoolBase InternalCreateObjectPool(Type objectType, string name, bool allowMultiSpawn, float autoReleaseInterval, int capacity, float expireTime, int priority) + { + if (objectType == null) + { + throw new GameFrameworkException("Object type is invalid."); + } + + if (!typeof(ObjectBase).IsAssignableFrom(objectType)) + { + throw new GameFrameworkException(Utility.Text.Format("Object type '{0}' is invalid.", objectType.FullName)); + } + + TypeNamePair typeNamePair = new TypeNamePair(objectType, name); + if (HasObjectPool(objectType, name)) + { + throw new GameFrameworkException(Utility.Text.Format("Already exist object pool '{0}'.", typeNamePair)); + } + + Type objectPoolType = typeof(ObjectPool<>).MakeGenericType(objectType); + ObjectPoolBase objectPool = (ObjectPoolBase)Activator.CreateInstance(objectPoolType, name, allowMultiSpawn, autoReleaseInterval, capacity, expireTime, priority); + m_ObjectPools.Add(typeNamePair, objectPool); + return objectPool; + } + + private bool InternalDestroyObjectPool(TypeNamePair typeNamePair) + { + ObjectPoolBase objectPool = null; + if (m_ObjectPools.TryGetValue(typeNamePair, out objectPool)) + { + objectPool.Shutdown(); + return m_ObjectPools.Remove(typeNamePair); + } + + return false; + } + + private static int ObjectPoolComparer(ObjectPoolBase a, ObjectPoolBase b) + { + return a.Priority.CompareTo(b.Priority); + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.cs.meta new file mode 100644 index 00000000..7a71febe --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolManager.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 72eae18b8c9a41d5bc970c2d702061b9 +timeCreated: 1708673686 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolModule.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolModule.cs new file mode 100644 index 00000000..a9207212 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolModule.cs @@ -0,0 +1,1015 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace SHFrame +{ + /// + /// 对象池模块。 + /// + [DisallowMultipleComponent] + public sealed class ObjectPoolModule : Module + { + private IObjectPoolManager _objectPoolManager = null; + + /// + /// 获取对象池数量。 + /// + public int Count => _objectPoolManager.Count; + + /// + /// 游戏框架模块初始化。 + /// + protected override void Awake() + { + base.Awake(); + + _objectPoolManager = ModuleImpSystem.GetModule(); + if (_objectPoolManager == null) + { + Log.Fatal("Object pool manager is invalid."); + return; + } + } + + /// + /// 检查是否存在对象池。 + /// + /// 对象类型。 + /// 是否存在对象池。 + public bool HasObjectPool() where T : ObjectBase + { + return _objectPoolManager.HasObjectPool(); + } + + /// + /// 检查是否存在对象池。 + /// + /// 对象类型。 + /// 是否存在对象池。 + public bool HasObjectPool(Type objectType) + { + return _objectPoolManager.HasObjectPool(objectType); + } + + /// + /// 检查是否存在对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 是否存在对象池。 + public bool HasObjectPool(string name) where T : ObjectBase + { + return _objectPoolManager.HasObjectPool(name); + } + + /// + /// 检查是否存在对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 是否存在对象池。 + public bool HasObjectPool(Type objectType, string name) + { + return _objectPoolManager.HasObjectPool(objectType, name); + } + + /// + /// 检查是否存在对象池。 + /// + /// 要检查的条件。 + /// 是否存在对象池。 + public bool HasObjectPool(Predicate condition) + { + return _objectPoolManager.HasObjectPool(condition); + } + + /// + /// 获取对象池。 + /// + /// 对象类型。 + /// 要获取的对象池。 + public IObjectPool GetObjectPool() where T : ObjectBase + { + return _objectPoolManager.GetObjectPool(); + } + + /// + /// 获取对象池。 + /// + /// 对象类型。 + /// 要获取的对象池。 + public ObjectPoolBase GetObjectPool(Type objectType) + { + return _objectPoolManager.GetObjectPool(objectType); + } + + /// + /// 获取对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要获取的对象池。 + public IObjectPool GetObjectPool(string name) where T : ObjectBase + { + return _objectPoolManager.GetObjectPool(name); + } + + /// + /// 获取对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要获取的对象池。 + public ObjectPoolBase GetObjectPool(Type objectType, string name) + { + return _objectPoolManager.GetObjectPool(objectType, name); + } + + /// + /// 获取对象池。 + /// + /// 要检查的条件。 + /// 要获取的对象池。 + public ObjectPoolBase GetObjectPool(Predicate condition) + { + return _objectPoolManager.GetObjectPool(condition); + } + + /// + /// 获取对象池。 + /// + /// 要检查的条件。 + /// 要获取的对象池。 + public ObjectPoolBase[] GetObjectPools(Predicate condition) + { + return _objectPoolManager.GetObjectPools(condition); + } + + /// + /// 获取对象池。 + /// + /// 要检查的条件。 + /// 要获取的对象池。 + public void GetObjectPools(Predicate condition, List results) + { + _objectPoolManager.GetObjectPools(condition, results); + } + + /// + /// 获取所有对象池。 + /// + public ObjectPoolBase[] GetAllObjectPools() + { + return _objectPoolManager.GetAllObjectPools(); + } + + /// + /// 获取所有对象池。 + /// + /// 所有对象池。 + public void GetAllObjectPools(List results) + { + _objectPoolManager.GetAllObjectPools(results); + } + + /// + /// 获取所有对象池。 + /// + /// 是否根据对象池的优先级排序。 + /// 所有对象池。 + public ObjectPoolBase[] GetAllObjectPools(bool sort) + { + return _objectPoolManager.GetAllObjectPools(sort); + } + + /// + /// 获取所有对象池。 + /// + /// 是否根据对象池的优先级排序。 + /// 所有对象池。 + public void GetAllObjectPools(bool sort, List results) + { + _objectPoolManager.GetAllObjectPools(sort, results); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool() where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name) where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(name); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, name); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(int capacity) where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(capacity); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, capacity); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(float expireTime) where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(expireTime); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, float expireTime) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, expireTime); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, int capacity) where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(name, capacity); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, name, capacity); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, float expireTime) where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(name, expireTime); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, float expireTime) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, name, expireTime); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(int capacity, float expireTime) where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(capacity, expireTime); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity, float expireTime) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, capacity, expireTime); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(int capacity, int priority) where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(capacity, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity, int priority) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, capacity, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(float expireTime, int priority) where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, float expireTime, int priority) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, int capacity, float expireTime) where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(name, capacity, expireTime); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity, float expireTime) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, name, capacity, expireTime); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, int capacity, int priority) where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(name, capacity, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity, int priority) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, name, capacity, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, float expireTime, int priority) where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(name, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, float expireTime, int priority) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, name, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(int capacity, float expireTime, int priority) where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(capacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity, float expireTime, int priority) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, capacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, int capacity, float expireTime, int priority) where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(name, capacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity, float expireTime, int priority) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, name, capacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池自动释放可释放对象的间隔秒数。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public IObjectPool CreateSingleSpawnObjectPool(string name, float autoReleaseInterval, int capacity, float expireTime, int priority) + where T : ObjectBase + { + return _objectPoolManager.CreateSingleSpawnObjectPool(name, autoReleaseInterval, capacity, expireTime, priority); + } + + /// + /// 创建允许单次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池自动释放可释放对象的间隔秒数。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许单次获取的对象池。 + public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, float autoReleaseInterval, int capacity, float expireTime, int priority) + { + return _objectPoolManager.CreateSingleSpawnObjectPool(objectType, name, autoReleaseInterval, capacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool() where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name) where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(name); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, name); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(int capacity) where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(capacity); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, capacity); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(float expireTime) where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(expireTime); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, float expireTime) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, expireTime); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, int capacity) where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(name, capacity); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, name, capacity); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, float expireTime) where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(name, expireTime); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, float expireTime) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, name, expireTime); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(int capacity, float expireTime) where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(capacity, expireTime); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity, float expireTime) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, capacity, expireTime); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(int capacity, int priority) where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(capacity, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity, int priority) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, capacity, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(float expireTime, int priority) where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, float expireTime, int priority) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, int capacity, float expireTime) where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(name, capacity, expireTime); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity, float expireTime) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, name, capacity, expireTime); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, int capacity, int priority) where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(name, capacity, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity, int priority) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, name, capacity, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, float expireTime, int priority) where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(name, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, float expireTime, int priority) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, name, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(int capacity, float expireTime, int priority) where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(capacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity, float expireTime, int priority) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, capacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, int capacity, float expireTime, int priority) where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(name, capacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity, float expireTime, int priority) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, name, capacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池自动释放可释放对象的间隔秒数。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public IObjectPool CreateMultiSpawnObjectPool(string name, float autoReleaseInterval, int capacity, float expireTime, int priority) + where T : ObjectBase + { + return _objectPoolManager.CreateMultiSpawnObjectPool(name, autoReleaseInterval, capacity, expireTime, priority); + } + + /// + /// 创建允许多次获取的对象池。 + /// + /// 对象类型。 + /// 对象池名称。 + /// 对象池自动释放可释放对象的间隔秒数。 + /// 对象池的容量。 + /// 对象池对象过期秒数。 + /// 对象池的优先级。 + /// 要创建的允许多次获取的对象池。 + public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, float autoReleaseInterval, int capacity, float expireTime, int priority) + { + return _objectPoolManager.CreateMultiSpawnObjectPool(objectType, name, autoReleaseInterval, capacity, expireTime, priority); + } + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 是否销毁对象池成功。 + public bool DestroyObjectPool() where T : ObjectBase + { + return _objectPoolManager.DestroyObjectPool(); + } + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 是否销毁对象池成功。 + public bool DestroyObjectPool(Type objectType) + { + return _objectPoolManager.DestroyObjectPool(objectType); + } + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 要销毁的对象池名称。 + /// 是否销毁对象池成功。 + public bool DestroyObjectPool(string name) where T : ObjectBase + { + return _objectPoolManager.DestroyObjectPool(name); + } + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 要销毁的对象池名称。 + /// 是否销毁对象池成功。 + public bool DestroyObjectPool(Type objectType, string name) + { + return _objectPoolManager.DestroyObjectPool(objectType, name); + } + + /// + /// 销毁对象池。 + /// + /// 对象类型。 + /// 要销毁的对象池。 + /// 是否销毁对象池成功。 + public bool DestroyObjectPool(IObjectPool objectPool) where T : ObjectBase + { + return _objectPoolManager.DestroyObjectPool(objectPool); + } + + /// + /// 销毁对象池。 + /// + /// 要销毁的对象池。 + /// 是否销毁对象池成功。 + public bool DestroyObjectPool(ObjectPoolBase objectPool) + { + return _objectPoolManager.DestroyObjectPool(objectPool); + } + + /// + /// 释放对象池中的可释放对象。 + /// + public void Release() + { + Log.Info("Object pool release..."); + _objectPoolManager.Release(); + } + + /// + /// 释放对象池中的所有未使用对象。 + /// + public void ReleaseAllUnused() + { + Log.Info("Object pool release all unused..."); + _objectPoolManager.ReleaseAllUnused(); + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolModule.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolModule.cs.meta new file mode 100644 index 00000000..703fbbea --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ObjectPoolModule.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: af4a69a729384044b97f0ca31b16412a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ReleaseObjectFilterCallback.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ReleaseObjectFilterCallback.cs new file mode 100644 index 00000000..1fc84ae9 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ReleaseObjectFilterCallback.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------ +// Game Framework +// Copyright © 2013-2021 Jiang Yin. All rights reserved. +// Homepage: https://gameframework.cn/ +// Feedback: mailto:ellan@gameframework.cn +//------------------------------------------------------------ + +using System; +using System.Collections.Generic; + +namespace SHFrame +{ + /// + /// 释放对象筛选函数。 + /// + /// 对象类型。 + /// 要筛选的对象集合。 + /// 需要释放的对象数量。 + /// 对象过期参考时间。 + /// 经筛选需要释放的对象集合。 + public delegate List ReleaseObjectFilterCallback(List candidateObjects, int toReleaseCount, DateTime expireTime) where T : ObjectBase; +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ReleaseObjectFilterCallback.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ReleaseObjectFilterCallback.cs.meta new file mode 100644 index 00000000..02bfa8fd --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/ObjectPool/ReleaseObjectFilterCallback.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6a256ddf090e4ed58402f4db83117f79 +timeCreated: 1708673686 \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure.meta new file mode 100644 index 00000000..dce065cb --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c0bf55d98c52af64fb78899141efc94f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/IProcedureManager.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/IProcedureManager.cs new file mode 100644 index 00000000..8be5bb86 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/IProcedureManager.cs @@ -0,0 +1,74 @@ + +using System; + +namespace SHFrame +{ + /// + /// 流程管理器接口。 + /// + public interface IProcedureManager + { + /// + /// 获取当前流程。 + /// + ProcedureBase CurrentProcedure + { + get; + } + + /// + /// 获取当前流程持续时间。 + /// + float CurrentProcedureTime + { + get; + } + + /// + /// 初始化流程管理器。 + /// + /// 有限状态机管理器。 + /// 流程管理器包含的流程。 + void Initialize(FSM.IFsmManager fsmManager, params ProcedureBase[] procedures); + + /// + /// 开始流程。 + /// + /// 要开始的流程类型。 + void StartProcedure() where T : ProcedureBase; + + /// + /// 开始流程。 + /// + /// 要开始的流程类型。 + void StartProcedure(Type procedureType); + + /// + /// 是否存在流程。 + /// + /// 要检查的流程类型。 + /// 是否存在流程。 + bool HasProcedure() where T : ProcedureBase; + + /// + /// 是否存在流程。 + /// + /// 要检查的流程类型。 + /// 是否存在流程。 + bool HasProcedure(Type procedureType); + + /// + /// 获取流程。 + /// + /// 要获取的流程类型。 + /// 要获取的流程。 + ProcedureBase GetProcedure() where T : ProcedureBase; + + /// + /// 获取流程。 + /// + /// 要获取的流程类型。 + /// 要获取的流程。 + ProcedureBase GetProcedure(Type procedureType); + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/IProcedureManager.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/IProcedureManager.cs.meta new file mode 100644 index 00000000..c3930c38 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/IProcedureManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c821b1d0ed655664ca0e31707b63d7cb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureBase.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureBase.cs new file mode 100644 index 00000000..09d29632 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureBase.cs @@ -0,0 +1,59 @@ + +using ProcedureOwner = SHFrame.FSM.IFsm; + +namespace SHFrame +{ + /// + /// 流程基类。 + /// + public abstract class ProcedureBase : FSM.FsmState + { + /// + /// 状态初始化时调用。 + /// + /// 流程持有者。 + protected internal override void OnInit(ProcedureOwner procedureOwner) + { + base.OnInit(procedureOwner); + } + + /// + /// 进入状态时调用。 + /// + /// 流程持有者。 + protected internal override void OnEnter(ProcedureOwner procedureOwner) + { + base.OnEnter(procedureOwner); + } + + /// + /// 状态轮询时调用。 + /// + /// 流程持有者。 + /// 逻辑流逝时间,以秒为单位。 + /// 真实流逝时间,以秒为单位。 + protected internal override void OnUpdate(ProcedureOwner procedureOwner, float elapseSeconds, float realElapseSeconds) + { + base.OnUpdate(procedureOwner, elapseSeconds, realElapseSeconds); + } + + /// + /// 离开状态时调用。 + /// + /// 流程持有者。 + /// 是否是关闭状态机时触发。 + protected internal override void OnLeave(ProcedureOwner procedureOwner, bool isShutdown) + { + base.OnLeave(procedureOwner, isShutdown); + } + + /// + /// 状态销毁时调用。 + /// + /// 流程持有者。 + protected internal override void OnDestroy(ProcedureOwner procedureOwner) + { + base.OnDestroy(procedureOwner); + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureBase.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureBase.cs.meta new file mode 100644 index 00000000..8f9a0440 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureBase.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8be720b5d94706e4a9b09f7260887bff +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureManager.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureManager.cs new file mode 100644 index 00000000..31695d23 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureManager.cs @@ -0,0 +1,197 @@ + +using System; + +namespace SHFrame +{ + /// + /// 流程管理器。 + /// + internal sealed class ProcedureManager : ModuleImp, IProcedureManager + { + private FSM.IFsmManager m_FsmManager; + private FSM.IFsm m_ProcedureFsm; + + /// + /// 初始化流程管理器的新实例。 + /// + public ProcedureManager() + { + m_FsmManager = null; + m_ProcedureFsm = null; + } + + /// + /// 获取游戏框架模块优先级。 + /// + /// 优先级较高的模块会优先轮询,并且关闭操作会后进行。 + internal override int Priority + { + get + { + return -2; + } + } + + /// + /// 获取当前流程。 + /// + public ProcedureBase CurrentProcedure + { + get + { + if (m_ProcedureFsm == null) + { + throw new GameFrameworkException("You must initialize procedure first."); + } + + return (ProcedureBase)m_ProcedureFsm.CurrentState; + } + } + + /// + /// 获取当前流程持续时间。 + /// + public float CurrentProcedureTime + { + get + { + if (m_ProcedureFsm == null) + { + throw new GameFrameworkException("You must initialize procedure first."); + } + + return m_ProcedureFsm.CurrentStateTime; + } + } + + /// + /// 流程管理器轮询。 + /// + /// 逻辑流逝时间,以秒为单位。 + /// 真实流逝时间,以秒为单位。 + internal override void Update(float elapseSeconds, float realElapseSeconds) + { + } + + /// + /// 关闭并清理流程管理器。 + /// + internal override void Shutdown() + { + if (m_FsmManager != null) + { + if (m_ProcedureFsm != null) + { + m_FsmManager.DestroyFsm(m_ProcedureFsm); + m_ProcedureFsm = null; + } + + m_FsmManager = null; + } + } + + /// + /// 初始化流程管理器。 + /// + /// 有限状态机管理器。 + /// 流程管理器包含的流程。 + public void Initialize(FSM.IFsmManager fsmManager, params ProcedureBase[] procedures) + { + if (fsmManager == null) + { + throw new GameFrameworkException("FSM manager is invalid."); + } + + m_FsmManager = fsmManager; + m_ProcedureFsm = m_FsmManager.CreateFsm(this, procedures); + } + + /// + /// 开始流程。 + /// + /// 要开始的流程类型。 + public void StartProcedure() where T : ProcedureBase + { + if (m_ProcedureFsm == null) + { + throw new GameFrameworkException("You must initialize procedure first."); + } + + m_ProcedureFsm.Start(); + } + + /// + /// 开始流程。 + /// + /// 要开始的流程类型。 + public void StartProcedure(Type procedureType) + { + if (m_ProcedureFsm == null) + { + throw new GameFrameworkException("You must initialize procedure first."); + } + + m_ProcedureFsm.Start(procedureType); + } + + /// + /// 是否存在流程。 + /// + /// 要检查的流程类型。 + /// 是否存在流程。 + public bool HasProcedure() where T : ProcedureBase + { + if (m_ProcedureFsm == null) + { + throw new GameFrameworkException("You must initialize procedure first."); + } + + return m_ProcedureFsm.HasState(); + } + + /// + /// 是否存在流程。 + /// + /// 要检查的流程类型。 + /// 是否存在流程。 + public bool HasProcedure(Type procedureType) + { + if (m_ProcedureFsm == null) + { + throw new GameFrameworkException("You must initialize procedure first."); + } + + return m_ProcedureFsm.HasState(procedureType); + } + + /// + /// 获取流程。 + /// + /// 要获取的流程类型。 + /// 要获取的流程。 + public ProcedureBase GetProcedure() where T : ProcedureBase + { + if (m_ProcedureFsm == null) + { + throw new GameFrameworkException("You must initialize procedure first."); + } + + return m_ProcedureFsm.GetState(); + } + + /// + /// 获取流程。 + /// + /// 要获取的流程类型。 + /// 要获取的流程。 + public ProcedureBase GetProcedure(Type procedureType) + { + if (m_ProcedureFsm == null) + { + throw new GameFrameworkException("You must initialize procedure first."); + } + + return (ProcedureBase)m_ProcedureFsm.GetState(procedureType); + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureManager.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureManager.cs.meta new file mode 100644 index 00000000..8d0e5dee --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 001bd8b56e2fb744ebbabc52d38c0488 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureModule.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureModule.cs new file mode 100644 index 00000000..d4f11fb9 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureModule.cs @@ -0,0 +1,153 @@ +using System; +using System.Collections; +using UnityEngine; + +namespace SHFrame +{ + [DisallowMultipleComponent] + public sealed class ProcedureModule : Module + { + private IProcedureManager m_ProcedureManager = null; + private ProcedureBase m_EntranceProcedure = null; + + [SerializeField] private string[] m_AvailableProcedureTypeNames = null; + + [SerializeField] private string m_EntranceProcedureTypeName = null; + + /// + /// 获取当前流程。 + /// + public ProcedureBase CurrentProcedure + { + get { return m_ProcedureManager.CurrentProcedure; } + } + + /// + /// 获取当前流程持续时间。 + /// + public float CurrentProcedureTime + { + get { return m_ProcedureManager.CurrentProcedureTime; } + } + + /// + /// 游戏框架组件初始化。 + /// + protected override void Awake() + { + base.Awake(); + + m_ProcedureManager = ModuleImpSystem.GetModule(); + if (m_ProcedureManager == null) + { + Log.Fatal("Procedure manager is invalid."); + return; + } + } + + private IEnumerator Start() + { + ProcedureBase[] procedures = new ProcedureBase[m_AvailableProcedureTypeNames.Length]; + for (int i = 0; i < m_AvailableProcedureTypeNames.Length; i++) + { + Type procedureType = Utility.Assembly.GetType(m_AvailableProcedureTypeNames[i]); + if (procedureType == null) + { + Log.Error("Can not find procedure type '{0}'.", m_AvailableProcedureTypeNames[i]); + yield break; + } + + procedures[i] = (ProcedureBase)Activator.CreateInstance(procedureType); + if (procedures[i] == null) + { + Log.Error("Can not create procedure instance '{0}'.", m_AvailableProcedureTypeNames[i]); + yield break; + } + + if (m_EntranceProcedureTypeName == m_AvailableProcedureTypeNames[i]) + { + m_EntranceProcedure = procedures[i]; + } + } + + if (m_EntranceProcedure == null) + { + Log.Error("Entrance procedure is invalid."); + yield break; + } + + m_ProcedureManager.Initialize(ModuleImpSystem.GetModule(), procedures); + yield return new WaitForEndOfFrame(); + m_ProcedureManager.StartProcedure(m_EntranceProcedure.GetType()); + } + + /// + /// 是否存在流程。 + /// + /// 要检查的流程类型。 + /// 是否存在流程。 + public bool HasProcedure() where T : ProcedureBase + { + return m_ProcedureManager.HasProcedure(); + } + + /// + /// 是否存在流程。 + /// + /// 要检查的流程类型。 + /// 是否存在流程。 + public bool HasProcedure(Type procedureType) + { + return m_ProcedureManager.HasProcedure(procedureType); + } + + /// + /// 获取流程。 + /// + /// 要获取的流程类型。 + /// 要获取的流程。 + public ProcedureBase GetProcedure() where T : ProcedureBase + { + return m_ProcedureManager.GetProcedure(); + } + + /// + /// 获取流程。 + /// + /// 要获取的流程类型。 + /// 要获取的流程。 + public ProcedureBase GetProcedure(Type procedureType) + { + return m_ProcedureManager.GetProcedure(procedureType); + } + + /// + /// 重启流程。 + /// 默认使用第一个流程作为启动流程。 + /// + /// + /// 新的的流程。 + /// 是否重启成功。 + /// 重启异常。 + public bool RestartProcedure(int defaultIndex, params ProcedureBase[] procedures) + { + if (procedures == null || procedures.Length <= 0) + { + throw new GameFrameworkException("RestartProcedure Failed procedures is invalid."); + } + + FSM.IFsmManager fsmManager = ModuleImpSystem.GetModule(); + + if (!fsmManager.DestroyFsm()) + { + return false; + } + + m_ProcedureManager = null; + m_ProcedureManager = ModuleImpSystem.GetModule(); + m_ProcedureManager.Initialize(fsmManager, procedures); + m_ProcedureManager.StartProcedure(procedures[defaultIndex].GetType()); + return true; + } + } +} \ No newline at end of file diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureModule.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureModule.cs.meta new file mode 100644 index 00000000..294fb5a7 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/Procedure/ProcedureModule.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f8594aafa061b684a936aed29f6be663 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/RootModule.cs b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/RootModule.cs new file mode 100644 index 00000000..64342bcc --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/RootModule.cs @@ -0,0 +1,314 @@ +using System; +using UnityEngine; + +namespace SHFrame +{ + /// + /// 基础模块。 + /// + [DisallowMultipleComponent] + public sealed class RootModule : Module + { + private const int DefaultDpi = 96; // default windows dpi + + private float m_GameSpeedBeforePause = 1f; + + // [SerializeField] + // private Language m_EditorLanguage = Language.Unspecified; + + [SerializeField] + private string m_TextHelperTypeName = "SHFrame.DefaultTextHelper"; + + [SerializeField] + private string m_VersionHelperTypeName = "SHFrame.DefaultVersionHelper"; + + [SerializeField] + private string m_LogHelperTypeName = "SHFrame.DefaultLogHelper"; + + [SerializeField] + private string m_JsonHelperTypeName = "SHFrame.DefaultJsonHelper"; + + [SerializeField] + private int m_FrameRate = 120; + + [SerializeField] + private float m_GameSpeed = 1f; + + [SerializeField] + private bool m_RunInBackground = true; + + [SerializeField] + private bool m_NeverSleep = true; + + // /// + // /// 获取或设置编辑器语言(仅编辑器内有效)。 + // /// + // public Language EditorLanguage + // { + // get => m_EditorLanguage; + // set => m_EditorLanguage = value; + // } + + /// + /// 获取或设置游戏帧率。 + /// + public int FrameRate + { + get => m_FrameRate; + set => Application.targetFrameRate = m_FrameRate = value; + } + + /// + /// 获取或设置游戏速度。 + /// + public float GameSpeed + { + get => m_GameSpeed; + set => Time.timeScale = m_GameSpeed = value >= 0f ? value : 0f; + } + + /// + /// 获取游戏是否暂停。 + /// + public bool IsGamePaused => m_GameSpeed <= 0f; + + /// + /// 获取是否正常游戏速度。 + /// + public bool IsNormalGameSpeed => Math.Abs(m_GameSpeed - 1f) < 0.01f; + + /// + /// 获取或设置是否允许后台运行。 + /// + public bool RunInBackground + { + get => m_RunInBackground; + set => Application.runInBackground = m_RunInBackground = value; + } + + /// + /// 获取或设置是否禁止休眠。 + /// + public bool NeverSleep + { + get => m_NeverSleep; + set + { + m_NeverSleep = value; + Screen.sleepTimeout = value ? SleepTimeout.NeverSleep : SleepTimeout.SystemSetting; + } + } + + /// + /// 游戏框架模块初始化。 + /// + protected override void Awake() + { + base.Awake(); + + InitTextHelper(); + InitVersionHelper(); + InitLogHelper(); + Log.Info("Version: {0}", Version.GameFrameworkVersion); + Log.Info("Game Version: {0} ({1})", Version.GameVersion, Version.InternalGameVersion); + Log.Info("Unity Version: {0}", Application.unityVersion); + + InitJsonHelper(); + + Utility.Converter.ScreenDpi = Screen.dpi; + if (Utility.Converter.ScreenDpi <= 0) + { + Utility.Converter.ScreenDpi = DefaultDpi; + } + + Time.timeScale = m_GameSpeed; + Application.runInBackground = m_RunInBackground; + Screen.sleepTimeout = m_NeverSleep ? SleepTimeout.NeverSleep : SleepTimeout.SystemSetting; + + Application.lowMemory += OnLowMemory; + GameTime.StartFrame(); + } + + private void Update() + { + GameTime.StartFrame(); + ModuleImpSystem.Update(GameTime.deltaTime, GameTime.unscaledDeltaTime); + } + + private void FixedUpdate() + { + GameTime.StartFrame(); + } + + private void LateUpdate() + { + GameTime.StartFrame(); + } + + private void OnApplicationQuit() + { + Application.lowMemory -= OnLowMemory; + StopAllCoroutines(); + } + + private void OnDestroy() + { + ModuleImpSystem.Shutdown(); + } + + /// + /// 暂停游戏。 + /// + public void PauseGame() + { + if (IsGamePaused) + { + return; + } + + m_GameSpeedBeforePause = GameSpeed; + GameSpeed = 0f; + } + + /// + /// 恢复游戏。 + /// + public void ResumeGame() + { + if (!IsGamePaused) + { + return; + } + + GameSpeed = m_GameSpeedBeforePause; + } + + /// + /// 重置为正常游戏速度。 + /// + public void ResetNormalGameSpeed() + { + if (IsNormalGameSpeed) + { + return; + } + + GameSpeed = 1f; + } + + internal void Shutdown() + { + Destroy(gameObject); + } + + private void InitTextHelper() + { + if (string.IsNullOrEmpty(m_TextHelperTypeName)) + { + return; + } + + Type textHelperType = Utility.Assembly.GetType(m_TextHelperTypeName); + if (textHelperType == null) + { + Log.Error("Can not find text helper type '{0}'.", m_TextHelperTypeName); + return; + } + + Utility.Text.ITextHelper textHelper = (Utility.Text.ITextHelper)Activator.CreateInstance(textHelperType); + if (textHelper == null) + { + Log.Error("Can not create text helper instance '{0}'.", m_TextHelperTypeName); + return; + } + + Utility.Text.SetTextHelper(textHelper); + } + + private void InitVersionHelper() + { + if (string.IsNullOrEmpty(m_VersionHelperTypeName)) + { + return; + } + + Type versionHelperType = Utility.Assembly.GetType(m_VersionHelperTypeName); + if (versionHelperType == null) + { + throw new GameFrameworkException(Utility.Text.Format("Can not find version helper type '{0}'.", m_VersionHelperTypeName)); + } + + Version.IVersionHelper versionHelper = (Version.IVersionHelper)Activator.CreateInstance(versionHelperType); + if (versionHelper == null) + { + throw new GameFrameworkException(Utility.Text.Format("Can not create version helper instance '{0}'.", m_VersionHelperTypeName)); + } + + Version.SetVersionHelper(versionHelper); + } + + private void InitLogHelper() + { + if (string.IsNullOrEmpty(m_LogHelperTypeName)) + { + return; + } + + Type logHelperType = Utility.Assembly.GetType(m_LogHelperTypeName); + if (logHelperType == null) + { + throw new GameFrameworkException(Utility.Text.Format("Can not find log helper type '{0}'.", m_LogHelperTypeName)); + } + + GameFrameworkLog.ILogHelper logHelper = (GameFrameworkLog.ILogHelper)Activator.CreateInstance(logHelperType); + if (logHelper == null) + { + throw new GameFrameworkException(Utility.Text.Format("Can not create log helper instance '{0}'.", m_LogHelperTypeName)); + } + + GameFrameworkLog.SetLogHelper(logHelper); + } + + private void InitJsonHelper() + { + if (string.IsNullOrEmpty(m_JsonHelperTypeName)) + { + return; + } + + Type jsonHelperType = Utility.Assembly.GetType(m_JsonHelperTypeName); + if (jsonHelperType == null) + { + Log.Error("Can not find JSON helper type '{0}'.", m_JsonHelperTypeName); + return; + } + + Utility.Json.IJsonHelper jsonHelper = (Utility.Json.IJsonHelper)Activator.CreateInstance(jsonHelperType); + if (jsonHelper == null) + { + Log.Error("Can not create JSON helper instance '{0}'.", m_JsonHelperTypeName); + return; + } + + Utility.Json.SetJsonHelper(jsonHelper); + } + + private void OnLowMemory() + { + Log.Warning("Low memory reported..."); + + ObjectPoolModule objectPoolModule = ModuleSystem.GetModule(); + if (objectPoolModule != null) + { + objectPoolModule.ReleaseAllUnused(); + } + + // 卸载所有不在使用的资源 + // ResourceModule resourceModule = ModuleSystem.GetModule(); + // if (resourceModule != null) + // { + // resourceModule.ForceUnloadUnusedAssets(true); + // } + } + } +} diff --git a/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/RootModule.cs.meta b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/RootModule.cs.meta new file mode 100644 index 00000000..8cff11f6 --- /dev/null +++ b/JNFrame2/Assets/UsePlugins/SHFrame/Runtime/Modules/RootModule.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 627ac88ed6da4735b476619bb8a91951 +timeCreated: 1727610588 \ No newline at end of file diff --git a/JNFrame2/Assets/packages.config.meta b/JNFrame2/Assets/packages.config.meta index 77a5f737..d5fca9b9 100644 --- a/JNFrame2/Assets/packages.config.meta +++ b/JNFrame2/Assets/packages.config.meta @@ -15,6 +15,17 @@ PluginImporter: platformData: - first: Any: + second: + enabled: 0 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps second: enabled: 1 settings: {} diff --git a/JNFrame2/BestHTTP.csproj b/JNFrame2/BestHTTP.csproj index 8dd00c2e..1fe45275 100644 --- a/JNFrame2/BestHTTP.csproj +++ b/JNFrame2/BestHTTP.csproj @@ -26,7 +26,7 @@ full false Temp\Bin\Debug\BestHTTP\ - UNITY_2021_3_34;UNITY_2021_3;UNITY_2021;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;NET_STANDARD;NET_STANDARD_2_1;NETSTANDARD;NETSTANDARD2_1;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER prompt 4 0169,0649 @@ -49,12 +49,12 @@ - - + + - + @@ -70,2005 +70,2007 @@ + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2078,754 +2080,751 @@ - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsNativeModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UNETModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.PackageManagerUIModule.dll + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIServiceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEditor.Graphs.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\TCPeasy\TCPeasy.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.4\lib\ReportGenerator\ReportGeneratorMerged.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\ref\2.1.0\netstandard.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\Microsoft.Win32.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.AppContext.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Buffers.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Concurrent.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.NonGeneric.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Specialized.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.EventBasedAsync.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.TypeConverter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Console.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Data.Common.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Contracts.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Debug.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.FileVersionInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Process.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.StackTrace.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TextWriterTraceListener.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tools.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TraceSource.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tracing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Drawing.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Dynamic.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Calendars.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.ZipFile.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.DriveInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Watcher.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.IsolatedStorage.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.MemoryMappedFiles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Pipes.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.UnmanagedMemoryStream.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Expressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Queryable.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Memory.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Http.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NameResolution.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NetworkInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Ping.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Requests.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Security.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Sockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebHeaderCollection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.Client.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Numerics.Vectors.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ObjectModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.DispatchProxy.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.ILGeneration.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.Lightweight.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Reader.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.ResourceManager.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Writer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.CompilerServices.VisualC.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Handles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.RuntimeInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Numerics.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Formatters.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Json.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Xml.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Claims.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Algorithms.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Csp.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.X509Certificates.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Principal.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.SecureString.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.RegularExpressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Overlapped.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Thread.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.ThreadPool.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Timer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ValueTuple.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.ReaderWriter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlSerializer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\Extensions\2.0.0\System.Runtime.InteropServices.WindowsRuntime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\mscorlib.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ComponentModel.Composition.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Core.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Data.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Drawing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.IO.Compression.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Net.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Numerics.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Runtime.Serialization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ServiceModel.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Transactions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Windows.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll diff --git a/JNFrame2/HotUpdate.csproj b/JNFrame2/HotUpdate.csproj new file mode 100644 index 00000000..28fe6966 --- /dev/null +++ b/JNFrame2/HotUpdate.csproj @@ -0,0 +1,63 @@ + + + + 9.0 + <_TargetFrameworkDirectories>non_empty_path_generated_by_unity.rider.package + <_FullFrameworkReferenceAssemblyPaths>non_empty_path_generated_by_unity.rider.package + true + + + Debug + AnyCPU + 10.0.20506 + 2.0 + + {90b62417-519b-b8f6-f81a-bc5c9cd80e76} + {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + Properties + HotUpdate + v4.7.1 + 512 + . + + + true + full + false + Temp\Bin\Debug\Unity.Rider.Editor\ + UNITY_EDITOR + prompt + 4 + 0169,0649 + False + False + + + true + true + false + false + false + + + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + + + + + diff --git a/JNFrame2/JNFrame2.sln b/JNFrame2/JNFrame2.sln index f77e31fd..2a59c135 100644 --- a/JNFrame2/JNFrame2.sln +++ b/JNFrame2/JNFrame2.sln @@ -1,71 +1,75 @@  Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{62753af3-1e0c-69e5-d3db-cf11598cd1b3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask", "UniTask.csproj", "{bf8742e6-eee2-4cf6-3e82-d12e15802154}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BestHTTP", "BestHTTP.csproj", "{eb14efbc-e264-9b0a-c04d-d1e93cdf5a63}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Linq", "UniTask.Linq.csproj", "{168b694c-7d58-d228-f9a3-02235c192fc5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{62753af3-1e0c-69e5-d3db-cf11598cd1b3}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StompyRobot.SRF", "StompyRobot.SRF.csproj", "{356a0975-52a0-edee-67e5-a8751d23d388}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StompyRobot.SRDebugger", "StompyRobot.SRDebugger.csproj", "{786227ef-f2d4-16aa-9b5e-f745e7520e98}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.DOTween", "UniTask.DOTween.csproj", "{694241c5-b793-03a0-1887-6d1b1abd5716}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask", "UniTask.csproj", "{bf8742e6-eee2-4cf6-3e82-d12e15802154}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AimingRig", "AimingRig.csproj", "{7e65388c-f6a7-49e7-107c-67d307ad886b}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-Editor", "Assembly-CSharp-Editor.csproj", "{4a87c629-43f1-69d0-8f74-10cb56b7fde9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Linq", "UniTask.Linq.csproj", "{168b694c-7d58-d228-f9a3-02235c192fc5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StompyRobot.SRDebugger.Editor", "StompyRobot.SRDebugger.Editor.csproj", "{9722de7c-517b-fffe-d423-d313eadf5149}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StompyRobot.SRF.Editor", "StompyRobot.SRF.Editor.csproj", "{33448493-9d07-9e6d-e65e-d48b790a1dbf}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-firstpass", "Assembly-CSharp-firstpass.csproj", "{082457fe-fcb4-40d1-c6ce-98e6d3097f89}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Addressables", "UniTask.Addressables.csproj", "{928a2a75-dd5e-391a-39b4-3b93706f64ec}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AimingRig", "AimingRig.csproj", "{7e65388c-f6a7-49e7-107c-67d307ad886b}" +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.TextMeshPro", "UniTask.TextMeshPro.csproj", "{023a0336-4680-7ca2-9149-a72dd59bbaf2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-Editor", "Assembly-CSharp-Editor.csproj", "{4a87c629-43f1-69d0-8f74-10cb56b7fde9}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StompyRobot.SRF.Editor", "StompyRobot.SRF.Editor.csproj", "{33448493-9d07-9e6d-e65e-d48b790a1dbf}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StompyRobot.SRDebugger.Editor", "StompyRobot.SRDebugger.Editor.csproj", "{9722de7c-517b-fffe-d423-d313eadf5149}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.DOTween", "UniTask.DOTween.csproj", "{694241c5-b793-03a0-1887-6d1b1abd5716}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniTask.Editor", "UniTask.Editor.csproj", "{c9c9cf10-826e-692f-c3d6-a70ff9e1c4a0}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HotUpdate", "HotUpdate.csproj", "{90b62417-519b-b8f6-f81a-bc5c9cd80e76}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {62753af3-1e0c-69e5-d3db-cf11598cd1b3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {62753af3-1e0c-69e5-d3db-cf11598cd1b3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {bf8742e6-eee2-4cf6-3e82-d12e15802154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {bf8742e6-eee2-4cf6-3e82-d12e15802154}.Debug|Any CPU.Build.0 = Debug|Any CPU {eb14efbc-e264-9b0a-c04d-d1e93cdf5a63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {eb14efbc-e264-9b0a-c04d-d1e93cdf5a63}.Debug|Any CPU.Build.0 = Debug|Any CPU - {168b694c-7d58-d228-f9a3-02235c192fc5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {168b694c-7d58-d228-f9a3-02235c192fc5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {62753af3-1e0c-69e5-d3db-cf11598cd1b3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {62753af3-1e0c-69e5-d3db-cf11598cd1b3}.Debug|Any CPU.Build.0 = Debug|Any CPU {356a0975-52a0-edee-67e5-a8751d23d388}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {356a0975-52a0-edee-67e5-a8751d23d388}.Debug|Any CPU.Build.0 = Debug|Any CPU {786227ef-f2d4-16aa-9b5e-f745e7520e98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {786227ef-f2d4-16aa-9b5e-f745e7520e98}.Debug|Any CPU.Build.0 = Debug|Any CPU - {694241c5-b793-03a0-1887-6d1b1abd5716}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {694241c5-b793-03a0-1887-6d1b1abd5716}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7e65388c-f6a7-49e7-107c-67d307ad886b}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7e65388c-f6a7-49e7-107c-67d307ad886b}.Debug|Any CPU.Build.0 = Debug|Any CPU + {bf8742e6-eee2-4cf6-3e82-d12e15802154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {bf8742e6-eee2-4cf6-3e82-d12e15802154}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4a87c629-43f1-69d0-8f74-10cb56b7fde9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4a87c629-43f1-69d0-8f74-10cb56b7fde9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {168b694c-7d58-d228-f9a3-02235c192fc5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {168b694c-7d58-d228-f9a3-02235c192fc5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9722de7c-517b-fffe-d423-d313eadf5149}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9722de7c-517b-fffe-d423-d313eadf5149}.Debug|Any CPU.Build.0 = Debug|Any CPU + {33448493-9d07-9e6d-e65e-d48b790a1dbf}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {33448493-9d07-9e6d-e65e-d48b790a1dbf}.Debug|Any CPU.Build.0 = Debug|Any CPU {082457fe-fcb4-40d1-c6ce-98e6d3097f89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {082457fe-fcb4-40d1-c6ce-98e6d3097f89}.Debug|Any CPU.Build.0 = Debug|Any CPU {928a2a75-dd5e-391a-39b4-3b93706f64ec}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {928a2a75-dd5e-391a-39b4-3b93706f64ec}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7e65388c-f6a7-49e7-107c-67d307ad886b}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7e65388c-f6a7-49e7-107c-67d307ad886b}.Debug|Any CPU.Build.0 = Debug|Any CPU {023a0336-4680-7ca2-9149-a72dd59bbaf2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {023a0336-4680-7ca2-9149-a72dd59bbaf2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4a87c629-43f1-69d0-8f74-10cb56b7fde9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4a87c629-43f1-69d0-8f74-10cb56b7fde9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {33448493-9d07-9e6d-e65e-d48b790a1dbf}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {33448493-9d07-9e6d-e65e-d48b790a1dbf}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9722de7c-517b-fffe-d423-d313eadf5149}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9722de7c-517b-fffe-d423-d313eadf5149}.Debug|Any CPU.Build.0 = Debug|Any CPU + {694241c5-b793-03a0-1887-6d1b1abd5716}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {694241c5-b793-03a0-1887-6d1b1abd5716}.Debug|Any CPU.Build.0 = Debug|Any CPU {c9c9cf10-826e-692f-c3d6-a70ff9e1c4a0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {c9c9cf10-826e-692f-c3d6-a70ff9e1c4a0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {90b62417-519b-b8f6-f81a-bc5c9cd80e76}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {90b62417-519b-b8f6-f81a-bc5c9cd80e76}.Debug|Any CPU.Build.0 = Debug|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/JNFrame2/Logs/AssetImportWorker0-prev.log b/JNFrame2/Logs/AssetImportWorker0-prev.log new file mode 100644 index 00000000..28461e46 --- /dev/null +++ b/JNFrame2/Logs/AssetImportWorker0-prev.log @@ -0,0 +1,225 @@ +Using pre-set license +Built from '2022.3/staging' branch; Version is '2022.3.1f1 (f18e0c1b5784) revision 15830540'; Using compiler version '192829333'; Build Type 'Release' +OS: 'Windows 11 (10.0.22631) 64bit Professional' Language: 'zh' Physical Memory: 32651 MB +BatchMode: 1, IsHumanControllingUs: 0, StartBugReporterOnCrash: 0, Is64bit: 1, IsPro: 1 + +COMMAND LINE ARGUMENTS: +D:\Unity\2022.3.1f1\Editor\Unity.exe +-adb2 +-batchMode +-noUpm +-name +AssetImportWorker0 +-projectPath +D:/myproject/JisolGame/JNFrame2 +-logFile +Logs/AssetImportWorker0.log +-srvPort +65245 +Successfully changed project path to: D:/myproject/JisolGame/JNFrame2 +D:/myproject/JisolGame/JNFrame2 +[UnityMemory] Configuration Parameters - Can be set up in boot.config + "memorysetup-bucket-allocator-granularity=16" + "memorysetup-bucket-allocator-bucket-count=8" + "memorysetup-bucket-allocator-block-size=33554432" + "memorysetup-bucket-allocator-block-count=8" + "memorysetup-main-allocator-block-size=16777216" + "memorysetup-thread-allocator-block-size=16777216" + "memorysetup-gfx-main-allocator-block-size=16777216" + "memorysetup-gfx-thread-allocator-block-size=16777216" + "memorysetup-cache-allocator-block-size=4194304" + "memorysetup-typetree-allocator-block-size=2097152" + "memorysetup-profiler-bucket-allocator-granularity=16" + "memorysetup-profiler-bucket-allocator-bucket-count=8" + "memorysetup-profiler-bucket-allocator-block-size=33554432" + "memorysetup-profiler-bucket-allocator-block-count=8" + "memorysetup-profiler-allocator-block-size=16777216" + "memorysetup-profiler-editor-allocator-block-size=1048576" + "memorysetup-temp-allocator-size-main=16777216" + "memorysetup-job-temp-allocator-block-size=2097152" + "memorysetup-job-temp-allocator-block-size-background=1048576" + "memorysetup-job-temp-allocator-reduction-small-platforms=262144" + "memorysetup-allocator-temp-initial-block-size-main=262144" + "memorysetup-allocator-temp-initial-block-size-worker=262144" + "memorysetup-temp-allocator-size-background-worker=32768" + "memorysetup-temp-allocator-size-job-worker=262144" + "memorysetup-temp-allocator-size-preload-manager=33554432" + "memorysetup-temp-allocator-size-nav-mesh-worker=65536" + "memorysetup-temp-allocator-size-audio-worker=65536" + "memorysetup-temp-allocator-size-cloud-worker=32768" + "memorysetup-temp-allocator-size-gi-baking-worker=262144" + "memorysetup-temp-allocator-size-gfx=262144" +Player connection [332576] Host "[IP] 192.168.15.124 [Port] 0 [Flags] 2 [Guid] 2271537853 [EditorId] 2271537853 [Version] 1048832 [Id] WindowsEditor(7,PC-20230316NUNE) [Debug] 1 [PackageName] WindowsEditor [ProjectName] Editor" joined multi-casting on [225.0.0.222:54997]... + +Player connection [332576] Host "[IP] 192.168.15.124 [Port] 0 [Flags] 2 [Guid] 2271537853 [EditorId] 2271537853 [Version] 1048832 [Id] WindowsEditor(7,PC-20230316NUNE) [Debug] 1 [PackageName] WindowsEditor [ProjectName] Editor" joined alternative multi-casting on [225.0.0.222:34997]... + +Refreshing native plugins compatible for Editor in 63.14 ms, found 3 plugins. +Preloading 0 native plugins for Editor in 0.00 ms. +Initialize engine version: 2022.3.1f1 (f18e0c1b5784) +[Subsystems] Discovering subsystems at path D:/Unity/2022.3.1f1/Editor/Data/Resources/UnitySubsystems +[Subsystems] Discovering subsystems at path D:/myproject/JisolGame/JNFrame2/Assets +GfxDevice: creating device client; threaded=0; jobified=0 +Direct3D: + Version: Direct3D 11.0 [level 11.1] + Renderer: NVIDIA GeForce GTX 1660 SUPER (ID=0x21c4) + Vendor: NVIDIA + VRAM: 5980 MB + Driver: 31.0.15.3623 +Initialize mono +Mono path[0] = 'D:/Unity/2022.3.1f1/Editor/Data/Managed' +Mono path[1] = 'D:/Unity/2022.3.1f1/Editor/Data/MonoBleedingEdge/lib/mono/unityjit-win32' +Mono config path = 'D:/Unity/2022.3.1f1/Editor/Data/MonoBleedingEdge/etc' +Using monoOptions --debugger-agent=transport=dt_socket,embedding=1,server=y,suspend=n,address=127.0.0.1:56516 +Begin MonoManager ReloadAssembly +Registering precompiled unity dll's ... +Register platform support module: D:/Unity/2022.3.1f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/UnityEditor.WindowsStandalone.Extensions.dll +Registered in 0.007393 seconds. +- Loaded All Assemblies, in 0.351 seconds +Native extension for WindowsStandalone target not found +Mono: successfully reloaded assembly +- Finished resetting the current domain, in 0.361 seconds +Domain Reload Profiling: 710ms + BeginReloadAssembly (99ms) + ExecutionOrderSort (0ms) + DisableScriptedObjects (0ms) + BackupInstance (0ms) + ReleaseScriptingObjects (0ms) + CreateAndSetChildDomain (1ms) + RebuildCommonClasses (33ms) + RebuildNativeTypeToScriptingClass (11ms) + initialDomainReloadingComplete (72ms) + LoadAllAssembliesAndSetupDomain (132ms) + LoadAssemblies (96ms) + RebuildTransferFunctionScriptingTraits (0ms) + AnalyzeDomain (125ms) + TypeCache.Refresh (124ms) + TypeCache.ScanAssembly (112ms) + ScanForSourceGeneratedMonoScriptInfo (0ms) + ResolveRequiredComponents (1ms) + FinalizeReload (362ms) + ReleaseScriptCaches (0ms) + RebuildScriptCaches (0ms) + SetupLoadedEditorAssemblies (290ms) + LogAssemblyErrors (0ms) + InitializePlatformSupportModulesInManaged (13ms) + SetLoadedEditorAssemblies (12ms) + RefreshPlugins (0ms) + BeforeProcessingInitializeOnLoad (3ms) + ProcessInitializeOnLoadAttributes (171ms) + ProcessInitializeOnLoadMethodAttributes (90ms) + AfterProcessingInitializeOnLoad (0ms) + EditorAssembliesLoaded (0ms) + ExecutionOrderSort2 (0ms) + AwakeInstancesAfterBackupRestoration (0ms) +======================================================================== +Worker process is ready to serve import requests +Begin MonoManager ReloadAssembly +- Loaded All Assemblies, in 1.454 seconds +Refreshing native plugins compatible for Editor in 26.54 ms, found 3 plugins. +Native extension for WindowsStandalone target not found +Package Manager log level set to [2] +[Package Manager] Server::EnsureServerProcessIsRunning -- launch failed, reason: Unity was launched with the -noUpm command-line argument +[Package Manager] UpmClient::Send -- Unable to send message (not connected to UPM process). +[Package Manager] Cannot connect to Unity Package Manager local server +Mono: successfully reloaded assembly +- Finished resetting the current domain, in 0.894 seconds +Domain Reload Profiling: 2339ms + BeginReloadAssembly (178ms) + ExecutionOrderSort (0ms) + DisableScriptedObjects (5ms) + BackupInstance (0ms) + ReleaseScriptingObjects (0ms) + CreateAndSetChildDomain (47ms) + RebuildCommonClasses (38ms) + RebuildNativeTypeToScriptingClass (14ms) + initialDomainReloadingComplete (86ms) + LoadAllAssembliesAndSetupDomain (1129ms) + LoadAssemblies (692ms) + RebuildTransferFunctionScriptingTraits (0ms) + AnalyzeDomain (502ms) + TypeCache.Refresh (437ms) + TypeCache.ScanAssembly (396ms) + ScanForSourceGeneratedMonoScriptInfo (47ms) + ResolveRequiredComponents (18ms) + FinalizeReload (895ms) + ReleaseScriptCaches (0ms) + RebuildScriptCaches (0ms) + SetupLoadedEditorAssemblies (683ms) + LogAssemblyErrors (0ms) + InitializePlatformSupportModulesInManaged (8ms) + SetLoadedEditorAssemblies (6ms) + RefreshPlugins (0ms) + BeforeProcessingInitializeOnLoad (139ms) + ProcessInitializeOnLoadAttributes (492ms) + ProcessInitializeOnLoadMethodAttributes (25ms) + AfterProcessingInitializeOnLoad (12ms) + EditorAssembliesLoaded (1ms) + ExecutionOrderSort2 (0ms) + AwakeInstancesAfterBackupRestoration (15ms) +Launched and connected shader compiler UnityShaderCompiler.exe after 0.15 seconds +Refreshing native plugins compatible for Editor in 39.22 ms, found 3 plugins. +Preloading 0 native plugins for Editor in 0.00 ms. +Unloading 6912 Unused Serialized files (Serialized files now loaded: 0) +Unloading 131 unused Assets / (163.9 KB). Loaded Objects now: 7334. +Memory consumption went from 215.5 MB to 215.3 MB. +Total: 9.667800 ms (FindLiveObjects: 1.663900 ms CreateObjectMapping: 2.486800 ms MarkObjects: 5.152500 ms DeleteObjects: 0.358500 ms) + +AssetImportParameters requested are different than current active one (requested -> active): + custom:container-demuxer-ogg: 62fdf1f143b41e24485cea50d1cbac27 -> + custom:framework-win-MediaFoundation: 216162199b28c13a410421893ffa2e32 -> + custom:container-muxer-webm: aa71ff27fc2769a1b78a27578f13a17b -> + custom:video-decoder-webm-vp8: 9c59270c3fd7afecdb556c50c9e8de78 -> + custom:AudioImporter_EditorPlatform: d09bf68614088b80899f8185d706f6e7 -> + custom:audio-decoder-ogg-vorbis: bf7c407c2cedff20999df2af8eb42d56 -> + custom:audio-encoder-webm-vorbis: bf7c407c2cedff20999df2af8eb42d56 -> + custom:video-decoder-ogg-theora: a1e56fd34408186e4bbccfd4996cb3dc -> + custom:container-demuxer-webm: 4f35f7cbe854078d1ac9338744f61a02 -> + custom:video-encoder-webm-vp8: eb34c28f22e8b96e1ab97ce403110664 -> +======================================================================== +Received Import Request. + Time since last request: 117319.423393 seconds. + path: Assets/NuGet.config + artifactKey: Guid(89a141dfcb5ead142853cf7da92be9b4) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/NuGet.config using Guid(89a141dfcb5ead142853cf7da92be9b4) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: '8b38678b22d79cd0fa45bb293ba5b4b9') in 0.016953 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 1 +======================================================================== +Received Import Request. + Time since last request: 2.118406 seconds. + path: Assets/packages.config + artifactKey: Guid(2aa88bcfcf2c3de4580fe2ca6f7587fd) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/packages.config using Guid(2aa88bcfcf2c3de4580fe2ca6f7587fd) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: 'fa80b8205cadc6dba6b3f178225e49c6') in 0.001036 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 1 +======================================================================== +Received Import Request. + Time since last request: 15.684945 seconds. + path: Assets/Packages + artifactKey: Guid(df36efb4036e9bb4bae132eccb9d800d) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/Packages using Guid(df36efb4036e9bb4bae132eccb9d800d) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: 'a7b9be72c437efe762dd84e8e4eed180') in 0.000605 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 0 +======================================================================== +Received Import Request. + Time since last request: 9.892620 seconds. + path: Assets/Scripts + artifactKey: Guid(30c84a5ad43aaae43ad97c2b93cfb149) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/Scripts using Guid(30c84a5ad43aaae43ad97c2b93cfb149) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: 'ee949d57d6dafc2ddc7737bd231ecc4b') in 0.000517 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 0 +======================================================================== +Received Import Request. + Time since last request: 0.782316 seconds. + path: Assets/Scripts/TextMain.cs + artifactKey: Guid(870a0b4c0dd966a4e8d4036ec0ef5a81) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/Scripts/TextMain.cs using Guid(870a0b4c0dd966a4e8d4036ec0ef5a81) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: '8aa0a2dab04d07ccf88654111e8078b3') in 0.000735 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 0 +======================================================================== +Received Import Request. + Time since last request: 843.362708 seconds. + path: Assets/Scripts/UI + artifactKey: Guid(d414e929767b4d26a46ab1794c5b1005) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/Scripts/UI using Guid(d414e929767b4d26a46ab1794c5b1005) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: 'a6aad586160a32742869acd0f29df09e') in 0.001644 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 0 diff --git a/JNFrame2/Logs/AssetImportWorker0.log b/JNFrame2/Logs/AssetImportWorker0.log new file mode 100644 index 00000000..14c39362 --- /dev/null +++ b/JNFrame2/Logs/AssetImportWorker0.log @@ -0,0 +1,276 @@ +Using pre-set license +Built from '2022.3/staging' branch; Version is '2022.3.1f1 (f18e0c1b5784) revision 15830540'; Using compiler version '192829333'; Build Type 'Release' +OS: 'Windows 11 (10.0.22631) 64bit Professional' Language: 'zh' Physical Memory: 32651 MB +BatchMode: 1, IsHumanControllingUs: 0, StartBugReporterOnCrash: 0, Is64bit: 1, IsPro: 1 + +COMMAND LINE ARGUMENTS: +D:\Unity\2022.3.1f1\Editor\Unity.exe +-adb2 +-batchMode +-noUpm +-name +AssetImportWorker0 +-projectPath +D:/myproject/JisolGame/JNFrame2 +-logFile +Logs/AssetImportWorker0.log +-srvPort +51379 +Successfully changed project path to: D:/myproject/JisolGame/JNFrame2 +D:/myproject/JisolGame/JNFrame2 +[UnityMemory] Configuration Parameters - Can be set up in boot.config + "memorysetup-bucket-allocator-granularity=16" + "memorysetup-bucket-allocator-bucket-count=8" + "memorysetup-bucket-allocator-block-size=33554432" + "memorysetup-bucket-allocator-block-count=8" + "memorysetup-main-allocator-block-size=16777216" + "memorysetup-thread-allocator-block-size=16777216" + "memorysetup-gfx-main-allocator-block-size=16777216" + "memorysetup-gfx-thread-allocator-block-size=16777216" + "memorysetup-cache-allocator-block-size=4194304" + "memorysetup-typetree-allocator-block-size=2097152" + "memorysetup-profiler-bucket-allocator-granularity=16" + "memorysetup-profiler-bucket-allocator-bucket-count=8" + "memorysetup-profiler-bucket-allocator-block-size=33554432" + "memorysetup-profiler-bucket-allocator-block-count=8" + "memorysetup-profiler-allocator-block-size=16777216" + "memorysetup-profiler-editor-allocator-block-size=1048576" + "memorysetup-temp-allocator-size-main=16777216" + "memorysetup-job-temp-allocator-block-size=2097152" + "memorysetup-job-temp-allocator-block-size-background=1048576" + "memorysetup-job-temp-allocator-reduction-small-platforms=262144" + "memorysetup-allocator-temp-initial-block-size-main=262144" + "memorysetup-allocator-temp-initial-block-size-worker=262144" + "memorysetup-temp-allocator-size-background-worker=32768" + "memorysetup-temp-allocator-size-job-worker=262144" + "memorysetup-temp-allocator-size-preload-manager=33554432" + "memorysetup-temp-allocator-size-nav-mesh-worker=65536" + "memorysetup-temp-allocator-size-audio-worker=65536" + "memorysetup-temp-allocator-size-cloud-worker=32768" + "memorysetup-temp-allocator-size-gi-baking-worker=262144" + "memorysetup-temp-allocator-size-gfx=262144" +Player connection [319352] Host "[IP] 192.168.15.124 [Port] 0 [Flags] 2 [Guid] 1414719687 [EditorId] 1414719687 [Version] 1048832 [Id] WindowsEditor(7,PC-20230316NUNE) [Debug] 1 [PackageName] WindowsEditor [ProjectName] Editor" joined multi-casting on [225.0.0.222:54997]... + +Player connection [319352] Host "[IP] 192.168.15.124 [Port] 0 [Flags] 2 [Guid] 1414719687 [EditorId] 1414719687 [Version] 1048832 [Id] WindowsEditor(7,PC-20230316NUNE) [Debug] 1 [PackageName] WindowsEditor [ProjectName] Editor" joined alternative multi-casting on [225.0.0.222:34997]... + +Refreshing native plugins compatible for Editor in 41.83 ms, found 3 plugins. +Preloading 0 native plugins for Editor in 0.00 ms. +Initialize engine version: 2022.3.1f1 (f18e0c1b5784) +[Subsystems] Discovering subsystems at path D:/Unity/2022.3.1f1/Editor/Data/Resources/UnitySubsystems +[Subsystems] Discovering subsystems at path D:/myproject/JisolGame/JNFrame2/Assets +GfxDevice: creating device client; threaded=0; jobified=0 +Direct3D: + Version: Direct3D 11.0 [level 11.1] + Renderer: NVIDIA GeForce GTX 1660 SUPER (ID=0x21c4) + Vendor: NVIDIA + VRAM: 5980 MB + Driver: 31.0.15.3623 +Initialize mono +Mono path[0] = 'D:/Unity/2022.3.1f1/Editor/Data/Managed' +Mono path[1] = 'D:/Unity/2022.3.1f1/Editor/Data/MonoBleedingEdge/lib/mono/unityjit-win32' +Mono config path = 'D:/Unity/2022.3.1f1/Editor/Data/MonoBleedingEdge/etc' +Using monoOptions --debugger-agent=transport=dt_socket,embedding=1,server=y,suspend=n,address=127.0.0.1:56936 +Begin MonoManager ReloadAssembly +Registering precompiled unity dll's ... +Register platform support module: D:/Unity/2022.3.1f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/UnityEditor.WindowsStandalone.Extensions.dll +Registered in 0.011331 seconds. +- Loaded All Assemblies, in 0.558 seconds +Native extension for WindowsStandalone target not found +Mono: successfully reloaded assembly +- Finished resetting the current domain, in 0.318 seconds +Domain Reload Profiling: 873ms + BeginReloadAssembly (131ms) + ExecutionOrderSort (0ms) + DisableScriptedObjects (0ms) + BackupInstance (0ms) + ReleaseScriptingObjects (0ms) + CreateAndSetChildDomain (1ms) + RebuildCommonClasses (55ms) + RebuildNativeTypeToScriptingClass (16ms) + initialDomainReloadingComplete (106ms) + LoadAllAssembliesAndSetupDomain (246ms) + LoadAssemblies (127ms) + RebuildTransferFunctionScriptingTraits (0ms) + AnalyzeDomain (236ms) + TypeCache.Refresh (233ms) + TypeCache.ScanAssembly (215ms) + ScanForSourceGeneratedMonoScriptInfo (1ms) + ResolveRequiredComponents (2ms) + FinalizeReload (318ms) + ReleaseScriptCaches (0ms) + RebuildScriptCaches (0ms) + SetupLoadedEditorAssemblies (235ms) + LogAssemblyErrors (0ms) + InitializePlatformSupportModulesInManaged (11ms) + SetLoadedEditorAssemblies (10ms) + RefreshPlugins (0ms) + BeforeProcessingInitializeOnLoad (2ms) + ProcessInitializeOnLoadAttributes (145ms) + ProcessInitializeOnLoadMethodAttributes (67ms) + AfterProcessingInitializeOnLoad (0ms) + EditorAssembliesLoaded (0ms) + ExecutionOrderSort2 (0ms) + AwakeInstancesAfterBackupRestoration (0ms) +======================================================================== +Worker process is ready to serve import requests +Begin MonoManager ReloadAssembly +- Loaded All Assemblies, in 1.615 seconds +Refreshing native plugins compatible for Editor in 25.85 ms, found 3 plugins. +Native extension for WindowsStandalone target not found +Package Manager log level set to [2] +[Package Manager] Server::EnsureServerProcessIsRunning -- launch failed, reason: Unity was launched with the -noUpm command-line argument +[Package Manager] UpmClient::Send -- Unable to send message (not connected to UPM process). +[Package Manager] Cannot connect to Unity Package Manager local server +Mono: successfully reloaded assembly +- Finished resetting the current domain, in 0.986 seconds +Domain Reload Profiling: 2596ms + BeginReloadAssembly (183ms) + ExecutionOrderSort (0ms) + DisableScriptedObjects (5ms) + BackupInstance (0ms) + ReleaseScriptingObjects (0ms) + CreateAndSetChildDomain (47ms) + RebuildCommonClasses (45ms) + RebuildNativeTypeToScriptingClass (10ms) + initialDomainReloadingComplete (67ms) + LoadAllAssembliesAndSetupDomain (1304ms) + LoadAssemblies (933ms) + RebuildTransferFunctionScriptingTraits (0ms) + AnalyzeDomain (445ms) + TypeCache.Refresh (405ms) + TypeCache.ScanAssembly (384ms) + ScanForSourceGeneratedMonoScriptInfo (31ms) + ResolveRequiredComponents (8ms) + FinalizeReload (987ms) + ReleaseScriptCaches (0ms) + RebuildScriptCaches (0ms) + SetupLoadedEditorAssemblies (732ms) + LogAssemblyErrors (0ms) + InitializePlatformSupportModulesInManaged (7ms) + SetLoadedEditorAssemblies (5ms) + RefreshPlugins (0ms) + BeforeProcessingInitializeOnLoad (146ms) + ProcessInitializeOnLoadAttributes (536ms) + ProcessInitializeOnLoadMethodAttributes (29ms) + AfterProcessingInitializeOnLoad (9ms) + EditorAssembliesLoaded (1ms) + ExecutionOrderSort2 (0ms) + AwakeInstancesAfterBackupRestoration (10ms) +Launched and connected shader compiler UnityShaderCompiler.exe after 0.15 seconds +Refreshing native plugins compatible for Editor in 23.94 ms, found 3 plugins. +Preloading 0 native plugins for Editor in 0.00 ms. +Unloading 7037 Unused Serialized files (Serialized files now loaded: 0) +Unloading 137 unused Assets / (164.9 KB). Loaded Objects now: 7459. +Memory consumption went from 217.7 MB to 217.5 MB. +Total: 4.123000 ms (FindLiveObjects: 0.754600 ms CreateObjectMapping: 0.453000 ms MarkObjects: 2.629700 ms DeleteObjects: 0.283800 ms) + +AssetImportParameters requested are different than current active one (requested -> active): + custom:container-demuxer-ogg: 62fdf1f143b41e24485cea50d1cbac27 -> + custom:framework-win-MediaFoundation: 216162199b28c13a410421893ffa2e32 -> + custom:container-muxer-webm: aa71ff27fc2769a1b78a27578f13a17b -> + custom:video-decoder-webm-vp8: 9c59270c3fd7afecdb556c50c9e8de78 -> + custom:AudioImporter_EditorPlatform: d09bf68614088b80899f8185d706f6e7 -> + custom:audio-decoder-ogg-vorbis: bf7c407c2cedff20999df2af8eb42d56 -> + custom:audio-encoder-webm-vorbis: bf7c407c2cedff20999df2af8eb42d56 -> + custom:video-decoder-ogg-theora: a1e56fd34408186e4bbccfd4996cb3dc -> + custom:container-demuxer-webm: 4f35f7cbe854078d1ac9338744f61a02 -> + custom:scripting/monoscript/fileName/m_generatorPluginAttribute.cs: 945815ba23aebc718f35fffdc5027e25 -> bef7912753b2bc58bba0d70946e69a22 + custom:scripting/monoscript/fileName/m_generatorAttribute.cs: 65e102978325dcde816315825ed0fee4 -> 4d18a73bcdf3c1dd8d7046481e79d093 + custom:video-encoder-webm-vp8: eb34c28f22e8b96e1ab97ce403110664 -> + custom:scripting/monoscript/fileName/m_generatorPackageAttribute.cs: cff8dec07e61cf430e75aa09834ed65c -> c0108c2656ca6f9f00b8de673fb8aace +======================================================================== +Received Import Request. + Time since last request: 124376.746414 seconds. + path: Assets/Samples + artifactKey: Guid(b04feb24bd437df42b55d34cc7ef8518) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/Samples using Guid(b04feb24bd437df42b55d34cc7ef8518) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: '53b00e576f90ec299070703d676dc8d8') in 0.002727 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 0 +======================================================================== +Received Import Request. + Time since last request: 0.870291 seconds. + path: Assets/Samples/Cinemachine + artifactKey: Guid(579fce1343e47e74fa8bd769e8a5d6c7) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/Samples/Cinemachine using Guid(579fce1343e47e74fa8bd769e8a5d6c7) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: 'e025152cbe814c6362f3280c25772d69') in 0.000528 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 0 +======================================================================== +Received Import Request. + Time since last request: 11.862423 seconds. + path: Assets/TextMesh Pro + artifactKey: Guid(f54d1bd14bd3ca042bd867b519fee8cc) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/TextMesh Pro using Guid(f54d1bd14bd3ca042bd867b519fee8cc) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: '30796653c4dfc1f2480bca9d8b60487c') in 0.000458 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 0 +======================================================================== +Received Import Request. + Time since last request: 1.904656 seconds. + path: Assets/TextMesh Pro/Fonts + artifactKey: Guid(6ab70aee4d56447429c680537fbf93ed) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/TextMesh Pro/Fonts using Guid(6ab70aee4d56447429c680537fbf93ed) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: '25524e152126d39616bdb6d7e34b8aa6') in 0.000692 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 0 +======================================================================== +Received Import Request. + Time since last request: 0.062103 seconds. + path: Assets/TextMesh Pro/Fonts/LiberationSans.ttf + artifactKey: Guid(e3265ab4bf004d28a9537516768c1c75) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/TextMesh Pro/Fonts/LiberationSans.ttf using Guid(e3265ab4bf004d28a9537516768c1c75) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: '8756f7c291147a75e95d0f4a0d9e7e56') in 0.122863 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 4 +======================================================================== +Received Import Request. + Time since last request: 1.971613 seconds. + path: Assets/TextMesh Pro/Shaders + artifactKey: Guid(e9f693669af91aa45ad615fc681ed29f) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/TextMesh Pro/Shaders using Guid(e9f693669af91aa45ad615fc681ed29f) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: '82f431fb395f9d0dbbb787304cdb51f5') in 0.000682 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 0 +======================================================================== +Received Import Request. + Time since last request: 0.052563 seconds. + path: Assets/TextMesh Pro/Shaders/TMPro.cginc + artifactKey: Guid(407bc68d299748449bbf7f48ee690f8d) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/TextMesh Pro/Shaders/TMPro.cginc using Guid(407bc68d299748449bbf7f48ee690f8d) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: 'b2f603c20fc83149d951696e0b5ff78e') in 0.001947 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 1 +======================================================================== +Received Import Request. + Time since last request: 0.000032 seconds. + path: Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc + artifactKey: Guid(3997e2241185407d80309a82f9148466) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc using Guid(3997e2241185407d80309a82f9148466) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: 'fb17b39ab37ff5c4a0c347358e9d790f') in 0.001670 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 1 +======================================================================== +Received Import Request. + Time since last request: 0.000025 seconds. + path: Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc + artifactKey: Guid(d930090c0cd643c7b55f19a38538c162) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc using Guid(d930090c0cd643c7b55f19a38538c162) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: '9c686a485411b244d6b24147d7663491') in 0.001725 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 1 +======================================================================== +Received Import Request. + Time since last request: 2.044133 seconds. + path: Assets/TextMesh Pro/Sprites + artifactKey: Guid(d0603b6d5186471b96c778c3949c7ce2) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/TextMesh Pro/Sprites using Guid(d0603b6d5186471b96c778c3949c7ce2) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: '6cb8c8d526b56b02a177794fb5aaffbd') in 0.000973 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 0 +======================================================================== +Received Import Request. + Time since last request: 0.063709 seconds. + path: Assets/TextMesh Pro/Sprites/EmojiOne.png + artifactKey: Guid(dffef66376be4fa480fb02b19edbe903) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/TextMesh Pro/Sprites/EmojiOne.png using Guid(dffef66376be4fa480fb02b19edbe903) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: 'd83832d6af2d2d9a8013e1fc3069b188') in 0.013657 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 2 +======================================================================== +Received Import Request. + Time since last request: 21.824994 seconds. + path: Assets/Plugins + artifactKey: Guid(475250884c6f62c47bcd30372d11f341) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/Plugins using Guid(475250884c6f62c47bcd30372d11f341) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: '614446947648be1e05bb995edce26b5a') in 0.042885 seconds +Number of updated asset objects reloaded before import = 13 +Number of asset objects unloaded after import = 0 diff --git a/JNFrame2/Logs/AssetImportWorker1-prev.log b/JNFrame2/Logs/AssetImportWorker1-prev.log new file mode 100644 index 00000000..f473961f --- /dev/null +++ b/JNFrame2/Logs/AssetImportWorker1-prev.log @@ -0,0 +1,177 @@ +Using pre-set license +Built from '2022.3/staging' branch; Version is '2022.3.1f1 (f18e0c1b5784) revision 15830540'; Using compiler version '192829333'; Build Type 'Release' +OS: 'Windows 11 (10.0.22631) 64bit Professional' Language: 'zh' Physical Memory: 32651 MB +BatchMode: 1, IsHumanControllingUs: 0, StartBugReporterOnCrash: 0, Is64bit: 1, IsPro: 1 + +COMMAND LINE ARGUMENTS: +D:\Unity\2022.3.1f1\Editor\Unity.exe +-adb2 +-batchMode +-noUpm +-name +AssetImportWorker1 +-projectPath +D:/myproject/JisolGame/JNFrame2 +-logFile +Logs/AssetImportWorker1.log +-srvPort +65245 +Successfully changed project path to: D:/myproject/JisolGame/JNFrame2 +D:/myproject/JisolGame/JNFrame2 +[UnityMemory] Configuration Parameters - Can be set up in boot.config + "memorysetup-bucket-allocator-granularity=16" + "memorysetup-bucket-allocator-bucket-count=8" + "memorysetup-bucket-allocator-block-size=33554432" + "memorysetup-bucket-allocator-block-count=8" + "memorysetup-main-allocator-block-size=16777216" + "memorysetup-thread-allocator-block-size=16777216" + "memorysetup-gfx-main-allocator-block-size=16777216" + "memorysetup-gfx-thread-allocator-block-size=16777216" + "memorysetup-cache-allocator-block-size=4194304" + "memorysetup-typetree-allocator-block-size=2097152" + "memorysetup-profiler-bucket-allocator-granularity=16" + "memorysetup-profiler-bucket-allocator-bucket-count=8" + "memorysetup-profiler-bucket-allocator-block-size=33554432" + "memorysetup-profiler-bucket-allocator-block-count=8" + "memorysetup-profiler-allocator-block-size=16777216" + "memorysetup-profiler-editor-allocator-block-size=1048576" + "memorysetup-temp-allocator-size-main=16777216" + "memorysetup-job-temp-allocator-block-size=2097152" + "memorysetup-job-temp-allocator-block-size-background=1048576" + "memorysetup-job-temp-allocator-reduction-small-platforms=262144" + "memorysetup-allocator-temp-initial-block-size-main=262144" + "memorysetup-allocator-temp-initial-block-size-worker=262144" + "memorysetup-temp-allocator-size-background-worker=32768" + "memorysetup-temp-allocator-size-job-worker=262144" + "memorysetup-temp-allocator-size-preload-manager=33554432" + "memorysetup-temp-allocator-size-nav-mesh-worker=65536" + "memorysetup-temp-allocator-size-audio-worker=65536" + "memorysetup-temp-allocator-size-cloud-worker=32768" + "memorysetup-temp-allocator-size-gi-baking-worker=262144" + "memorysetup-temp-allocator-size-gfx=262144" +Player connection [110252] Host "[IP] 192.168.15.124 [Port] 0 [Flags] 2 [Guid] 4050760612 [EditorId] 4050760612 [Version] 1048832 [Id] WindowsEditor(7,PC-20230316NUNE) [Debug] 1 [PackageName] WindowsEditor [ProjectName] Editor" joined multi-casting on [225.0.0.222:54997]... + +Player connection [110252] Host "[IP] 192.168.15.124 [Port] 0 [Flags] 2 [Guid] 4050760612 [EditorId] 4050760612 [Version] 1048832 [Id] WindowsEditor(7,PC-20230316NUNE) [Debug] 1 [PackageName] WindowsEditor [ProjectName] Editor" joined alternative multi-casting on [225.0.0.222:34997]... + +Refreshing native plugins compatible for Editor in 45.75 ms, found 3 plugins. +Preloading 0 native plugins for Editor in 0.00 ms. +Initialize engine version: 2022.3.1f1 (f18e0c1b5784) +[Subsystems] Discovering subsystems at path D:/Unity/2022.3.1f1/Editor/Data/Resources/UnitySubsystems +[Subsystems] Discovering subsystems at path D:/myproject/JisolGame/JNFrame2/Assets +GfxDevice: creating device client; threaded=0; jobified=0 +Direct3D: + Version: Direct3D 11.0 [level 11.1] + Renderer: NVIDIA GeForce GTX 1660 SUPER (ID=0x21c4) + Vendor: NVIDIA + VRAM: 5980 MB + Driver: 31.0.15.3623 +Initialize mono +Mono path[0] = 'D:/Unity/2022.3.1f1/Editor/Data/Managed' +Mono path[1] = 'D:/Unity/2022.3.1f1/Editor/Data/MonoBleedingEdge/lib/mono/unityjit-win32' +Mono config path = 'D:/Unity/2022.3.1f1/Editor/Data/MonoBleedingEdge/etc' +Using monoOptions --debugger-agent=transport=dt_socket,embedding=1,server=y,suspend=n,address=127.0.0.1:56160 +Begin MonoManager ReloadAssembly +Registering precompiled unity dll's ... +Register platform support module: D:/Unity/2022.3.1f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/UnityEditor.WindowsStandalone.Extensions.dll +Registered in 0.005353 seconds. +- Loaded All Assemblies, in 0.362 seconds +Native extension for WindowsStandalone target not found +Mono: successfully reloaded assembly +- Finished resetting the current domain, in 0.363 seconds +Domain Reload Profiling: 723ms + BeginReloadAssembly (103ms) + ExecutionOrderSort (0ms) + DisableScriptedObjects (0ms) + BackupInstance (0ms) + ReleaseScriptingObjects (0ms) + CreateAndSetChildDomain (1ms) + RebuildCommonClasses (33ms) + RebuildNativeTypeToScriptingClass (9ms) + initialDomainReloadingComplete (56ms) + LoadAllAssembliesAndSetupDomain (158ms) + LoadAssemblies (99ms) + RebuildTransferFunctionScriptingTraits (0ms) + AnalyzeDomain (151ms) + TypeCache.Refresh (150ms) + TypeCache.ScanAssembly (130ms) + ScanForSourceGeneratedMonoScriptInfo (1ms) + ResolveRequiredComponents (1ms) + FinalizeReload (364ms) + ReleaseScriptCaches (0ms) + RebuildScriptCaches (0ms) + SetupLoadedEditorAssemblies (290ms) + LogAssemblyErrors (0ms) + InitializePlatformSupportModulesInManaged (12ms) + SetLoadedEditorAssemblies (10ms) + RefreshPlugins (0ms) + BeforeProcessingInitializeOnLoad (2ms) + ProcessInitializeOnLoadAttributes (191ms) + ProcessInitializeOnLoadMethodAttributes (75ms) + AfterProcessingInitializeOnLoad (0ms) + EditorAssembliesLoaded (0ms) + ExecutionOrderSort2 (0ms) + AwakeInstancesAfterBackupRestoration (0ms) +======================================================================== +Worker process is ready to serve import requests +Begin MonoManager ReloadAssembly +- Loaded All Assemblies, in 1.422 seconds +Refreshing native plugins compatible for Editor in 20.80 ms, found 3 plugins. +Native extension for WindowsStandalone target not found +Package Manager log level set to [2] +[Package Manager] Server::EnsureServerProcessIsRunning -- launch failed, reason: Unity was launched with the -noUpm command-line argument +[Package Manager] UpmClient::Send -- Unable to send message (not connected to UPM process). +[Package Manager] Cannot connect to Unity Package Manager local server +Mono: successfully reloaded assembly +- Finished resetting the current domain, in 0.909 seconds +Domain Reload Profiling: 2327ms + BeginReloadAssembly (158ms) + ExecutionOrderSort (0ms) + DisableScriptedObjects (6ms) + BackupInstance (0ms) + ReleaseScriptingObjects (0ms) + CreateAndSetChildDomain (26ms) + RebuildCommonClasses (53ms) + RebuildNativeTypeToScriptingClass (15ms) + initialDomainReloadingComplete (71ms) + LoadAllAssembliesAndSetupDomain (1120ms) + LoadAssemblies (689ms) + RebuildTransferFunctionScriptingTraits (0ms) + AnalyzeDomain (498ms) + TypeCache.Refresh (454ms) + TypeCache.ScanAssembly (423ms) + ScanForSourceGeneratedMonoScriptInfo (35ms) + ResolveRequiredComponents (10ms) + FinalizeReload (909ms) + ReleaseScriptCaches (0ms) + RebuildScriptCaches (0ms) + SetupLoadedEditorAssemblies (688ms) + LogAssemblyErrors (0ms) + InitializePlatformSupportModulesInManaged (5ms) + SetLoadedEditorAssemblies (4ms) + RefreshPlugins (0ms) + BeforeProcessingInitializeOnLoad (133ms) + ProcessInitializeOnLoadAttributes (486ms) + ProcessInitializeOnLoadMethodAttributes (44ms) + AfterProcessingInitializeOnLoad (14ms) + EditorAssembliesLoaded (1ms) + ExecutionOrderSort2 (0ms) + AwakeInstancesAfterBackupRestoration (22ms) +Launched and connected shader compiler UnityShaderCompiler.exe after 0.13 seconds +Refreshing native plugins compatible for Editor in 33.83 ms, found 3 plugins. +Preloading 0 native plugins for Editor in 0.00 ms. +Unloading 6912 Unused Serialized files (Serialized files now loaded: 0) +Unloading 131 unused Assets / (163.9 KB). Loaded Objects now: 7334. +Memory consumption went from 215.5 MB to 215.3 MB. +Total: 8.851200 ms (FindLiveObjects: 1.553900 ms CreateObjectMapping: 1.649800 ms MarkObjects: 4.935800 ms DeleteObjects: 0.709100 ms) + +AssetImportParameters requested are different than current active one (requested -> active): + custom:container-demuxer-ogg: 62fdf1f143b41e24485cea50d1cbac27 -> + custom:framework-win-MediaFoundation: 216162199b28c13a410421893ffa2e32 -> + custom:container-muxer-webm: aa71ff27fc2769a1b78a27578f13a17b -> + custom:video-decoder-webm-vp8: 9c59270c3fd7afecdb556c50c9e8de78 -> + custom:AudioImporter_EditorPlatform: d09bf68614088b80899f8185d706f6e7 -> + custom:audio-decoder-ogg-vorbis: bf7c407c2cedff20999df2af8eb42d56 -> + custom:audio-encoder-webm-vorbis: bf7c407c2cedff20999df2af8eb42d56 -> + custom:video-decoder-ogg-theora: a1e56fd34408186e4bbccfd4996cb3dc -> + custom:container-demuxer-webm: 4f35f7cbe854078d1ac9338744f61a02 -> + custom:video-encoder-webm-vp8: eb34c28f22e8b96e1ab97ce403110664 -> diff --git a/JNFrame2/Logs/AssetImportWorker1.log b/JNFrame2/Logs/AssetImportWorker1.log new file mode 100644 index 00000000..198fc317 --- /dev/null +++ b/JNFrame2/Logs/AssetImportWorker1.log @@ -0,0 +1,188 @@ +Using pre-set license +Built from '2022.3/staging' branch; Version is '2022.3.1f1 (f18e0c1b5784) revision 15830540'; Using compiler version '192829333'; Build Type 'Release' +OS: 'Windows 11 (10.0.22631) 64bit Professional' Language: 'zh' Physical Memory: 32651 MB +BatchMode: 1, IsHumanControllingUs: 0, StartBugReporterOnCrash: 0, Is64bit: 1, IsPro: 1 + +COMMAND LINE ARGUMENTS: +D:\Unity\2022.3.1f1\Editor\Unity.exe +-adb2 +-batchMode +-noUpm +-name +AssetImportWorker1 +-projectPath +D:/myproject/JisolGame/JNFrame2 +-logFile +Logs/AssetImportWorker1.log +-srvPort +51379 +Successfully changed project path to: D:/myproject/JisolGame/JNFrame2 +D:/myproject/JisolGame/JNFrame2 +[UnityMemory] Configuration Parameters - Can be set up in boot.config + "memorysetup-bucket-allocator-granularity=16" + "memorysetup-bucket-allocator-bucket-count=8" + "memorysetup-bucket-allocator-block-size=33554432" + "memorysetup-bucket-allocator-block-count=8" + "memorysetup-main-allocator-block-size=16777216" + "memorysetup-thread-allocator-block-size=16777216" + "memorysetup-gfx-main-allocator-block-size=16777216" + "memorysetup-gfx-thread-allocator-block-size=16777216" + "memorysetup-cache-allocator-block-size=4194304" + "memorysetup-typetree-allocator-block-size=2097152" + "memorysetup-profiler-bucket-allocator-granularity=16" + "memorysetup-profiler-bucket-allocator-bucket-count=8" + "memorysetup-profiler-bucket-allocator-block-size=33554432" + "memorysetup-profiler-bucket-allocator-block-count=8" + "memorysetup-profiler-allocator-block-size=16777216" + "memorysetup-profiler-editor-allocator-block-size=1048576" + "memorysetup-temp-allocator-size-main=16777216" + "memorysetup-job-temp-allocator-block-size=2097152" + "memorysetup-job-temp-allocator-block-size-background=1048576" + "memorysetup-job-temp-allocator-reduction-small-platforms=262144" + "memorysetup-allocator-temp-initial-block-size-main=262144" + "memorysetup-allocator-temp-initial-block-size-worker=262144" + "memorysetup-temp-allocator-size-background-worker=32768" + "memorysetup-temp-allocator-size-job-worker=262144" + "memorysetup-temp-allocator-size-preload-manager=33554432" + "memorysetup-temp-allocator-size-nav-mesh-worker=65536" + "memorysetup-temp-allocator-size-audio-worker=65536" + "memorysetup-temp-allocator-size-cloud-worker=32768" + "memorysetup-temp-allocator-size-gi-baking-worker=262144" + "memorysetup-temp-allocator-size-gfx=262144" +Player connection [355868] Host "[IP] 192.168.15.124 [Port] 0 [Flags] 2 [Guid] 2562815426 [EditorId] 2562815426 [Version] 1048832 [Id] WindowsEditor(7,PC-20230316NUNE) [Debug] 1 [PackageName] WindowsEditor [ProjectName] Editor" joined multi-casting on [225.0.0.222:54997]... + +Player connection [355868] Host "[IP] 192.168.15.124 [Port] 0 [Flags] 2 [Guid] 2562815426 [EditorId] 2562815426 [Version] 1048832 [Id] WindowsEditor(7,PC-20230316NUNE) [Debug] 1 [PackageName] WindowsEditor [ProjectName] Editor" joined alternative multi-casting on [225.0.0.222:34997]... + +Refreshing native plugins compatible for Editor in 46.89 ms, found 3 plugins. +Preloading 0 native plugins for Editor in 0.00 ms. +Initialize engine version: 2022.3.1f1 (f18e0c1b5784) +[Subsystems] Discovering subsystems at path D:/Unity/2022.3.1f1/Editor/Data/Resources/UnitySubsystems +[Subsystems] Discovering subsystems at path D:/myproject/JisolGame/JNFrame2/Assets +GfxDevice: creating device client; threaded=0; jobified=0 +Direct3D: + Version: Direct3D 11.0 [level 11.1] + Renderer: NVIDIA GeForce GTX 1660 SUPER (ID=0x21c4) + Vendor: NVIDIA + VRAM: 5980 MB + Driver: 31.0.15.3623 +Initialize mono +Mono path[0] = 'D:/Unity/2022.3.1f1/Editor/Data/Managed' +Mono path[1] = 'D:/Unity/2022.3.1f1/Editor/Data/MonoBleedingEdge/lib/mono/unityjit-win32' +Mono config path = 'D:/Unity/2022.3.1f1/Editor/Data/MonoBleedingEdge/etc' +Using monoOptions --debugger-agent=transport=dt_socket,embedding=1,server=y,suspend=n,address=127.0.0.1:56480 +Begin MonoManager ReloadAssembly +Registering precompiled unity dll's ... +Register platform support module: D:/Unity/2022.3.1f1/Editor/Data/PlaybackEngines/WindowsStandaloneSupport/UnityEditor.WindowsStandalone.Extensions.dll +Registered in 0.008939 seconds. +- Loaded All Assemblies, in 0.533 seconds +Native extension for WindowsStandalone target not found +Mono: successfully reloaded assembly +- Finished resetting the current domain, in 0.300 seconds +Domain Reload Profiling: 830ms + BeginReloadAssembly (119ms) + ExecutionOrderSort (0ms) + DisableScriptedObjects (0ms) + BackupInstance (0ms) + ReleaseScriptingObjects (0ms) + CreateAndSetChildDomain (1ms) + RebuildCommonClasses (70ms) + RebuildNativeTypeToScriptingClass (15ms) + initialDomainReloadingComplete (75ms) + LoadAllAssembliesAndSetupDomain (251ms) + LoadAssemblies (115ms) + RebuildTransferFunctionScriptingTraits (0ms) + AnalyzeDomain (240ms) + TypeCache.Refresh (238ms) + TypeCache.ScanAssembly (218ms) + ScanForSourceGeneratedMonoScriptInfo (1ms) + ResolveRequiredComponents (1ms) + FinalizeReload (300ms) + ReleaseScriptCaches (0ms) + RebuildScriptCaches (0ms) + SetupLoadedEditorAssemblies (232ms) + LogAssemblyErrors (0ms) + InitializePlatformSupportModulesInManaged (11ms) + SetLoadedEditorAssemblies (9ms) + RefreshPlugins (0ms) + BeforeProcessingInitializeOnLoad (3ms) + ProcessInitializeOnLoadAttributes (153ms) + ProcessInitializeOnLoadMethodAttributes (56ms) + AfterProcessingInitializeOnLoad (0ms) + EditorAssembliesLoaded (0ms) + ExecutionOrderSort2 (0ms) + AwakeInstancesAfterBackupRestoration (0ms) +======================================================================== +Worker process is ready to serve import requests +Begin MonoManager ReloadAssembly +- Loaded All Assemblies, in 1.614 seconds +Refreshing native plugins compatible for Editor in 25.99 ms, found 3 plugins. +Native extension for WindowsStandalone target not found +Package Manager log level set to [2] +[Package Manager] Server::EnsureServerProcessIsRunning -- launch failed, reason: Unity was launched with the -noUpm command-line argument +[Package Manager] UpmClient::Send -- Unable to send message (not connected to UPM process). +[Package Manager] Cannot connect to Unity Package Manager local server +Mono: successfully reloaded assembly +- Finished resetting the current domain, in 0.989 seconds +Domain Reload Profiling: 2598ms + BeginReloadAssembly (188ms) + ExecutionOrderSort (0ms) + DisableScriptedObjects (6ms) + BackupInstance (0ms) + ReleaseScriptingObjects (0ms) + CreateAndSetChildDomain (48ms) + RebuildCommonClasses (41ms) + RebuildNativeTypeToScriptingClass (10ms) + initialDomainReloadingComplete (67ms) + LoadAllAssembliesAndSetupDomain (1302ms) + LoadAssemblies (931ms) + RebuildTransferFunctionScriptingTraits (0ms) + AnalyzeDomain (448ms) + TypeCache.Refresh (405ms) + TypeCache.ScanAssembly (387ms) + ScanForSourceGeneratedMonoScriptInfo (34ms) + ResolveRequiredComponents (8ms) + FinalizeReload (990ms) + ReleaseScriptCaches (0ms) + RebuildScriptCaches (0ms) + SetupLoadedEditorAssemblies (735ms) + LogAssemblyErrors (0ms) + InitializePlatformSupportModulesInManaged (6ms) + SetLoadedEditorAssemblies (6ms) + RefreshPlugins (0ms) + BeforeProcessingInitializeOnLoad (148ms) + ProcessInitializeOnLoadAttributes (534ms) + ProcessInitializeOnLoadMethodAttributes (30ms) + AfterProcessingInitializeOnLoad (9ms) + EditorAssembliesLoaded (0ms) + ExecutionOrderSort2 (0ms) + AwakeInstancesAfterBackupRestoration (9ms) +Launched and connected shader compiler UnityShaderCompiler.exe after 0.17 seconds +Refreshing native plugins compatible for Editor in 26.95 ms, found 3 plugins. +Preloading 0 native plugins for Editor in 0.00 ms. +Unloading 7037 Unused Serialized files (Serialized files now loaded: 0) +Unloading 137 unused Assets / (164.9 KB). Loaded Objects now: 7459. +Memory consumption went from 217.7 MB to 217.5 MB. +Total: 5.443400 ms (FindLiveObjects: 0.557700 ms CreateObjectMapping: 0.522400 ms MarkObjects: 4.074400 ms DeleteObjects: 0.287500 ms) + +AssetImportParameters requested are different than current active one (requested -> active): + custom:container-demuxer-ogg: 62fdf1f143b41e24485cea50d1cbac27 -> + custom:framework-win-MediaFoundation: 216162199b28c13a410421893ffa2e32 -> + custom:container-muxer-webm: aa71ff27fc2769a1b78a27578f13a17b -> + custom:video-decoder-webm-vp8: 9c59270c3fd7afecdb556c50c9e8de78 -> + custom:AudioImporter_EditorPlatform: d09bf68614088b80899f8185d706f6e7 -> + custom:audio-decoder-ogg-vorbis: bf7c407c2cedff20999df2af8eb42d56 -> + custom:audio-encoder-webm-vorbis: bf7c407c2cedff20999df2af8eb42d56 -> + custom:video-decoder-ogg-theora: a1e56fd34408186e4bbccfd4996cb3dc -> + custom:container-demuxer-webm: 4f35f7cbe854078d1ac9338744f61a02 -> + custom:scripting/monoscript/fileName/m_generatorPluginAttribute.cs: 945815ba23aebc718f35fffdc5027e25 -> bef7912753b2bc58bba0d70946e69a22 + custom:scripting/monoscript/fileName/m_generatorAttribute.cs: 65e102978325dcde816315825ed0fee4 -> 4d18a73bcdf3c1dd8d7046481e79d093 + custom:video-encoder-webm-vp8: eb34c28f22e8b96e1ab97ce403110664 -> + custom:scripting/monoscript/fileName/m_generatorPackageAttribute.cs: cff8dec07e61cf430e75aa09834ed65c -> c0108c2656ca6f9f00b8de673fb8aace +======================================================================== +Received Import Request. + Time since last request: 124393.606482 seconds. + path: Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc + artifactKey: Guid(c334973cef89a9840b0b0c507e0377ab) Importer(815301076,1909f56bfc062723c751e8b465ee728b) +Start importing Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc using Guid(c334973cef89a9840b0b0c507e0377ab) Importer(815301076,1909f56bfc062723c751e8b465ee728b) -> (artifact id: 'ed4948e3d3b156c358d774882348c13a') in 0.016291 seconds +Number of updated asset objects reloaded before import = 0 +Number of asset objects unloaded after import = 1 diff --git a/JNFrame2/Logs/Packages-Update.log b/JNFrame2/Logs/Packages-Update.log new file mode 100644 index 00000000..a3038689 --- /dev/null +++ b/JNFrame2/Logs/Packages-Update.log @@ -0,0 +1,9 @@ + +=== Sun Sep 29 15:08:30 2024 + +Packages were changed. +Update Mode: updateDependencies + +The following packages were updated: + com.unity.ai.navigation from version 1.0.0-exp.4 to 1.1.3 + com.unity.timeline from version 1.6.5 to 1.7.4 diff --git a/JNFrame2/Logs/shadercompiler-AssetImportWorker0.log b/JNFrame2/Logs/shadercompiler-AssetImportWorker0.log new file mode 100644 index 00000000..36198ded --- /dev/null +++ b/JNFrame2/Logs/shadercompiler-AssetImportWorker0.log @@ -0,0 +1,4 @@ +Base path: 'D:/Unity/2022.3.1f1/Editor/Data', plugins path 'D:/Unity/2022.3.1f1/Editor/Data/PlaybackEngines' +Cmd: initializeCompiler + + diff --git a/JNFrame2/Logs/shadercompiler-UnityShaderCompiler.exe0.log b/JNFrame2/Logs/shadercompiler-UnityShaderCompiler.exe0.log index def320ce..36198ded 100644 --- a/JNFrame2/Logs/shadercompiler-UnityShaderCompiler.exe0.log +++ b/JNFrame2/Logs/shadercompiler-UnityShaderCompiler.exe0.log @@ -1,3 +1,4 @@ -Base path: 'D:/Unity/Unity2021.3.34f1/Editor/Data', plugins path 'D:/Unity/Unity2021.3.34f1/Editor/Data/PlaybackEngines' +Base path: 'D:/Unity/2022.3.1f1/Editor/Data', plugins path 'D:/Unity/2022.3.1f1/Editor/Data/PlaybackEngines' Cmd: initializeCompiler + diff --git a/JNFrame2/Packages/manifest.json b/JNFrame2/Packages/manifest.json index c4fffc8a..c37462d8 100644 --- a/JNFrame2/Packages/manifest.json +++ b/JNFrame2/Packages/manifest.json @@ -1,6 +1,8 @@ { "dependencies": { - "com.unity.ai.navigation": "1.0.0-exp.4", + "com.code-philosophy.hybridclr": "https://gitee.com/focus-creative-games/hybridclr_unity.git", + "com.tuyoogame.yooasset": "2.2.4-preview", + "com.unity.ai.navigation": "1.1.3", "com.unity.cinemachine": "2.10.1", "com.unity.collab-proxy": "2.2.0", "com.unity.feature.development": "1.0.1", @@ -9,7 +11,7 @@ "com.unity.ide.vscode": "1.2.5", "com.unity.test-framework": "1.1.33", "com.unity.textmeshpro": "3.0.6", - "com.unity.timeline": "1.6.5", + "com.unity.timeline": "1.7.4", "com.unity.ugui": "1.0.0", "com.unity.visualscripting": "1.9.1", "com.unity.modules.ai": "1.0.0", @@ -43,5 +45,14 @@ "com.unity.modules.vr": "1.0.0", "com.unity.modules.wind": "1.0.0", "com.unity.modules.xr": "1.0.0" - } + }, + "scopedRegistries": [ + { + "name": "package.openupm.com", + "url": "https://package.openupm.com", + "scopes": [ + "com.tuyoogame.yooasset" + ] + } + ] } diff --git a/JNFrame2/Packages/packages-lock.json b/JNFrame2/Packages/packages-lock.json index ee31769a..b93d1091 100644 --- a/JNFrame2/Packages/packages-lock.json +++ b/JNFrame2/Packages/packages-lock.json @@ -1,7 +1,26 @@ { "dependencies": { + "com.code-philosophy.hybridclr": { + "version": "https://gitee.com/focus-creative-games/hybridclr_unity.git", + "depth": 0, + "source": "git", + "dependencies": {}, + "hash": "64a6d26fa33466c864de9cb0ed90481873cd6250" + }, + "com.tuyoogame.yooasset": { + "version": "2.2.4-preview", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.scriptablebuildpipeline": "2.1.3", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0" + }, + "url": "https://package.openupm.com" + }, "com.unity.ai.navigation": { - "version": "1.0.0-exp.4", + "version": "1.1.3", "depth": 0, "source": "registry", "dependencies": { @@ -44,13 +63,13 @@ "depth": 0, "source": "builtin", "dependencies": { - "com.unity.ide.visualstudio": "2.0.22", - "com.unity.ide.rider": "3.0.27", + "com.unity.ide.visualstudio": "2.0.18", + "com.unity.ide.rider": "3.0.21", "com.unity.ide.vscode": "1.2.5", "com.unity.editorcoroutines": "1.0.0", "com.unity.performance.profile-analyzer": "1.2.2", "com.unity.test-framework": "1.1.33", - "com.unity.testtools.codecoverage": "1.2.4" + "com.unity.testtools.codecoverage": "1.2.3" } }, "com.unity.ide.rider": { @@ -85,8 +104,15 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.scriptablebuildpipeline": { + "version": "2.1.3", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, "com.unity.settings-manager": { - "version": "1.0.3", + "version": "2.0.1", "depth": 2, "source": "registry", "dependencies": {}, @@ -104,7 +130,7 @@ "url": "https://packages.unity.com" }, "com.unity.testtools.codecoverage": { - "version": "1.2.4", + "version": "1.2.3", "depth": 1, "source": "registry", "dependencies": { @@ -123,7 +149,7 @@ "url": "https://packages.unity.com" }, "com.unity.timeline": { - "version": "1.6.5", + "version": "1.7.4", "depth": 0, "source": "registry", "dependencies": { @@ -285,17 +311,6 @@ "version": "1.0.0", "depth": 0, "source": "builtin", - "dependencies": { - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.uielementsnative": "1.0.0" - } - }, - "com.unity.modules.uielementsnative": { - "version": "1.0.0", - "depth": 1, - "source": "builtin", "dependencies": { "com.unity.modules.ui": "1.0.0", "com.unity.modules.imgui": "1.0.0", diff --git a/JNFrame2/ProjectSettings/HybridCLRSettings.asset b/JNFrame2/ProjectSettings/HybridCLRSettings.asset new file mode 100644 index 00000000..dc1459d9 --- /dev/null +++ b/JNFrame2/ProjectSettings/HybridCLRSettings.asset @@ -0,0 +1,32 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 0 + 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: e189374413a3f00468e49d51d8b27a09, type: 3} + m_Name: + m_EditorClassIdentifier: + enable: 1 + useGlobalIl2cpp: 0 + hybridclrRepoURL: https://gitee.com/focus-creative-games/hybridclr + il2cppPlusRepoURL: https://gitee.com/focus-creative-games/il2cpp_plus + hotUpdateAssemblyDefinitions: + - {fileID: 5897886265953266890, guid: 6fc57b2e8627d4041a32216a03aa5b2e, type: 3} + hotUpdateAssemblies: [] + preserveHotUpdateAssemblies: [] + hotUpdateDllCompileOutputRootDir: HybridCLRData/HotUpdateDlls + externalHotUpdateAssembliyDirs: [] + strippedAOTDllOutputRootDir: HybridCLRData/AssembliesPostIl2CppStrip + patchAOTAssemblies: [] + outputLinkFile: HybridCLRGenerate/link.xml + outputAOTGenericReferenceFile: HybridCLRGenerate/AOTGenericReferences.cs + maxGenericReferenceIteration: 10 + maxMethodBridgeGenericIteration: 10 + enableProfilerInReleaseBuild: 0 + enableStraceTraceInWebGLReleaseBuild: 0 diff --git a/JNFrame2/ProjectSettings/PackageManagerSettings.asset b/JNFrame2/ProjectSettings/PackageManagerSettings.asset index dec5942a..84134805 100644 --- a/JNFrame2/ProjectSettings/PackageManagerSettings.asset +++ b/JNFrame2/ProjectSettings/PackageManagerSettings.asset @@ -13,10 +13,10 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_EnablePreReleasePackages: 0 - m_EnablePackageDependencies: 0 m_AdvancedSettingsExpanded: 1 m_ScopedRegistriesSettingsExpanded: 1 m_SeeAllPackageVersions: 0 + m_DismissPreviewPackagesInUse: 0 oneTimeWarningShown: 0 m_Registries: - m_Id: main @@ -26,11 +26,19 @@ MonoBehaviour: m_IsDefault: 1 m_Capabilities: 7 m_ConfigSource: 0 - m_UserSelectedRegistryName: + - m_Id: scoped:project:package.openupm.com + m_Name: package.openupm.com + m_Url: https://package.openupm.com + m_Scopes: + - com.tuyoogame.yooasset + m_IsDefault: 0 + m_Capabilities: 0 + m_ConfigSource: 4 + m_UserSelectedRegistryName: package.openupm.com m_UserAddingNewScopedRegistry: 0 m_RegistryInfoDraft: m_Modified: 0 m_ErrorMessage: - m_UserModificationsInstanceId: -826 - m_OriginalInstanceId: -828 + m_UserModificationsInstanceId: -834 + m_OriginalInstanceId: -836 m_LoadAssets: 0 diff --git a/JNFrame2/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json b/JNFrame2/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json index ad11087f..3c7b4c18 100644 --- a/JNFrame2/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json +++ b/JNFrame2/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json @@ -1,6 +1,4 @@ { - "m_Name": "Settings", - "m_Path": "ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json", "m_Dictionary": { "m_DictionaryValues": [] } diff --git a/JNFrame2/ProjectSettings/ProjectSettings.asset b/JNFrame2/ProjectSettings/ProjectSettings.asset index f381d680..f0736584 100644 --- a/JNFrame2/ProjectSettings/ProjectSettings.asset +++ b/JNFrame2/ProjectSettings/ProjectSettings.asset @@ -3,7 +3,7 @@ --- !u!129 &1 PlayerSettings: m_ObjectHideFlags: 0 - serializedVersion: 24 + serializedVersion: 26 productGUID: 119595b31fa017f49ae306eb7a44244e AndroidProfiler: 0 AndroidFilterTouchesWhenObscured: 0 @@ -48,15 +48,15 @@ PlayerSettings: defaultScreenHeightWeb: 600 m_StereoRenderingPath: 0 m_ActiveColorSpace: 1 - unsupportedMSAAFallback: 0 + m_SpriteBatchVertexThreshold: 300 m_MTRendering: 1 mipStripping: 0 numberOfMipsStripped: 0 + numberOfMipsStrippedPerMipmapLimitGroup: {} m_StackTraceTypes: 010000000100000001000000010000000100000001000000 iosShowActivityIndicatorOnLoading: -1 androidShowActivityIndicatorOnLoading: -1 iosUseCustomAppBackgroundBehavior: 0 - iosAllowHTTPDownload: 1 allowedAutorotateToPortrait: 1 allowedAutorotateToPortraitUpsideDown: 1 allowedAutorotateToLandscapeRight: 1 @@ -120,9 +120,11 @@ PlayerSettings: switchNVNShaderPoolsGranularity: 33554432 switchNVNDefaultPoolsGranularity: 16777216 switchNVNOtherPoolsGranularity: 16777216 + switchGpuScratchPoolGranularity: 2097152 + switchAllowGpuScratchShrinking: 0 switchNVNMaxPublicTextureIDCount: 0 switchNVNMaxPublicSamplerIDCount: 0 - switchMaxWorkerMultiple: 8 + switchNVNGraphicsFirmwareMemory: 32 stadiaPresentMode: 0 stadiaTargetFramerate: 0 vulkanNumSwapchainBuffers: 3 @@ -130,12 +132,7 @@ PlayerSettings: vulkanEnablePreTransform: 1 vulkanEnableLateAcquireNextImage: 0 vulkanEnableCommandBufferRecycling: 1 - m_SupportedAspectRatios: - 4:3: 1 - 5:4: 1 - 16:10: 1 - 16:9: 1 - Others: 1 + loadStoreDebugModeEnabled: 0 bundleVersion: 0.1 preloadedAssets: [] metroInputSource: 0 @@ -149,7 +146,7 @@ PlayerSettings: enableFrameTimingStats: 0 enableOpenGLProfilerGPURecorders: 1 useHDRDisplay: 0 - D3DHDRBitDepth: 0 + hdrBitDepth: 0 m_ColorGamuts: 00000000 targetPixelDensity: 30 resolutionScalingMode: 0 @@ -178,6 +175,7 @@ PlayerSettings: APKExpansionFiles: 0 keepLoadedShadersAlive: 0 StripUnusedMeshComponents: 1 + strictShaderVariantMatching: 0 VertexChannelCompressionMask: 4054 iPhoneSdkVersion: 988 iOSTargetOSVersionString: 12.0 @@ -247,6 +245,7 @@ PlayerSettings: useCustomLauncherGradleManifest: 0 useCustomBaseGradleTemplate: 0 useCustomGradlePropertiesTemplate: 0 + useCustomGradleSettingsTemplate: 0 useCustomProguardFile: 0 AndroidTargetArchitectures: 1 AndroidTargetDevices: 0 @@ -254,6 +253,7 @@ PlayerSettings: androidSplashScreen: {fileID: 0} AndroidKeystoreName: "D:/\u6211\u7684\u6587\u6863/Documents/user.keystore" AndroidKeyaliasName: 123456 + AndroidEnableArmv9SecurityFeatures: 0 AndroidBuildApkPerCpuArchitecture: 0 AndroidTVCompatibility: 0 AndroidIsGame: 1 @@ -267,7 +267,6 @@ PlayerSettings: banner: {fileID: 0} androidGamepadSupportLevel: 0 chromeosInputEmulation: 1 - AndroidMinifyWithR8: 0 AndroidMinifyRelease: 0 AndroidMinifyDebug: 0 AndroidValidateAppBundleSize: 1 @@ -548,7 +547,9 @@ PlayerSettings: m_EncodingQuality: 1 - m_BuildTarget: tvOS m_EncodingQuality: 1 + m_BuildTargetGroupHDRCubemapEncodingQuality: [] m_BuildTargetGroupLightmapSettings: [] + m_BuildTargetGroupLoadStoreDebugModeSettings: [] m_BuildTargetNormalMapEncoding: - m_BuildTarget: Android m_Encoding: 1 @@ -569,6 +570,7 @@ PlayerSettings: locationUsageDescription: microphoneUsageDescription: bluetoothUsageDescription: + macOSTargetOSVersion: 10.13.0 switchNMETAOverride: switchNetLibKey: switchSocketMemoryPoolSize: 6144 @@ -576,10 +578,11 @@ PlayerSettings: switchSocketConcurrencyLimit: 14 switchScreenResolutionBehavior: 2 switchUseCPUProfiler: 0 - switchEnableFileSystemTrace: 0 + switchUseGOLDLinker: 0 switchLTOSetting: 0 switchApplicationID: 0x01004b9000490000 switchNSODependencies: + switchCompilerFlags: switchTitleNames_0: switchTitleNames_1: switchTitleNames_2: @@ -705,6 +708,7 @@ PlayerSettings: switchSocketBufferEfficiency: 4 switchSocketInitializeEnabled: 1 switchNetworkInterfaceManagerInitializeEnabled: 1 + switchPlayerConnectionEnabled: 1 switchUseNewStyleFilepaths: 0 switchUseLegacyFmodPriorities: 1 switchUseMicroSleepForYield: 1 @@ -794,6 +798,7 @@ PlayerSettings: webGLMemorySize: 16 webGLExceptionSupport: 1 webGLNameFilesAsHashes: 0 + webGLShowDiagnostics: 0 webGLDataCaching: 1 webGLDebugSymbols: 0 webGLEmscriptenArgs: @@ -806,6 +811,12 @@ PlayerSettings: webGLLinkerTarget: 1 webGLThreadsSupport: 0 webGLDecompressionFallback: 0 + webGLInitialMemorySize: 32 + webGLMaximumMemorySize: 2048 + webGLMemoryGrowthMode: 2 + webGLMemoryLinearGrowthStep: 16 + webGLMemoryGeometricGrowthStep: 0.2 + webGLMemoryGeometricGrowthCap: 96 webGLPowerPreference: 2 scriptingDefineSymbols: Android: DOTWEEN @@ -826,8 +837,10 @@ PlayerSettings: tvOS: DOTWEEN additionalCompilerArguments: {} platformArchitecture: {} - scriptingBackend: {} + scriptingBackend: + Standalone: 1 il2cppCompilerConfiguration: {} + il2cppCodeGeneration: {} managedStrippingLevel: EmbeddedLinux: 1 GameCoreScarlett: 1 @@ -846,11 +859,10 @@ PlayerSettings: suppressCommonWarnings: 1 allowUnsafeCode: 1 useDeterministicCompilation: 1 - enableRoslynAnalyzers: 1 + selectedPlatform: 0 additionalIl2CppArgs: scriptingRuntimeVersion: 1 gcIncremental: 1 - assemblyVersionValidation: 0 gcWBarrierValidation: 0 apiCompatibilityLevelPerPlatform: {} m_RenderingPath: 1 @@ -923,7 +935,12 @@ PlayerSettings: luminVersion: m_VersionCode: 1 m_VersionName: - apiCompatibilityLevel: 6 + hmiPlayerDataPath: + hmiForceSRGBBlit: 1 + embeddedLinuxEnableGamepadInput: 1 + hmiLogStartupTiming: 0 + hmiCpuConfiguration: + apiCompatibilityLevel: 3 activeInputHandler: 0 windowsGamepadBackendHint: 0 cloudProjectId: @@ -933,6 +950,7 @@ PlayerSettings: organizationId: cloudEnabled: 0 legacyClampBlendShapeWeights: 0 - playerDataPath: - forceSRGBBlit: 1 + hmiLoadingImage: {fileID: 0} + platformRequiresReadableAssets: 0 virtualTexturingSupportEnabled: 0 + insecureHttpOption: 0 diff --git a/JNFrame2/ProjectSettings/ProjectVersion.txt b/JNFrame2/ProjectSettings/ProjectVersion.txt index 03cda39a..8fcd9947 100644 --- a/JNFrame2/ProjectSettings/ProjectVersion.txt +++ b/JNFrame2/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2021.3.34f1 -m_EditorVersionWithRevision: 2021.3.34f1 (25266724e7bd) +m_EditorVersion: 2022.3.1f1 +m_EditorVersionWithRevision: 2022.3.1f1 (f18e0c1b5784) diff --git a/JNFrame2/ProjectSettings/boot.config b/JNFrame2/ProjectSettings/boot.config deleted file mode 100644 index e69de29b..00000000 diff --git a/JNFrame2/SHFrame.Editor.csproj b/JNFrame2/SHFrame.Editor.csproj new file mode 100644 index 00000000..bad7af1b --- /dev/null +++ b/JNFrame2/SHFrame.Editor.csproj @@ -0,0 +1,863 @@ + + + + 9.0 + <_TargetFrameworkDirectories>non_empty_path_generated_by_unity.rider.package + <_FullFrameworkReferenceAssemblyPaths>non_empty_path_generated_by_unity.rider.package + true + + + Debug + AnyCPU + 10.0.20506 + 2.0 + + {d9a8422d-46f3-a631-fce7-ee1cfe4cbcd7} + {E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + Properties + SHFrame.Editor + v4.7.1 + 512 + . + + + true + full + false + Temp\Bin\Debug\SHFrame.Editor\ + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;UNITY_EDITOR_ONLY_COMPILATION + prompt + 4 + 0169,0649 + False + False + + + true + true + false + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.NVIDIAModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll + + + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.ext.nunit@1.0.6\net35\unity-custom\nunit.framework.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\YooAsset.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\YooAsset.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\HybridCLR.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.TestRunner.dll + + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll + + + + + + + + diff --git a/JNFrame2/StompyRobot.SRDebugger.Editor.csproj b/JNFrame2/StompyRobot.SRDebugger.Editor.csproj index 60d6c97e..6d2d6956 100644 --- a/JNFrame2/StompyRobot.SRDebugger.Editor.csproj +++ b/JNFrame2/StompyRobot.SRDebugger.Editor.csproj @@ -26,7 +26,7 @@ full false Temp\Bin\Debug\StompyRobot.SRDebugger.Editor\ - UNITY_2021_3_34;UNITY_2021_3;UNITY_2021;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;UNITY_EDITOR_ONLY_COMPILATION prompt 4 0169,0649 @@ -49,12 +49,12 @@ - - + + - + @@ -70,789 +70,779 @@ + + - - - - - - - + + + - + + + + + + - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.NVIDIAModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.NVIDIAModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsNativeModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UNETModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.PackageManagerUIModule.dll + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIServiceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEditor.Graphs.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\TCPeasy\TCPeasy.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.4\lib\ReportGenerator\ReportGeneratorMerged.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.ext.nunit@1.0.6\net35\unity-custom\nunit.framework.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll @@ -860,12 +850,12 @@ D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.TestRunner.dll + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll + diff --git a/JNFrame2/StompyRobot.SRDebugger.csproj b/JNFrame2/StompyRobot.SRDebugger.csproj index 4b0bcf26..1ca658f8 100644 --- a/JNFrame2/StompyRobot.SRDebugger.csproj +++ b/JNFrame2/StompyRobot.SRDebugger.csproj @@ -26,7 +26,7 @@ full false Temp\Bin\Debug\StompyRobot.SRDebugger\ - UNITY_2021_3_34;UNITY_2021_3;UNITY_2021;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;NET_STANDARD;NET_STANDARD_2_1;NETSTANDARD;NETSTANDARD2_1;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER prompt 4 0169,0649 @@ -49,12 +49,12 @@ - - + + - + @@ -70,869 +70,868 @@ + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsNativeModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UNETModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.PackageManagerUIModule.dll + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIServiceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEditor.Graphs.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\TCPeasy\TCPeasy.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.4\lib\ReportGenerator\ReportGeneratorMerged.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\ref\2.1.0\netstandard.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\Microsoft.Win32.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.AppContext.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Buffers.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Concurrent.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.NonGeneric.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Specialized.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.EventBasedAsync.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.TypeConverter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Console.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Data.Common.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Contracts.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Debug.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.FileVersionInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Process.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.StackTrace.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TextWriterTraceListener.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tools.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TraceSource.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tracing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Drawing.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Dynamic.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Calendars.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.ZipFile.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.DriveInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Watcher.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.IsolatedStorage.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.MemoryMappedFiles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Pipes.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.UnmanagedMemoryStream.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Expressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Queryable.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Memory.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Http.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NameResolution.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NetworkInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Ping.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Requests.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Security.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Sockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebHeaderCollection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.Client.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Numerics.Vectors.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ObjectModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.DispatchProxy.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.ILGeneration.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.Lightweight.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Reader.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.ResourceManager.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Writer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.CompilerServices.VisualC.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Handles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.RuntimeInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Numerics.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Formatters.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Json.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Xml.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Claims.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Algorithms.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Csp.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.X509Certificates.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Principal.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.SecureString.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.RegularExpressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Overlapped.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Thread.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.ThreadPool.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Timer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ValueTuple.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.ReaderWriter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlSerializer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\Extensions\2.0.0\System.Runtime.InteropServices.WindowsRuntime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\mscorlib.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ComponentModel.Composition.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Core.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Data.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Drawing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.IO.Compression.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Net.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Numerics.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Runtime.Serialization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ServiceModel.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Transactions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Windows.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll diff --git a/JNFrame2/StompyRobot.SRF.Editor.csproj b/JNFrame2/StompyRobot.SRF.Editor.csproj index 7583942b..3165f34a 100644 --- a/JNFrame2/StompyRobot.SRF.Editor.csproj +++ b/JNFrame2/StompyRobot.SRF.Editor.csproj @@ -26,7 +26,7 @@ full false Temp\Bin\Debug\StompyRobot.SRF.Editor\ - UNITY_2021_3_34;UNITY_2021_3;UNITY_2021;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;UNITY_EDITOR_ONLY_COMPILATION prompt 4 0169,0649 @@ -49,12 +49,12 @@ - - + + - + @@ -70,780 +70,770 @@ + + - - - - - + + + + + - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.NVIDIAModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.NVIDIAModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsNativeModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UNETModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.PackageManagerUIModule.dll + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIServiceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEditor.Graphs.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\TCPeasy\TCPeasy.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.4\lib\ReportGenerator\ReportGeneratorMerged.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.ext.nunit@1.0.6\net35\unity-custom\nunit.framework.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll @@ -851,12 +841,12 @@ D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.TestRunner.dll + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll + diff --git a/JNFrame2/StompyRobot.SRF.csproj b/JNFrame2/StompyRobot.SRF.csproj index fc38eecc..c1adb561 100644 --- a/JNFrame2/StompyRobot.SRF.csproj +++ b/JNFrame2/StompyRobot.SRF.csproj @@ -26,7 +26,7 @@ full false Temp\Bin\Debug\StompyRobot.SRF\ - UNITY_2021_3_34;UNITY_2021_3;UNITY_2021;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;NET_STANDARD;NET_STANDARD_2_1;NETSTANDARD;NETSTANDARD2_1;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER prompt 4 0169,0649 @@ -49,12 +49,12 @@ - - + + - + @@ -70,814 +70,813 @@ + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsNativeModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UNETModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.PackageManagerUIModule.dll + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIServiceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEditor.Graphs.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\TCPeasy\TCPeasy.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.4\lib\ReportGenerator\ReportGeneratorMerged.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\ref\2.1.0\netstandard.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\Microsoft.Win32.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.AppContext.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Buffers.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Concurrent.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.NonGeneric.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Specialized.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.EventBasedAsync.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.TypeConverter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Console.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Data.Common.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Contracts.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Debug.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.FileVersionInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Process.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.StackTrace.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TextWriterTraceListener.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tools.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TraceSource.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tracing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Drawing.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Dynamic.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Calendars.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.ZipFile.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.DriveInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Watcher.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.IsolatedStorage.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.MemoryMappedFiles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Pipes.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.UnmanagedMemoryStream.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Expressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Queryable.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Memory.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Http.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NameResolution.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NetworkInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Ping.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Requests.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Security.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Sockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebHeaderCollection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.Client.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Numerics.Vectors.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ObjectModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.DispatchProxy.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.ILGeneration.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.Lightweight.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Reader.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.ResourceManager.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Writer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.CompilerServices.VisualC.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Handles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.RuntimeInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Numerics.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Formatters.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Json.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Xml.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Claims.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Algorithms.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Csp.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.X509Certificates.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Principal.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.SecureString.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.RegularExpressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Overlapped.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Thread.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.ThreadPool.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Timer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ValueTuple.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.ReaderWriter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlSerializer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\Extensions\2.0.0\System.Runtime.InteropServices.WindowsRuntime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\mscorlib.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ComponentModel.Composition.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Core.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Data.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Drawing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.IO.Compression.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Net.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Numerics.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Runtime.Serialization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ServiceModel.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Transactions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Windows.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll diff --git a/JNFrame2/UniTask.Addressables.csproj b/JNFrame2/UniTask.Addressables.csproj index c69ccf9c..a3010fee 100644 --- a/JNFrame2/UniTask.Addressables.csproj +++ b/JNFrame2/UniTask.Addressables.csproj @@ -26,7 +26,7 @@ full false Temp\Bin\Debug\UniTask.Addressables\ - UNITY_2021_3_34;UNITY_2021_3;UNITY_2021;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;NET_STANDARD;NET_STANDARD_2_1;NETSTANDARD;NETSTANDARD2_1;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER prompt 4 0169,0649 @@ -49,12 +49,12 @@ - - + + - + @@ -70,759 +70,758 @@ + + - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsNativeModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UNETModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.PackageManagerUIModule.dll + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIServiceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEditor.Graphs.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\TCPeasy\TCPeasy.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.4\lib\ReportGenerator\ReportGeneratorMerged.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\ref\2.1.0\netstandard.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\Microsoft.Win32.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.AppContext.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Buffers.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Concurrent.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.NonGeneric.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Specialized.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.EventBasedAsync.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.TypeConverter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Console.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Data.Common.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Contracts.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Debug.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.FileVersionInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Process.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.StackTrace.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TextWriterTraceListener.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tools.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TraceSource.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tracing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Drawing.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Dynamic.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Calendars.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.ZipFile.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.DriveInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Watcher.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.IsolatedStorage.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.MemoryMappedFiles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Pipes.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.UnmanagedMemoryStream.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Expressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Queryable.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Memory.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Http.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NameResolution.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NetworkInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Ping.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Requests.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Security.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Sockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebHeaderCollection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.Client.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Numerics.Vectors.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ObjectModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.DispatchProxy.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.ILGeneration.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.Lightweight.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Reader.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.ResourceManager.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Writer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.CompilerServices.VisualC.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Handles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.RuntimeInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Numerics.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Formatters.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Json.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Xml.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Claims.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Algorithms.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Csp.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.X509Certificates.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Principal.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.SecureString.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.RegularExpressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Overlapped.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Thread.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.ThreadPool.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Timer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ValueTuple.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.ReaderWriter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlSerializer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\Extensions\2.0.0\System.Runtime.InteropServices.WindowsRuntime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\mscorlib.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ComponentModel.Composition.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Core.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Data.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Drawing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.IO.Compression.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Net.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Numerics.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Runtime.Serialization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ServiceModel.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Transactions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Windows.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll diff --git a/JNFrame2/UniTask.DOTween.csproj b/JNFrame2/UniTask.DOTween.csproj index 1afa837a..d9287065 100644 --- a/JNFrame2/UniTask.DOTween.csproj +++ b/JNFrame2/UniTask.DOTween.csproj @@ -26,7 +26,7 @@ full false Temp\Bin\Debug\UniTask.DOTween\ - UNITY_2021_3_34;UNITY_2021_3;UNITY_2021;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;NET_STANDARD;NET_STANDARD_2_1;NETSTANDARD;NETSTANDARD2_1;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER prompt 4 0169,0649 @@ -49,12 +49,12 @@ - - + + - + @@ -70,759 +70,758 @@ + + - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsNativeModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UNETModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.PackageManagerUIModule.dll + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIServiceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEditor.Graphs.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\TCPeasy\TCPeasy.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.4\lib\ReportGenerator\ReportGeneratorMerged.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\ref\2.1.0\netstandard.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\Microsoft.Win32.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.AppContext.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Buffers.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Concurrent.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.NonGeneric.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Specialized.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.EventBasedAsync.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.TypeConverter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Console.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Data.Common.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Contracts.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Debug.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.FileVersionInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Process.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.StackTrace.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TextWriterTraceListener.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tools.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TraceSource.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tracing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Drawing.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Dynamic.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Calendars.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.ZipFile.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.DriveInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Watcher.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.IsolatedStorage.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.MemoryMappedFiles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Pipes.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.UnmanagedMemoryStream.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Expressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Queryable.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Memory.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Http.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NameResolution.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NetworkInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Ping.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Requests.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Security.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Sockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebHeaderCollection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.Client.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Numerics.Vectors.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ObjectModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.DispatchProxy.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.ILGeneration.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.Lightweight.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Reader.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.ResourceManager.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Writer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.CompilerServices.VisualC.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Handles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.RuntimeInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Numerics.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Formatters.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Json.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Xml.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Claims.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Algorithms.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Csp.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.X509Certificates.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Principal.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.SecureString.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.RegularExpressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Overlapped.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Thread.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.ThreadPool.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Timer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ValueTuple.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.ReaderWriter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlSerializer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\Extensions\2.0.0\System.Runtime.InteropServices.WindowsRuntime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\mscorlib.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ComponentModel.Composition.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Core.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Data.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Drawing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.IO.Compression.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Net.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Numerics.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Runtime.Serialization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ServiceModel.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Transactions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Windows.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll diff --git a/JNFrame2/UniTask.Editor.csproj b/JNFrame2/UniTask.Editor.csproj index 3411afe9..1b9c9809 100644 --- a/JNFrame2/UniTask.Editor.csproj +++ b/JNFrame2/UniTask.Editor.csproj @@ -26,7 +26,7 @@ full false Temp\Bin\Debug\UniTask.Editor\ - UNITY_2021_3_34;UNITY_2021_3;UNITY_2021;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;UNITY_EDITOR_ONLY_COMPILATION prompt 4 0169,0649 @@ -49,12 +49,12 @@ - - + + - + @@ -70,776 +70,766 @@ + + - - + + - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.NVIDIAModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.NVIDIAModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsNativeModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UNETModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.PackageManagerUIModule.dll + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIServiceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEditor.Graphs.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\TCPeasy\TCPeasy.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.4\lib\ReportGenerator\ReportGeneratorMerged.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.ext.nunit@1.0.6\net35\unity-custom\nunit.framework.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll @@ -847,12 +837,12 @@ D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.UI.dll - - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll - D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.TestRunner.dll + + D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEngine.TestRunner.dll + diff --git a/JNFrame2/UniTask.Linq.csproj b/JNFrame2/UniTask.Linq.csproj index d62adece..993c5419 100644 --- a/JNFrame2/UniTask.Linq.csproj +++ b/JNFrame2/UniTask.Linq.csproj @@ -26,7 +26,7 @@ full false Temp\Bin\Debug\UniTask.Linq\ - UNITY_2021_3_34;UNITY_2021_3;UNITY_2021;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;NET_STANDARD;NET_STANDARD_2_1;NETSTANDARD;NETSTANDARD2_1;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER prompt 4 0169,0649 @@ -49,12 +49,12 @@ - - + + - + @@ -70,831 +70,830 @@ + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsNativeModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UNETModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.PackageManagerUIModule.dll + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIServiceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEditor.Graphs.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\TCPeasy\TCPeasy.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.4\lib\ReportGenerator\ReportGeneratorMerged.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\ref\2.1.0\netstandard.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\Microsoft.Win32.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.AppContext.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Buffers.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Concurrent.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.NonGeneric.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Specialized.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.EventBasedAsync.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.TypeConverter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Console.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Data.Common.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Contracts.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Debug.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.FileVersionInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Process.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.StackTrace.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TextWriterTraceListener.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tools.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TraceSource.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tracing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Drawing.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Dynamic.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Calendars.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.ZipFile.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.DriveInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Watcher.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.IsolatedStorage.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.MemoryMappedFiles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Pipes.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.UnmanagedMemoryStream.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Expressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Queryable.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Memory.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Http.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NameResolution.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NetworkInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Ping.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Requests.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Security.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Sockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebHeaderCollection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.Client.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Numerics.Vectors.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ObjectModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.DispatchProxy.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.ILGeneration.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.Lightweight.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Reader.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.ResourceManager.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Writer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.CompilerServices.VisualC.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Handles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.RuntimeInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Numerics.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Formatters.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Json.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Xml.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Claims.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Algorithms.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Csp.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.X509Certificates.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Principal.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.SecureString.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.RegularExpressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Overlapped.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Thread.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.ThreadPool.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Timer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ValueTuple.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.ReaderWriter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlSerializer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\Extensions\2.0.0\System.Runtime.InteropServices.WindowsRuntime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\mscorlib.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ComponentModel.Composition.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Core.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Data.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Drawing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.IO.Compression.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Net.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Numerics.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Runtime.Serialization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ServiceModel.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Transactions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Windows.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll diff --git a/JNFrame2/UniTask.TextMeshPro.csproj b/JNFrame2/UniTask.TextMeshPro.csproj index 5876f7cf..dbb9eab4 100644 --- a/JNFrame2/UniTask.TextMeshPro.csproj +++ b/JNFrame2/UniTask.TextMeshPro.csproj @@ -26,7 +26,7 @@ full false Temp\Bin\Debug\UniTask.TextMeshPro\ - UNITY_2021_3_34;UNITY_2021_3;UNITY_2021;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;NET_STANDARD;NET_STANDARD_2_1;NETSTANDARD;NETSTANDARD2_1;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;UNITASK_TEXTMESHPRO_SUPPORT;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;UNITASK_TEXTMESHPRO_SUPPORT;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER prompt 4 0169,0649 @@ -49,12 +49,12 @@ - - + + - + @@ -70,760 +70,759 @@ + + - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsNativeModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UNETModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.PackageManagerUIModule.dll + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIServiceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEditor.Graphs.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\TCPeasy\TCPeasy.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.4\lib\ReportGenerator\ReportGeneratorMerged.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\ref\2.1.0\netstandard.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\Microsoft.Win32.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.AppContext.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Buffers.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Concurrent.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.NonGeneric.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Specialized.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.EventBasedAsync.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.TypeConverter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Console.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Data.Common.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Contracts.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Debug.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.FileVersionInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Process.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.StackTrace.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TextWriterTraceListener.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tools.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TraceSource.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tracing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Drawing.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Dynamic.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Calendars.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.ZipFile.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.DriveInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Watcher.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.IsolatedStorage.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.MemoryMappedFiles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Pipes.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.UnmanagedMemoryStream.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Expressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Queryable.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Memory.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Http.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NameResolution.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NetworkInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Ping.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Requests.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Security.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Sockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebHeaderCollection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.Client.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Numerics.Vectors.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ObjectModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.DispatchProxy.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.ILGeneration.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.Lightweight.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Reader.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.ResourceManager.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Writer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.CompilerServices.VisualC.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Handles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.RuntimeInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Numerics.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Formatters.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Json.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Xml.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Claims.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Algorithms.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Csp.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.X509Certificates.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Principal.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.SecureString.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.RegularExpressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Overlapped.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Thread.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.ThreadPool.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Timer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ValueTuple.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.ReaderWriter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlSerializer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\Extensions\2.0.0\System.Runtime.InteropServices.WindowsRuntime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\mscorlib.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ComponentModel.Composition.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Core.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Data.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Drawing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.IO.Compression.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Net.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Numerics.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Runtime.Serialization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ServiceModel.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Transactions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Windows.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\Unity.TextMeshPro.dll diff --git a/JNFrame2/UniTask.csproj b/JNFrame2/UniTask.csproj index 7d266565..af112024 100644 --- a/JNFrame2/UniTask.csproj +++ b/JNFrame2/UniTask.csproj @@ -26,7 +26,7 @@ full false Temp\Bin\Debug\UniTask\ - UNITY_2021_3_34;UNITY_2021_3;UNITY_2021;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_STANDARD_2_0;NET_STANDARD;NET_STANDARD_2_1;NETSTANDARD;NETSTANDARD2_1;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;UNITASK_ASSETBUNDLE_SUPPORT;UNITASK_PHYSICS_SUPPORT;UNITASK_PHYSICS2D_SUPPORT;UNITASK_PARTICLESYSTEM_SUPPORT;UNITASK_UGUI_SUPPORT;UNITASK_WEBREQUEST_SUPPORT;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER + UNITY_2022_3_1;UNITY_2022_3;UNITY_2022;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;UNITY_2021_1_OR_NEWER;UNITY_2021_2_OR_NEWER;UNITY_2021_3_OR_NEWER;UNITY_2022_1_OR_NEWER;UNITY_2022_2_OR_NEWER;UNITY_2022_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_EDITOR_GAME_SERVICES;ENABLE_UNITY_GAME_SERVICES_ANALYTICS_SUPPORT;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_GENERATE_NATIVE_PLUGINS_FOR_ASSEMBLIES_API;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;ENABLE_MANAGED_UNITYTLS;INCLUDE_DYNAMIC_GI;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;ENABLE_ACCELERATOR_CLIENT_DEBUGGING;ENABLE_NAVIGATION_PACKAGE_DEBUG_VISUALIZATION;ENABLE_NAVIGATION_HEIGHTMESH_RUNTIME_SUPPORT;ENABLE_NAVIGATION_UI_REQUIRES_PACKAGE;PLATFORM_STANDALONE;TEXTCORE_1_0_OR_NEWER;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_NVIDIA;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;PLATFORM_INITIALIZES_MEMORY_MANAGER_EXPLICITLY;ENABLE_MONO;NET_4_6;NET_UNITY_4_8;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_LEGACY_INPUT_MANAGER;TEXTCORE_FONT_ENGINE_1_5_OR_NEWER;DOTWEEN;UNITASK_ASSETBUNDLE_SUPPORT;UNITASK_PHYSICS_SUPPORT;UNITASK_PHYSICS2D_SUPPORT;UNITASK_PARTICLESYSTEM_SUPPORT;UNITASK_UGUI_SUPPORT;UNITASK_WEBREQUEST_SUPPORT;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER prompt 4 0169,0649 @@ -49,12 +49,12 @@ - - + + - + @@ -70,831 +70,830 @@ + + + + + - - - - + + + + + + + - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ARModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AccessibilityModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AndroidJNIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AnimationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.AudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClothModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterInputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ClusterRendererModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ContentLoadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.CrashReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DSPGraphModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.DirectorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GameCenterModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.GridModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.HotReloadModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.IMGUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ImageConversionModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.InputLegacyModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.JSONSerializeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.LocalizationModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ParticleSystemModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PerformanceReportingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.Physics2DModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ProfilerModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.PropertiesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.ScreenCaptureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SharedInternalsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteMaskModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SpriteShapeModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.StreamingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubstanceModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.SubsystemsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TLSModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TerrainPhysicsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TextRenderingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.TilemapModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsNativeModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UNETModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UmbraModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityAnalyticsCommonModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityCurlModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityTestProtocolModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAssetBundleModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestAudioModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestTextureModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VFXModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VehiclesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VideoModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.VirtualTexturingModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.WindModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEngine.XRModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.CoreModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DeviceSimulatorModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.DiagnosticsModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.EditorToolbarModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.GraphViewModule.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.PackageManagerUIModule.dll + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.PresetsUIModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.QuickSearchModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneTemplateModule.dll + + + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.SceneViewModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreFontEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.TextCoreTextEngineModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIBuilderModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIServiceModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UIElementsSamplesModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEngine\UnityEditor.UnityConnectModule.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\Managed\UnityEditor.Graphs.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WebGLSupport\UnityEditor.WebGL.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\UnityEditor.Android.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\Managed\UnityEditor.Graphs.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll + D:\Unity\2022.3.1f1\Editor\Data\PlaybackEngines\WindowsStandaloneSupport\UnityEditor.WindowsStandalone.Extensions.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\TCPeasy\TCPeasy.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.4\lib\ReportGenerator\ReportGeneratorMerged.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll - - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\YamlDotNet\Unity.VisualScripting.YamlDotNet.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - - D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Threading.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll - - D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\TCPeasy\TCPeasy.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Newtonsoft.Json.13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Caching.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.testtools.codecoverage@1.2.3\lib\ReportGenerator\ReportGeneratorMerged.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Encodings.Web.6.0.0\lib\netstandard2.0\System.Text.Encodings.Web.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Serialization.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Antlr3.Runtime.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\unityplastic.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\Editor\DOTweenEditor.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\Unity.Plastic.Newtonsoft.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.2.0.16\lib\netstandard2.1\TouchSocket.dll - - D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.collab-proxy@2.2.0\Lib\Editor\PlasticSCM\log4netPlastic.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.Unity.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\Dependencies\DotNetZip\Unity.VisualScripting.IonicZip.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Formatters.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\System.Text.Json.6.0.0\lib\netstandard2.0\System.Text.Json.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Plugins\Demigiant\DOTween\DOTween.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Extensions.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Http.2.0.16\lib\netstandard2.1\TouchSocket.Http.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\dnlib.dll D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll - - D:\myproject\JisolGame\JNFrame2\Assets\JNGame\Plugins\Jenny\Editor\Jenny.Generator.Unity.Editor.dll + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.code-philosophy.hybridclr@64a6d26fa3\Plugins\LZ4.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny\Jenny.Plugins.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll + + + D:\myproject\JisolGame\JNFrame2\Library\PackageCache\com.unity.visualscripting@1.9.1\Editor\VisualScripting.Core\EditorAssetResources\Unity.VisualScripting.TextureAssets.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Reflection.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\NuGet\Editor\NugetForUnity.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\Editor\DesperateDevs.Unity.Editor.dll + + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Sherlog\Sherlog.Appenders.dll D:\myproject\JisolGame\JNFrame2\Assets\Packages\TouchSocket.Core.2.0.16\lib\netstandard2.1\TouchSocket.Core.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Xcode.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\Jenny\Editor\Jenny.Generator.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\iOSSupport\UnityEditor.iOS.Extensions.Common.dll + + D:\myproject\JisolGame\JNFrame2\Assets\UsePlugins\JNGame\Plugins\DesperateDevs\DesperateDevs.Unity.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Types.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\PlaybackEngines\AndroidPlayer\Unity.Android.Gradle.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\ref\2.1.0\netstandard.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\Microsoft.Win32.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.AppContext.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Buffers.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Concurrent.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.NonGeneric.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Collections.Specialized.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.EventBasedAsync.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ComponentModel.TypeConverter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Console.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Data.Common.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Contracts.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Debug.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.FileVersionInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Process.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.StackTrace.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TextWriterTraceListener.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tools.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.TraceSource.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Diagnostics.Tracing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Drawing.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Dynamic.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Calendars.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Globalization.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Compression.ZipFile.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.DriveInfo.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.FileSystem.Watcher.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.IsolatedStorage.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.MemoryMappedFiles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.Pipes.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.IO.UnmanagedMemoryStream.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Expressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Linq.Queryable.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Memory.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Http.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NameResolution.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.NetworkInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Ping.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Requests.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Security.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.Sockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebHeaderCollection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.Client.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Net.WebSockets.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Numerics.Vectors.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ObjectModel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.DispatchProxy.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.ILGeneration.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Emit.Lightweight.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Reflection.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Reader.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.ResourceManager.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Resources.Writer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.CompilerServices.VisualC.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Handles.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.InteropServices.RuntimeInformation.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Numerics.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Formatters.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Json.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Runtime.Serialization.Xml.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Claims.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Algorithms.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Csp.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.Primitives.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Cryptography.X509Certificates.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.Principal.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Security.SecureString.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.Encoding.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Text.RegularExpressions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Overlapped.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Extensions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Tasks.Parallel.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Thread.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.ThreadPool.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Threading.Timer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.ValueTuple.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.ReaderWriter.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XmlSerializer.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netstandard\System.Xml.XPath.XDocument.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\Extensions\2.0.0\System.Runtime.InteropServices.WindowsRuntime.dll + + D:\myproject\JisolGame\JNFrame2\Assets\Packages\Google.Protobuf.3.18.3\lib\netstandard2.0\Google.Protobuf.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\mscorlib.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ComponentModel.Composition.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Core.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Data.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\mscorlib.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Drawing.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.IO.Compression.FileSystem.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Net.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Numerics.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Core.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Runtime.Serialization.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.ServiceModel.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Transactions.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Web.dll - - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Windows.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Runtime.Serialization.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.dll - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Linq.dll + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Xml.Linq.dll - - D:\Unity\Unity2021.3.34f1\Editor\Data\NetStandard\compat\2.1.0\shims\netfx\System.Xml.Serialization.dll + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Numerics.Vectors.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Net.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Microsoft.CSharp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Data.DataSetExtensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Drawing.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.IO.Compression.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.ComponentModel.Composition.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\System.Transactions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\Microsoft.Win32.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\netstandard.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.AppContext.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Buffers.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Concurrent.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.NonGeneric.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Collections.Specialized.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Annotations.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.EventBasedAsync.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ComponentModel.TypeConverter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Console.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Data.Common.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Contracts.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Debug.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.FileVersionInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Process.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.StackTrace.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TextWriterTraceListener.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.Tools.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Diagnostics.TraceSource.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Drawing.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Dynamic.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Calendars.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Globalization.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Compression.ZipFile.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.DriveInfo.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.FileSystem.Watcher.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.IsolatedStorage.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.MemoryMappedFiles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.Pipes.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.IO.UnmanagedMemoryStream.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Expressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Linq.Queryable.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Memory.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Http.Rtc.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NameResolution.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.NetworkInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Ping.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Requests.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.Sockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebHeaderCollection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.Client.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Net.WebSockets.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ObjectModel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.DispatchProxy.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.ILGeneration.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Emit.Lightweight.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Reflection.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Reader.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.ResourceManager.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Resources.Writer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.CompilerServices.VisualC.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Handles.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.RuntimeInformation.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.InteropServices.WindowsRuntime.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Numerics.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Formatters.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Json.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Runtime.Serialization.Xml.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Claims.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Algorithms.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Csp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Cryptography.X509Certificates.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.Principal.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Security.SecureString.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Duplex.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Http.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.NetTcp.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Primitives.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ServiceModel.Security.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.Encoding.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Text.RegularExpressions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Overlapped.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Extensions.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Tasks.Parallel.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Thread.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.ThreadPool.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Threading.Timer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.ValueTuple.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.ReaderWriter.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlDocument.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XmlSerializer.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.dll + + + D:\Unity\2022.3.1f1\Editor\Data\UnityReferenceAssemblies\unity-4.8-api\Facades\System.Xml.XPath.XDocument.dll D:\myproject\JisolGame\JNFrame2\Library\ScriptAssemblies\UnityEditor.UI.dll diff --git a/JNFrame2/UserSettings/Layouts/default-2021.dwlt b/JNFrame2/UserSettings/Layouts/default-2021.dwlt index 365e030d..f6041484 100644 --- a/JNFrame2/UserSettings/Layouts/default-2021.dwlt +++ b/JNFrame2/UserSettings/Layouts/default-2021.dwlt @@ -19,7 +19,7 @@ MonoBehaviour: width: 1920 height: 989 m_ShowMode: 4 - m_Title: Game + m_Title: Inspector m_RootView: {fileID: 2} m_MinSize: {x: 875, y: 300} m_MaxSize: {x: 10000, y: 10000} @@ -119,7 +119,7 @@ MonoBehaviour: m_MinSize: {x: 400, y: 200} m_MaxSize: {x: 32384, y: 16192} vertical: 0 - controlID: 15 + controlID: 96 --- !u!114 &6 MonoBehaviour: m_ObjectHideFlags: 52 @@ -144,7 +144,7 @@ MonoBehaviour: m_MinSize: {x: 300, y: 200} m_MaxSize: {x: 24288, y: 16192} vertical: 1 - controlID: 16 + controlID: 97 --- !u!114 &7 MonoBehaviour: m_ObjectHideFlags: 52 @@ -170,7 +170,7 @@ MonoBehaviour: m_MinSize: {x: 300, y: 100} m_MaxSize: {x: 24288, y: 8096} vertical: 0 - controlID: 17 + controlID: 98 --- !u!114 &8 MonoBehaviour: m_ObjectHideFlags: 52 @@ -296,8 +296,8 @@ MonoBehaviour: y: 0 width: 453 height: 939 - m_MinSize: {x: 275, y: 50} - m_MaxSize: {x: 4000, y: 4000} + m_MinSize: {x: 276, y: 71} + m_MaxSize: {x: 4001, y: 4021} m_ActualView: {fileID: 19} m_Panes: - {fileID: 19} @@ -353,8 +353,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 0 - y: 575 + x: -32000 + y: -31468 width: 1466 height: 416 m_ViewDataDictionary: {fileID: 0} @@ -382,8 +382,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 0 - y: 73 + x: -32000 + y: -31970 width: 262 height: 481 m_ViewDataDictionary: {fileID: 0} @@ -394,9 +394,9 @@ MonoBehaviour: m_SceneHierarchy: m_TreeViewState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: 38980000 - m_LastClickedID: 0 - m_ExpandedIDs: 60e2ffff78ecffffbceeffff12efffffd0f1ffffd4f1ffff74faffff3c91000010980000 + m_SelectedIDs: a48e0000 + m_LastClickedID: 36516 + m_ExpandedIDs: 24f2ffffcef2ffffd2f2ffff1cf4ffffaef6ffff04f7ffffc2f9ffffc6f9ffff16fbfffff4ffffffc28c00007c8e0000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -440,8 +440,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 263 - y: 73 + x: -31737 + y: -31970 width: 593 height: 481 m_ViewDataDictionary: {fileID: 0} @@ -734,9 +734,9 @@ MonoBehaviour: m_PlayAudio: 0 m_AudioPlay: 0 m_Position: - m_Target: {x: 85.20835, y: 116.73124, z: -125.85036} + m_Target: {x: 47.086693, y: 87.38444, z: -44.091587} speed: 2 - m_Value: {x: 85.20835, y: 116.73124, z: -125.85036} + m_Value: {x: 47.086693, y: 87.38444, z: -44.091587} m_RenderMode: 0 m_CameraMode: drawMode: 0 @@ -783,9 +783,9 @@ MonoBehaviour: m_GridAxis: 1 m_gridOpacity: 0.5 m_Rotation: - m_Target: {x: -0.3228703, y: 0.016180936, z: -0.0055207084, w: -0.9462912} + m_Target: {x: -0.4351696, y: 0.016743245, z: -0.00809369, w: -0.90015775} speed: 2 - m_Value: {x: -0.32286957, y: 0.016180899, z: -0.005520696, w: -0.94628906} + m_Value: {x: -0.43651885, y: 0.016731065, z: -0.008118786, w: -0.89950293} m_Size: m_Target: 2.598076 speed: 2 @@ -899,7 +899,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: e0740000 m_LastClickedID: 29920 - m_ExpandedIDs: 00000000e0740000e2740000e4740000e6740000e8740000ea740000ec740000ee740000f0740000f2740000f4740000f6740000f8740000fa740000fc74000000ca9a3bffffff7f + m_ExpandedIDs: 000000000a7400000c7400000e74000010740000127400001474000016740000187400001a7400001c7400001e74000020740000227400002474000026740000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -927,7 +927,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 00000000e0740000e2740000e4740000e6740000e8740000ea740000ec740000ee740000f0740000f2740000f4740000f6740000f8740000fa740000fc740000 + m_ExpandedIDs: 000000000a7400000c7400000e74000010740000127400001474000016740000187400001a7400001c7400001e74000020740000227400002474000026740000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1003,8 +1003,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 1467 - y: 73 + x: -30533 + y: -31970 width: 452 height: 918 m_ViewDataDictionary: {fileID: 0} @@ -1045,8 +1045,8 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 858 - y: 73 + x: -31142 + y: -31970 width: 607 height: 481 m_ViewDataDictionary: {fileID: 0} diff --git a/JNFrame2/UserSettings/Layouts/default-2022.dwlt b/JNFrame2/UserSettings/Layouts/default-2022.dwlt new file mode 100644 index 00000000..f1a619ec --- /dev/null +++ b/JNFrame2/UserSettings/Layouts/default-2022.dwlt @@ -0,0 +1,1212 @@ +%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: 0 + y: 43 + width: 1920 + height: 989 + m_ShowMode: 4 + m_Title: Project + m_RootView: {fileID: 2} + 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: 1 + m_Script: {fileID: 12008, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 3} + - {fileID: 5} + - {fileID: 4} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1920 + height: 989 + m_MinSize: {x: 875, y: 300} + m_MaxSize: {x: 10000, y: 10000} + m_UseTopView: 1 + m_TopViewHeight: 30 + m_UseBottomView: 1 + m_BottomViewHeight: 20 +--- !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: 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: 30 + m_MinSize: {x: 0, y: 0} + m_MaxSize: {x: 0, y: 0} + m_LastLoadedLayoutName: +--- !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: 1 + m_Script: {fileID: 12042, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 969 + width: 1920 + height: 20 + m_MinSize: {x: 0, y: 0} + m_MaxSize: {x: 0, y: 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: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 6} + - {fileID: 12} + m_Position: + serializedVersion: 2 + x: 0 + y: 30 + width: 1920 + height: 939 + m_MinSize: {x: 400, y: 100} + m_MaxSize: {x: 32384, y: 16192} + vertical: 0 + controlID: 131 +--- !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: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 7} + - {fileID: 11} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1467 + height: 939 + m_MinSize: {x: 300, y: 100} + m_MaxSize: {x: 24288, y: 16192} + vertical: 1 + controlID: 74 +--- !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: 8} + - {fileID: 9} + - {fileID: 10} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1467 + height: 502 + m_MinSize: {x: 300, y: 50} + m_MaxSize: {x: 24288, y: 8096} + vertical: 0 + controlID: 50 +--- !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: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 263 + height: 502 + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 15} + m_Panes: + - {fileID: 15} + m_Selected: 0 + m_LastSelected: 0 +--- !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: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: SceneView + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 263 + y: 0 + width: 1104 + height: 502 + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 16} + m_Panes: + - {fileID: 16} + - {fileID: 17} + m_Selected: 0 + m_LastSelected: 1 +--- !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: 0 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: GameView + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 1367 + y: 0 + width: 100 + height: 502 + m_MinSize: {x: 100, y: 100} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 20} + m_Panes: + - {fileID: 20} + m_Selected: 0 + m_LastSelected: 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: ProjectBrowser + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 502 + width: 1467 + height: 437 + m_MinSize: {x: 231, y: 271} + m_MaxSize: {x: 10001, y: 10021} + m_ActualView: {fileID: 18} + m_Panes: + - {fileID: 18} + - {fileID: 14} + 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: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: InspectorWindow + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 1467 + y: 0 + width: 453 + height: 939 + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} + m_ActualView: {fileID: 19} + m_Panes: + - {fileID: 19} + - {fileID: 13} + m_Selected: 0 + m_LastSelected: 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: 12141, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 300, y: 360} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Navigation (Obsolete) + m_Image: {fileID: 1087843850482249999, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 1469 + y: 73 + width: 450 + height: 918 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + 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: 1 + m_Script: {fileID: 12003, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 100, y: 100} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Console + m_Image: {fileID: -4327648978806127646, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 0 + y: 575 + width: 1466 + height: 416 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 +--- !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: 1 + m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Hierarchy + m_Image: {fileID: 7966133145522015247, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 0 + y: 73 + width: 262 + height: 481 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SceneHierarchy: + m_TreeViewState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: 627c0000 + m_LastClickedID: 0 + m_ExpandedIDs: ecfaffff + 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_ClientGUIView: {fileID: 8} + m_SearchString: + m_ExpandedScenes: [] + m_CurrenRootInstanceID: 0 + m_LockTracker: + m_IsLocked: 0 + m_CurrentSortingName: TransformSorting + m_WindowGUID: 4c969a2b90040154d917609493e03593 +--- !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: 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_Pos: + serializedVersion: 2 + x: 263 + y: 73 + width: 1102 + height: 481 + 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 + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: -146, y: -26} + snapOffsetDelta: {x: -20, y: 0} + snapCorner: 3 + id: Tool Settings + index: 0 + layout: 1 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 0 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: -141, y: 149} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 1 + id: unity-grid-and-snap-toolbar + index: 1 + layout: 1 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 25} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-scene-view-toolbar + index: 0 + layout: 1 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 1 + id: unity-search-toolbar + index: 1 + layout: 1 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 0 + containerId: overlay-container--left + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 25} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-transform-toolbar + index: 0 + layout: 2 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 0 + containerId: overlay-container--left + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 0, y: 197} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: unity-component-tools + index: 1 + layout: 2 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 0 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 67.5, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Orientation + index: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Light Settings + index: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 25} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Camera + index: 1 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Cloth Constraints + index: 1 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Cloth Collisions + index: 2 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Navmesh Display + index: 5 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Agent Display + index: 7 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Obstacle Display + index: 9 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Occlusion Culling + index: 3 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Physics Debugger + index: 4 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Scene Visibility + index: 6 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Particles + index: 8 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Tilemap + index: 11 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/Tilemap Palette Helper + index: 12 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 46, y: 25} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: AINavigationOverlay + index: 5 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 48, y: 48} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Scene View/TrailRenderer + index: 7 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 48, y: 48} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: APV Overlay + index: 9 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-container--right + floating: 0 + collapsed: 0 + displayed: 1 + snapOffset: {x: 48, y: 10} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: UnityEditor.SceneViewCameraOverlay + index: 9 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + - dockPosition: 1 + containerId: overlay-toolbar__top + floating: 0 + collapsed: 0 + displayed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + id: Cinemachine + index: 2 + layout: 4 + size: {x: 0, y: 0} + sizeOverriden: 0 + m_OverlaysVisible: 1 + m_WindowGUID: cc27987af1a868c49b0894db9c0f5429 + m_Gizmos: 1 + m_OverrideSceneCullingMask: 6917529027641081856 + m_SceneIsLit: 1 + m_SceneLighting: 1 + m_2DMode: 0 + m_isRotationLocked: 0 + m_PlayAudio: 0 + m_AudioPlay: 0 + m_Position: + m_Target: {x: 2.3886185, y: 43.18808, z: -41.178337} + speed: 2 + m_Value: {x: 2.3886185, y: 43.18808, z: -41.178337} + 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: 1 + 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: 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} + zGrid: + 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} + m_ShowGrid: 1 + m_GridAxis: 1 + m_gridOpacity: 0.5 + m_Rotation: + m_Target: {x: -0.33706108, y: 0.009035406, z: -0.003234883, w: -0.94143516} + speed: 2 + m_Value: {x: -0.33564815, y: 0.0090402365, z: -0.0032213225, w: -0.9419386} + m_Size: + m_Target: 10 + speed: 2 + m_Value: 10 + m_Ortho: + m_Target: 0 + speed: 2 + m_Value: 0 + 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_ReplacementShader: {fileID: 0} + m_ReplacementString: + m_SceneVisActive: 1 + m_LastLockedObject: {fileID: 0} + m_ViewIsLockedToObject: 0 +--- !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: 12111, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 455, y: 354} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Asset Store + m_Image: {fileID: -8693916549880196297, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 264 + y: 73 + width: 708 + height: 363 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 +--- !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: 1 + 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_Pos: + serializedVersion: 2 + x: 0 + y: 575 + width: 1466 + height: 416 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + 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: + - Assets/Scripts + m_Globs: [] + m_OriginalText: + m_ImportLogFlags: 0 + m_FilterByTypeIntersection: 0 + m_ViewMode: 1 + m_StartGridSize: 96 + m_LastFolders: + - Assets/Scripts + m_LastFoldersGridSize: 96 + m_LastProjectPath: D:\myproject\JisolGame\JNFrame2 + m_LockTracker: + m_IsLocked: 0 + m_FolderTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: 6a7a0000 + m_LastClickedID: 31338 + m_ExpandedIDs: 00000000067a0000087a00000a7a00000c7a00000e7a0000107a0000127a0000147a0000167a0000187a00001a7a00001c7a00001e7a0000207a0000227a000000ca9a3bffffff7f + 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_ClientGUIView: {fileID: 11} + 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: + m_LastClickedID: 0 + m_ExpandedIDs: 00000000067a0000087a00000a7a00000c7a00000e7a0000107a0000127a0000147a0000167a0000187a00001a7a00001c7a00001e7a0000207a0000227a0000 + 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_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: + m_LastClickedInstanceID: 0 + m_HadKeyboardFocusLastEvent: 1 + m_ExpandedInstanceIDs: c623000000000000 + 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_ClientGUIView: {fileID: 11} + 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: 96 + m_SkipHiddenPackages: 0 + m_DirectoriesAreaWidth: 295 +--- !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: 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_Pos: + serializedVersion: 2 + x: 1467 + y: 73 + width: 452 + height: 918 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_ObjectsLockedBeforeSerialization: [] + m_InstanceIDsLockedBeforeSerialization: + m_PreviewResizer: + m_CachedPref: 314 + m_ControlHash: -371814159 + 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 &20 +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: 100, y: 100} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Game + m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_Pos: + serializedVersion: 2 + x: 1367 + y: 73 + width: 98 + height: 481 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_OverlaysVisible: 1 + m_SerializedViewNames: + - UnityEditor.DeviceSimulation.SimulatorWindow + m_SerializedViewValues: + - D:\myproject\JisolGame\JNFrame2\Library\PlayModeViewStates\4f41c2841866e174babb2cbcdb26e80c + m_PlayModeViewName: GameView + m_ShowGizmos: 0 + m_TargetDisplay: 0 + m_ClearColor: {r: 0, g: 0, b: 0, a: 0} + m_TargetSize: {x: 98, y: 460} + m_TextureFilterMode: 0 + m_TextureHideFlags: 61 + m_RenderIMGUI: 1 + m_EnterPlayModeBehavior: 2 + m_UseMipMap: 0 + m_VSyncEnabled: 0 + m_Gizmos: 0 + m_Stats: 0 + m_SelectedSizes: 00000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_ZoomArea: + m_HRangeLocked: 0 + m_VRangeLocked: 0 + hZoomLockedByDefault: 0 + vZoomLockedByDefault: 0 + m_HBaseRangeMin: -49 + m_HBaseRangeMax: 49 + m_VBaseRangeMin: -230 + m_VBaseRangeMax: 230 + m_HAllowExceedBaseRangeMin: 1 + m_HAllowExceedBaseRangeMax: 1 + m_VAllowExceedBaseRangeMin: 1 + m_VAllowExceedBaseRangeMax: 1 + m_ScaleWithWindow: 0 + m_HSlider: 0 + 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: 98 + height: 460 + m_Scale: {x: 1, y: 1} + m_Translation: {x: 49, y: 230} + m_MarginLeft: 0 + m_MarginRight: 0 + m_MarginTop: 0 + m_MarginBottom: 0 + m_LastShownAreaInsideMargins: + serializedVersion: 2 + x: -49 + y: -230 + width: 98 + height: 460 + m_MinimalGUI: 1 + m_defaultScale: 1 + m_LastWindowPixelSize: {x: 98, y: 481} + m_ClearInEditMode: 1 + m_NoCameraWarning: 1 + m_LowResolutionForAspectRatios: 01000000000000000000 + m_XRRenderMode: 0 + m_RenderTexture: {fileID: 0} diff --git a/JNFrame2/UserSettings/Search.index b/JNFrame2/UserSettings/Search.index new file mode 100644 index 00000000..dba62d53 --- /dev/null +++ b/JNFrame2/UserSettings/Search.index @@ -0,0 +1,13 @@ +{ + "name": "Assets", + "roots": ["Assets"], + "includes": [], + "excludes": [], + "options": { + "types": true, + "properties": true, + "extended": false, + "dependencies": false + }, + "baseScore": 999 +} \ No newline at end of file diff --git a/JNFrame2/UserSettings/Search.settings b/JNFrame2/UserSettings/Search.settings index 9e26dfee..686a5fe6 100644 --- a/JNFrame2/UserSettings/Search.settings +++ b/JNFrame2/UserSettings/Search.settings @@ -1 +1,75 @@ -{} \ No newline at end of file +trackSelection = true +refreshSearchWindowsInPlayMode = false +fetchPreview = true +defaultFlags = 0 +keepOpen = false +queryFolder = "Assets" +onBoardingDoNotAskAgain = true +showPackageIndexes = false +showStatusBar = false +scopes = { +} +providers = { + performance = { + active = false + priority = 100 + defaultAction = null + } + asset = { + active = true + priority = 25 + defaultAction = null + } + profilermarkers = { + active = false + priority = 100 + defaultAction = null + } + store = { + active = true + priority = 100 + defaultAction = null + } + scene = { + active = true + priority = 50 + defaultAction = null + } + packages = { + active = true + priority = 90 + defaultAction = null + } + adb = { + active = false + priority = 2500 + defaultAction = null + } + log = { + active = false + priority = 210 + defaultAction = null + } + find = { + active = true + priority = 25 + defaultAction = null + } +} +objectSelectors = { +} +recentSearches = [ +] +searchItemFavorites = [ +] +savedSearchesSortOrder = 0 +showSavedSearchPanel = false +hideTabs = false +expandedQueries = [ +] +queryBuilder = false +ignoredProperties = "id;name;classname;imagecontentshash" +helperWidgetCurrentArea = "all" +disabledIndexers = "" +minIndexVariations = 2 +findProviderIndexHelper = true \ No newline at end of file diff --git a/JNFrame2/obj/Debug/AimingRig.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/AimingRig.csproj.AssemblyReference.cache index 56abfeb7c0ddd7eb96b915dbd6cc5e8fbf4cca83..ab7486c6ef29e88359fa195c172b1687fd7dd582 100644 GIT binary patch literal 124239 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 axcjc3zM$2JNV-^!=(VY8L{H?Y@&5n`*YY9& literal 124868 zcmdsg349bq_J2lD5L7N%R7CL>#hKiPhzd!-UiuZb=;wt;ob=PD4S9Nz)S9MqSRFbMd|KrDmWM0j@<6Ey@ zz4y9mm%xvCd3k}Fs-wfr$ylb#_+FS_SP(1<78SP^gsY>mOiBw^DH$a^Q%NdqYSbXA zPPWC8D*5kVG#(EG!29K`JK)&2^4=aC2n2@eZ)?!%FTt0|FZjp6D)4RKYVZ&6Gcda~ z7FUlBg+f(FhxF0LcY>*q!Bhw`6*8GJh>Q;+{|%Ya-#0HXmEdLK_&KVUj-`^5^Mm?- z6USF(qb8_%3&=@BPGDb40rDD+;bslbI zUrH+508TTs2sVR_3&IACUfc>azt`b1Ivl-9E}D7;sZIK_XDuVKKRGdLm4FgF+10u3@xj6tdz>!)i5gqGk7FOesc^x096J|;;;B52olc+u1VuB`wOG_$^;9%tk#Z_s za5Q6mKA~gyLX{>t;|uJ1`xb! zWwJt;g4(q*i3J)()C}-W=Fl_1qUAJz=ow%!K&YLb0TzisWedvB>zT7!wM~h56bh;Q zyki8X;sxjD9c&Qlr}Fa-LV-pQRIi=UIIFHv)nZCKw%j9OL)B{;V>k^VxL(U(gfInF zuVs)5G=`v*a&0OC?U18lNTrmWLpV(#IHm05gRlgZQg%`bG=!j}TD=0YX_2_v*acGj z3HP;`N~*C2aT-H#QjNt4VGb&(#-bHykf@lXTD_{ZrnH2TjHn#B&O^zxmHSXmY#S7jw+n69!Pwkp*WCE2hDBoYNr63|bQgc+=nI`8{z2JO5%>$u%D&J32 z2~>QS7+2GfO=e;VwFdMo8{zA$WG&1b=?%)DE|31~VVOzfB=6z-ahmS*fLMRkLoNy9 zYJCt^p!Ef9TpA;qswOLy4%n~l?)RvT3u6qY6$Nix7>p2xqBbrJQh~-0l+0>uS2Q(R z11l6sCGN5MQ^_pmC{BY2PG&J#AxuIgvzWvJjUuRO)YzfLGU`kvy~KTbP*o%Q08Uc~ zt{U07Agn-DjqG#+4In7NWpD`4(&6Ets05c|1g8lEC%7DJ5H_F^Tn<8kMi3MmH)b?d zNqDx#P_eO%p3?w=V`Cc=g!-x2*haPkDnHwj&cIE(y9c6`Pt$KF<~L=%4ogHadX@XcV(SX{v2>$NgwB8po8JDnD85o&tY7 zq3c>Ee*%>(DB;wkYMK)Bc)*5AI8oG`$`+h(qF5jlP9>ZuB7sU5lpiX1sbG9kgHLbWhy}*^R!elV?6)tZj^(mne8%=(=dw#J0cfu z2;-d0!~KqHpe7(;uMA`#xP1*|=O&kd?DPT+Bq*N*IW(TY@Z2j<`6R{|PO}KkCovcy zEJEdz7^DJ?A!<4Oc z4(mXVO{Ygz;y^OWU=QOoM!VPuiOmaPlKHtg7ibtk{q@at)lKfsp6ai+NI4B4xWC@| zd_w6|f4xN^P|<=KT$>Xun&Pf$s=<|@om-&kw5Qg*l4TFoIiNn5+p=+_~;c7F8j18^~!W!4*O`ZU`e$6+$<9fd&%PEiz}?Ja>yw-6EKh(*%OM zMexTHI;XltFo8fN3#xIivuRpUT}oGKPv<3OKIXqc*Tpw|T|SkTijbJTYD;G{>k zi+UP{Cg)VP;HP0|9tf3FPs7ku0u?VPvpXjiRe29uC1^QSE;zGGFhJ;=%Ip#(0+lVO zkTfTzWwJ`#2opT}1*k$2dl;t)1Q(Lnyb#u)3Q25gfrb%ONSYfjT5$pk9D&+)mzV7(Gq0*==+j{-m)flwS{O|_})Kuq)}D0h~s>0%O;d-a*W_KhhW#_V1uv( z<(eFX0*%n;R(As|jS)4eHmQjYux5LNNoK3N>ljW$2y1nBWrQ$=+3M~}D$p2x&dVE2 z!W@G4lRMVLF!S=>13AqiEHCfP4PhHIFYisi;~EGWiv8qH4g=W-ZeIi0xyfZ9JH0>y z35v9uYo=ynad7twXQXAL=QM}lNXy0qVFfDEvXKc?exILdFy^to_ zToX837iLJ@CkM3&Y_6f`IgKIQHBn3uMzFaiicFyL``koqq6Bsxx-=16lfrBwb{oQJ z0%1+WZhR0{Fq??oC@3==2S?r)e#;N4mzV!Uq*)sFkHBN2> zDlo#Q!1}n-)dEr$MtGSHgEpP%wT;;hc&S&IWKe%0SiLNxCgHv1gnk#k{LLH2ZR^x( zYad`3!??j5e~0R)uU}u%Gfmt050U(v_plr4x3fc_np$@4be2g9dUaDfk@)89f3t}c zo?_fd4F9ZZlugW6m{$2~^<8foR-xRCa|owhdf4@56Cy+jK^ex$5n&q2;W#M;8i%tg zVUsHyo7KpgE#S{gtCUs!xY@9Z*^6R;lP2f1NDs>qHqJv9=ae~URtQs=Eh#L91)5<+ zFWnX>zNeO^8^MWRQ6-*Asw|_xqBcduG|}e6_ITGYk=ZzE`VWu6oQuesKp%aZodr`! z%6_?oG#4MUoiw*>mTmL<>i=MQI?>gkr51x{tHLv4=~NuvzZITQH%$XS3&VQTd>Z_& z|G7S%ZHpz-;l_4Vi>KPqPrR^qKDBl3r?mQ|=9~L4QGNE{^ z`6q!&gU%cqmLF+VYPv(!KxP`$meXPCw_sB{ILt8$8m_P^KbZPC!rvGdT29rHo*c8y zk4NgmL)33H+orK_#{I0|8oOhq1}|3RSI5}ax?i;U^;^i--Xt_Jm|^jfm5!J=S6d9WxPkF|u8Y6c#F z8CA4sVKCo8iMK~{K0W<^m%RzS=rG&61qOiVd?ffE{)At8v<`o+0^bI%Hvf?Ap@tFj zA=}59%!dH;A)0vyC1k!k4}2YL@bMe)&s}yhes5@;Qjj+g@)pQDWc9FzevI6BTI-(& z+`eV#fLk`)K4!^%8~(FqLuKlS(OqA@vD*j7zBhWG{cFFx;*V?Yc;U*Cg9h%u>Fzft z)vTHJPJR2nhp(Bx%ZALG=ik0kTm9ct z^Z#$J8{>o4Z`*6lHKSXuy6LO~|NH$1W&2*PK6&T0_XP$6o^E|bRo6f9+Q2}gO<)T+ zhS`Go6USF(#PoDdh$&N)jHr0QyQLzvsU71ILw$1n1*vgF6<#(Y>Th{q4b2r z96&D3sX5KYoTckNugJFta_P4=29CPWy22*XE0svQ8jhqA!7R)R1v_JD(7~IIXt54> zarW^A!HQr3Qv4kKMR4@G@nR4b=)h9c0k4=(Mq(;hmr|KJHFHv|!`KT3?IUVZ$yfxu zjBS=zeD4&q|IFA6x(?AzxGMw{_#a}IJ>%~t16fa}YHA`xY9f?F6UexBxu7P%>Sk#o zgf(GAz^-EHn&<}N9MFe||1- z~;G=23pH5)G(IrN4rC%(I-d(z9lnZ4!ROIEC@3f}+w zMMD-mbmP^3(*4Dk8)mQj%@N0i1B#x1ag~aMGyqVrJh%5yqb+JlffB7KE>wzIOCnGu zcJHyQkLU&ui^r9gqd=Iytn2u~AY6L@3J|=(E);f$HCE0H>yx3w_}#+lpfis*vAP>c z5EyFknl~K$+-8TlEH!^@Mg?-*-nY$<>lWESN4BPkC$yUf!z%r@pty> z+3R@O_Hicjta#Z@$r~?!tGsvEY4M>oD_brqyl40eFCCt2JZf-_b)1||9#}K z(eV>rziqe2XJ5Rwx$xIB-ac>Oxd(l9(OoZItPgwcl=RaJx=Jrd66%Idc!?+0} zrk?y{=J=fqzm&gj)+cx0a_5(UMw=J}ilEuRf4SXKQN9u_ZdFTL3YAhtRihY1M7+$q zSw#t{Dm4*niz&%WxN26@Qg9Uz`e`|ux{i&RLyXjvNy8Z(_jJ38a#EP5kokG&C*;YD ziH|j3BJ{|s#$*<}i~dDVz_opig)`s)lT0cVPX{BZs2WLuJE=kUEC`7UgT?wb*0^&K zhxlRJ?=w}cO^sTLw?f^~Ov=E{=IjJJMEs@CQ)*9pu_%A+=A#CdC;UaMWU8E#tkcBKyN zf>vVlCwu#HE_Y~TR!@;=A=ghfL}P7a+=uXPX-+)*iRYFzT~oaNzI`U`mG{A<|K0oN ztrdBhful=r{qVWXs}>D>Y1mn(Hs5y11-DQ5;-?WWJ-BYtt$Y0M)`x$0V0`iUWkYIT z9q`?rCoD-mbm086ZYiI>U-H{ipTFcL<(RztzgJ(|_r>?0`}qGN`OkLmKV?nx4P(DL z`1uKAp4vR>!<(lR9X)R6%^O}hviv!HL;U=TQ9r+M)H|~S?&h^Xr`wq)5Q#*}S_+C< zTO-lJXf#?_gxuiJVGBQ%QDV2@1H>M&>)J*V%Or`@S@IV&GiMs+PDTdqHqyPQF zBYNC7-2Q$6m~4SxFp&qp*eF}t!_W`$AF_X*$-fg^1x`|4OkMY%(8zD@csE$T_L8df zcON}+PVWGGoeq(Y8Bh+}&`> znzP4z-8_Fo{S&KpYns`)_5LfX3yVMf;)@~YU-OG;_e{Gl5gA#1+un`!3%3>i>cWxN z-SN+hpT2ule%Zxie^LY473WVaIpVjiWrt<&(J{64^9h3n{&4;~fhN1i7L*Lz@nA`f zs7hf)ep!BTYfCvmlW7~OuGHtvo-?WHk{UL)5h#6UO9S9YAkWGb8_(?pT}E&wW`u3} zoN~G(k8{h}4GnRyca`(GH#SYWZsmu=_8+#R%f8vVC>FJ1Y&5!%nS zSXKU)+Q-H{tHbeu8_#{_k^{<~LRAYFQ&`y4Q*T^3oR$iupu9X%UQt+BP*fJNQp-dp z5I$3a<2U~B(^>O0+YZdU3dY(&M^vKrgWZkNqDjFS+>j5EU_SZdOlQ^8Y(^mXG$Z{g ziakQ#Fnr)~1#XD}c-S0fonOWF_N^%$dIe9jI*8ZafP0cgnAAZ`#i?KNpgGJWzkcm4 zUHIdPc<}@WZvvGY>z#6`tprNOP=5>>KE~)^!EnBB>~#$tx9KbNKJMgrtu|HzJJY!pYrO8w|;ziWBI?2ocGIfuHL=*t*54cJnw=d-{1204SziU z8EvC_?w~g(Uv%SX*|!Eg_|?FRKimD+Uo86VwFBS&BKmEm*q# zvd22#T7KBW8^`~v?c&b&|8&UxA0Ak^>WiBf{_~1QF8X-V#Fg#iZ`0SjZGma$ZCrQ3 zF9Jq4t&1TnC>8}_cD68gim|mIzo59ZT#15OeYsj-t$0M9c3od#*~d1N`AQ;gG+?;& zp;!bKcCGZhar20yxxpHw=ZGO@$uFn#xmOf^nd(69D0eT4#kfl|ibVj`VR|s*CKC@W zSl}s!+3CKl-$~9T25qINy{cX<<;pF^7m8nkrQge`@8T=MzOTR+-zz@s;RwPjm0T)W$)kKJ+A z;R{+O-mXp@_x)>=GYe8jeZ1|L3;#ImiOVM+y6<@-E7iTmCmy}Dc;-p3T&f3zcOAEA z)rd_)jt<25jATKW+d;SFgT~F)vetrvXi2_Oq!`f=o%G!fp`qbYbc{5p=~PyWfKFw@ ztJ`BISlR$B?gpM%p`meDgd-@T#&No)?HC=hG~yB(Qj!t=&Nz9(TM-t7dbi9FUJ#yu z%CpSao*S?yct9ISLdj%QBExg_GMwQViLxjb8K*7D(@!y*{Oh?r#bbRwq463gcYReb zv1L;^6^ueys=@*dmAeju7mQ8WZDt8(C{Z8486EHHOQNSMx^d`XnkuOn3_Ig(y70p5 z-(OgL^|G$uH8V=vZdz8GtZW=LxNX|Dt#7=3-6><%ANj<9EMh$tK=LpWogFo?Pk32j--7VlK2zd|V#o>;% zxZ*O3Drxj+6WGV5lALuH%(I!$nZaPyGDGi{ zXkrDC6xo?Uc-S7QO^c_N(hr~2RVwj_OJK)HGWe(Y3oXlJS<#8L^^xe`yI=_+xF>}bh|K*P)!+uxn0w}1m45CxCN78aIOl;qAH zyA|+y*`nv1w?W*FZDvAj2?cd9en@m*V?MA4a0Y&T?9p@1VGsVzY24_=wq=$+&*wh1 z=fDRdIooq|QoNEsUH3VwJqHqT28cr1a|r%(MTwaIZs-nj)Q0vxQ|^l!ht;7yHg&w+AS@Zpaa zqotAJf)b^$wWM5)DrJRG3&0^#?KyCFp)W_q_rm-_=rf9nTk*5SRZ2z)gT@T%#4qa{ zAY+_4mu=?&&4Z6;Sex~i*8j^q$H=@vo^>oxP#?rO$;mB;E`{My2`O-P5J&;eVxgqq zJk1D8L6u)TB(`kT=c(Sy)4%x4V_Yb2+2^ji{$tvQy8XgtRAUsUf%GZ|rDIMy)=PDEj7+_+>BTgD*dRCx~%*|agtI{nVZ2cdK0 zmMGin0+oIu-#P)#m@tl0)1qNbZ4HCxc0v0&aWIReW9vxMp~UNYD4}lvjMd7R(Qw(K z9<^&Ea!nj)CfEuAwn92v3O4kcsSKHVNmq)7x2nImxQTu~u7hbWeaWn!JA%d^0-kCm*jlk3eM&}QUOL-2PR zD`eQ&L#!B*m~hc0AwfeVhwQ9z<7vmLKrL`rwgoRev%mu{o~jdPfYSqbnME|vj0w(C z&cG*Puv@oKHNruKJBQGt2FMA~VCrE&L+}kxumRJ;6-*9}e2Sqahae<$;4|7BkIV8v zhx4#v!UVZIlgatiY-=l7h|05Yvj4C^xgjf$mv%`&;9cvYvO-n(-1)Q_N0~el! zOcTD4nQT{rvx|)9t<&J(tz;ytX=;+`b;fy)z+ghB7O_3h^4^C&d>+U{o^H6h=7^AX ztQAf1R5=Z`0uZa_PL%SvrndgT8e>@->6DfeRjK|&73AE1P@3aZt}OiYi?6CnCG`w@ zEW(PASiZ^{fl=ihdiSfZvbf`32X`!Ab&3;UK}#qaYh24BkE=@ehpTGrP$T-O4CJXh zR#degLvUgUC)if>rwb$4^C{X`D2e(8AIKn@f0aq8Pah69LjZsEYVsPPT z3&uF$i{AHX^1(%N)2?-y8E8eNHR=ld1(w0oYdj|A0 zKDbCFk|COKEZ?&)l9e?8dm``cWS8s!%Uv4(`K3i(3MXO4c@{5ES_~c%FD0-d4O6AI zWUZ^g2w$}qLt>p6!^?XMNuCxjC4yp0;Xi1h<0>5T*kC1WpSZL?a5W7)RXzt)u)z_~ zHObZ#D_%d4fiT-Jj5Y6|YE^%_G8>CNT`kqz%BS%sEcg=N&BYJ}Tr3A39b~SZ`?!;H z24nKNx!hUvDa;nQOGLs;U~nd_Zb|xQ&|n%_(geaY=FSk+E!iWmPa6nwVDJlvX;gcu z^tvURJD=hV)h*dVkx=8jWr8O_Th$*6DLi9gt`-A1FCA~Su{5~Jo}Bsbi;#_$3DI^p8)}ZkzY^Cj&4MdZE2@azXh_!*xi81!D<1_rAt=!qK8wg8^ zZpe(Us!k`ffCjBX!%EoxL0Y>8>AZDk*QlSzqtAaGD^>yowQINx!4UIyZ_?W}T-fue zM?>uzE>h8O6XwPGWxoL7M&6Y}BtlsG1(RHd8APTx%=&e|KuY32U&h)mm=clj61ZQ0 zr;EzTvT4dv2q{}(+2+X5wI)>#YEB#I^KG3%sVsQ!Pq7w%oX|44jk$ zE^SwcWAKR85CvW?LomL)o3f<`UM}qU6lW;#a*>M0o3OTQc(sF+m5~;M;k@=V=M_bW zq2=wm$V(lhtcMg+J_QtNlBHy!VIt4)yqI)4Az^NS^xc6kP2F3FuJ@Q*J-jB zM#>@te?A3TOAfWum=or@q_z0h%!2Jb9U7=Dk(b*N3nXgsrzv%K!O-6uUea6qX|8lo zp%YaBb9uNVF&O;vm*wF(dl$dIHh{bZJ(x5dJg|x9xy7^q;dJ5_F8#Z^GCPnoU_M4EV<$V0Pg~PN9Wi13i3Pu#M ztLb}cX5rcAou_G)?c7a1yWv#xRf@S5tCECSQ@8fL;go3yGJ5TXV=QKe+mXk#X&DQ(Oh z7^;dnsW|~Ay(;G9%%|u=RWYYPlAzTgaThpKO{BE0nF_e7ISRvmW-4&36_7gUIpMXe zA9jik-h2wMg&yjb1hJ?@h}FlagORP4q+ynvIt?e3;{5<6i)a6B9~*3Hl>`}?p?q^P zp(Mdd7d57IV@6Yzgg%>XiAN%oXO6*;+Ww(DlRuw&C?b?+ibX?CSSSy#Ba%{It&Js5 zWx;ExIhEk+I+P&%yaRRe8X_sxRLraYJX0N^P7)#l)1q;y5UE~<3R%oJX$&DBs6=8~ zPUvK0FKjw=2)=ykeNYpTT^vb}l9p-L`L9@+1Okfc}GX|8;VBvkRIg^>iM z7Fmm&5pJ_0q20};&7i>0@s5QS%U;k3etDvy9qR=3dP=1`hzEA zG94_ipp8AE;f#NzZ|o62KJ_tZV~@ljAtNw^mX^teeAg)n68)yP?tBU} z)H=r&iiDa#FD7;2t9NZw^Z%|7UG6d@*}FeID>?2xg3Dr^tPt zMac=Qe%a?)T=^7Hs1ipbN)nW$wVTvs6RHMJwVwlSsZFs@7D4SMc3K>1?QE=sE*%2W z+fD3z`4mv7-NY^q38{i$3D@J?9M7vr3)yG2ECyI|y=f1H>;xJ1OWye>=^;D8l20*& zwtR#nBz!;&CG42FqhRTE7?iN!3d^CnEPOh3a@e2OGgcCkrA!bxBTLE6=dHui%xwfZ&eu5AYB zYDKScoIsO*wW1f3K7}2+TG2~1Nf?xNTaaCr+E`nAW~mClv)tQ(4j&%WJs~lS6M@oi z3(6%~H{8hj>ii#cevXG^lHeyTiAsv%d2%31qA~|?LQZ-TmC2k>ogGS|GG+2H%)EPM z7%;O2?0_({nEU?+W|mBnU?wfW3Y(C#8o2Tdbko2hBx?ml306BT2AB6XQ+k5c&X-Sd zg%YfGacD>hEB|EWWh*R58ULE8KgG_()_5G9xeUS}^WKK8l%LCRVbG^&i{w%~4Lf0Z z*?#b3#;s?3p3I=dAlqR)86kuJqJF0*GsK}GCCrnZCe4#&lbKjT)lY5)hXQGhs@55U zYvr6+I;+GhSr9u6&8r+^IU#qZ^o#V+T_EsyYF8oshrz|1c94Y0h-^$U3ITi2BI^i) ztERV8TOxhsG-m?j*nc>hO)Hgzi@^N9w1*AR?6xi}U^y-Hu%VNh6GYMLWwvCyGjXqO?JK1+Hpv5B@5NVs*4DLI`@F#=O1Up~a|A(dg|CE%8W9@?J#9@#KoU!m1f!&~9U1f_Z2v zF08r@;zXhR!m1mCK1Clcth&i133k%*eCTWj@Vu}ROE3dLl;^XN;`P?s(Miwq+1T4KEvy7Nb5zr1!FHi6;q@XGp8jvF$alB)_6k)iSZxSOnY$$=s0~7%u>|@*RB#WVOL&N$1!E4t0P}Wo(jPfwGUro_p+^pxGSM&- zwhNYa5m%GCEEDwFeV~iDC_)S?@6(Z_U&KW*Xc+n6gd~c4Z~w!rB8=S(&@0c5oH5Tas?LxzE8woK7quyYB=ucBJnC^m+*em3VvUo06m3GvwT@tTL!tq8DM`nim zLu0UW^M;-Ljid{I+@RaB?xaIU?YfzYgq*-stF$L;2sv~^>1MG7XXwcqJ1vHocY;;= zlQnj}diN&9dVVl{-FcsEh-Em@0Cybf%6te+)io7is4a) z%Myf!4won5iP@zEQ1EdS<0whu2s4)e%1*1p2-14{BIyB?oiA=M?O3rn3ZU%bkdP9X zY?oG-hWyW~N=3k3P)X(y->5E45n`X@oz0S7m!_EVDUwiKnv#Wtk;vq`v>-|6J`wjq z5(<)Rq!>%yDR=2Xl8r5&q6q~_Hfd-)2}`smWYuy^_R-Ur?5KM$v$EhI#*p%MPg&Vj z90y}Q1r_S{bI3!(N?gKST5VaEpkB$e>z1&EPN=qwi7<}5U6b_MGG@r9_-Q03D%3uW z8)5D!CDk42uVDOK>EDz7w zyZHUJffEsZZ&Y7arj$fVN((BAiq-t`3gZI;LpqDW1TM-iDyYZ{2&-oR)tmDL9ub~O zf=#$_d#?U#I+g*wy)2ucRsi==oW>Gf)d0rglPI?pQPJI9NJ-{BN#M-F%Fvkk-l4?n zoF;3LFuw>cIHy=0F~mP+s8TWtYd#?}z}L6G88DZ*=Lj+b93sgK&EjVRj%%zF=5{gg z#HsuR^5y{KEw|ol40a`{e1UkCS82*pmnYlM-3BHJrwLSfCLnq3hU>4d>XhhK15=9L zK!hXu6Smj2LXetS`fV(lnud=Q1*d@3C8581p?OnNnE4k7Y_=LU^T_v7w)@y+-Cc+saj zt!g`GzokcC`0m>BXU6?~r}gRsh9>e*pG&A;I9Z5jjle*%W@21y(d__3=!Cp61zx&OSBaR$7ecj{gk>5T(c;^Mb*Hb|SkCe|@S6WvR zK#dx9ae4uxqJoyzqVkebC0bNktQM8P$P{E$smxG|ct_o&Dao`FfvF&-vmRyoI+BhP zK8xi!Y?2$!X+MV{NH5IP!r{0jgjg;U9EDimWlp0=46zW8-4M9G+Ek$s3rNr#NN|K$ z6879?Ek=jGt=5e8+$ISpG$ii1NnZU2547htrH}*>30?!1_8GftW%HKLDosu8^+PL2N$^`;H% diff --git a/JNFrame2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/Assembly-CSharp-Editor.csproj.AssemblyReference.cache index 26bbb4bb1f11e3e42605fc50b63dbbd8f71ed2f8..c794b94deb0e2facba63a2ff01107f3b497711eb 100644 GIT binary patch literal 138503 zcmdsg37izg_5TisAgEj-2&jlB2s3*hfCubyEG)~i2bYV`JJY*6FvmK_!h!@09%wWw z1cO&xy)0q9z#iSJmBBT~$-vQ@dTgGXL=-d-SXA zcYN#Bt5>h8j`582WMz3u%f{E&MS_X8`rPc?TyLH?r!l8~N+6hs#_G$Igi=3Ci6~8K zKqs0KX$nSE@_TO}6!L&Sl$AAT)6m?B1kYYXD5%0(St>;DC3HEH$JbG%)M`s)Ss`#h8s|z6hLr>uE36SeoR)>67gYJh@>EW} zp3r!;4VMxXUguch@wl3poQwoQs;L`75ySQ~*FKvP->8bI0rn!*5~d};tqA(W{2O2<7Q z8nX#mPNG1BNd;9sR~pvwn+YAy;`1g^x$_+>H>Sj!tJRihED?+}Sp$0{B?_mJpu(3( zQ#gkQLiO{~@hi~?)lQ92R#P=CrnJ}uF~dl4XmUZtFO;Qt`t5|u=UDT2R4F?cQ~enMz6#BoYJ(2rtMrN2=!Cbb}q3* zLpVpeeb$Obx=Aajba_ZOUrnf*M!HENQNfP$B3fFoLTys~HmjFZUL>W3pt7aqMN$|b zR8HkZQV1m~-tofmjGEb%HEJxVgn}z=5+u~ZF{h27@}(^tb66nMPc0mCNF^G;abCP4 z>W8{dvy4gQ#Z#LIs$W`OJe31N`&3>$l~SVetDNRcD(9A$l~1xBSBH|>2$EP(;qztX zOUQQ7AT8(*sWok20Vr&(Y$`j*Yb2<2Y1u&@4}|im>>!U;q7g1} ziu5Wq))xGHX>+DFTLGP}$N_1kCFRbyFzBJDxk# zBx0%(wykfX<_-+Kpwgwy9hlb>DyQZS4B1ho@MJ?g0TUM1-i1~;P2c4Tr(bWWaGFe_ z!kznbz?zn$vl&xqf6g=zRJlBV&b*({IqlCGI*Cf3<#hf~TTx?;@4;luj41`xTqi5$ z$1f)ITfyZ_qGBB<)oRsPObOa-4Wp836t$p&r6tv&k4d_m#7=p>14AgE+%lO*>2gtDng5=$ph>5l6! z>%t8&#oA#|^_K*#psJ^O$kBCAOto!$mYb!?DL#qhjFf-095 z!}E9`bWg?bJX(oHa9pE9^H&-ThwV-_p=xxjn+h64T8)l1Cxlt38XfBv5{=`yPE+F& z)Z$0LzCUYEMAd1gHW4(2v^vdH4hSPqb(*P^5|!^b_pWo7jD@T=|v*ykJ>2y42@Qw-g+(C2^zpJE16)y24RSW0$fWp zh~q_Xjoo=_L$!Ko5}3uhA5e?l+*X3dkhbW}Wr8pTwdlnQPmhyK*4v9vS6Il^5(#KS>=1PsMxJ?BOB{#C-azdCW zHL~KikZ7DGl6w@)UfEVwoojmunXI?NOdajO1DyVd6=jxbmCKOGbt7B3~ zRIcN}aK7kZhzJE0D{U}D?xXwGj8KBj?Q991=T2_i?eSguxNB~mO`R(9b^}EuFBNbpkJ*C zhLa(MbE=`KXCu34(@Id~60(anOc2^PvWqsv5)I*CcZb1XP-%)pFjA|*Uk;9%dMTfvBbxv7gW52B|h%!38foLd|a}lN#Rv76

KM>SSZ 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 literal 139246 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 bnWtdQMbH#0B>8q*p3N0fqXVn*RR8|~S#0Xe diff --git a/JNFrame2/obj/Debug/Assembly-CSharp-firstpass.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/Assembly-CSharp-firstpass.csproj.AssemblyReference.cache index 523fe199849cf83c754367326c8b18c58dc219d2..03acaee0672517edf40f3e844fc1c99bcdd103ea 100644 GIT binary patch literal 128661 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 XI!WcLss^XtO(5Q_2B#jYQ| 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 HQ~mz~{1Yq1 diff --git a/JNFrame2/obj/Debug/Assembly-CSharp.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/Assembly-CSharp.csproj.AssemblyReference.cache index 523fe199849cf83c754367326c8b18c58dc219d2..03acaee0672517edf40f3e844fc1c99bcdd103ea 100644 GIT binary patch literal 128661 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 XI!WcLss^XtO(5Q_2B#jYQ| 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 HQ~mz~{1Yq1 diff --git a/JNFrame2/obj/Debug/BestHTTP.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/BestHTTP.csproj.AssemblyReference.cache index 56abfeb7c0ddd7eb96b915dbd6cc5e8fbf4cca83..ab7486c6ef29e88359fa195c172b1687fd7dd582 100644 GIT binary patch literal 124239 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 axcjc3zM$2JNV-^!=(VY8L{H?Y@&5n`*YY9& literal 124868 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 diff --git a/JNFrame2/obj/Debug/HotUpdate.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/HotUpdate.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..1754ddec3a3ae9d10dd88bbb87f9806c834e121b GIT binary patch literal 7499 zcmcJUOK;;g5XY@P7K`qs!1mqUHho~xL)Oltmj=kek+Z3H)k{90ozYd^xCh{lA>C3k~AnVsslK(r2IVOkTZY%b0>Pe)oMj?Z*O`gxmitjwsv;f zyY21s?df60jndN|Gi*9wlFcFWHyz43mk=JeGa;hLl3Mp)-gz|p?QRrB_bQ;jx4Psm zhc9286Ii2To8EghrDi?aYcZA9Kx#OxYU9Gd>8^_B@IY(tXM`sJ_wORt(Kq- zhk`(SHzbaZ69Nha*Oi%8JbQZ5ClJvL_T{oP$1rE@n~SQ(yDmf)j*r^YJJl_ZQEv4^0~mCl(=;S`q2 zZXG!%uu;JnE>?w|hMithz^>#uGqwj1fFFi4TSrL1q3zf$3NQzy%mk$)d=^HSESQF@ zZwsZi%Zjq3&@LarkLDC)2AY;{)NNv+45f9UjUJ1#u!F8D93ekwGHa$EIA{VE?fO`= zV$sCzL2GklL%t=;W!TG0vB(_Fi9YkTvLZ{Mu#O_ZDUtv4EY?j&|P$4xn% z>u(NB&p}w&*LP6-&&um;(Emi@si`N_>x+P3Y*+60I`h|z?dtk}Om_pu_CMiZW4k&{ zN$lI+LvGsG_TjGA-i;GgyY8o+b=E&9xv+Kvp+D6n|8HOeCBJ^KsEN%ui}l{{ z%pP3w6cV17g3;t&-9l?DXLG3vqQ{65RQ=mw%;5(@f)FrCK|+(jp$6-&6(rZ87Po#D zs|ZJsFKuopQUs;udCAj@1ei`KP8f>Q|L<(1l$bHf{;BnyAN>EJ95J~O<@kkfhMv5Z Oc?q*wBdD`$z2+|_PPAzN literal 0 HcmV?d00001 diff --git a/JNFrame2/obj/Debug/SHFrame.Editor.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/SHFrame.Editor.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..f5012bf27935b869b99736ae8bbb9cba611f6860 GIT binary patch literal 126880 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 literal 0 HcmV?d00001 diff --git a/JNFrame2/obj/Debug/StompyRobot.SRDebugger.Editor.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/StompyRobot.SRDebugger.Editor.csproj.AssemblyReference.cache index d3df65888da8e0e1361e5e0a37a14f68f149a243..402e5c9d2972d847c62e326d72ae03c28afa8d80 100644 GIT binary patch literal 125911 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%0AM17*MCt806rH4hN2Vz<}h>Qj8Xuw$-$^!pohZa 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 ZLw^KnEj6>G-K=Kz_33J6Ddeg7{{Vtn|FHl7 literal 129586 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 diff --git a/JNFrame2/obj/Debug/StompyRobot.SRDebugger.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/StompyRobot.SRDebugger.csproj.AssemblyReference.cache index 56abfeb7c0ddd7eb96b915dbd6cc5e8fbf4cca83..ab7486c6ef29e88359fa195c172b1687fd7dd582 100644 GIT binary patch literal 124239 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 axcjc3zM$2JNV-^!=(VY8L{H?Y@&5n`*YY9& literal 124868 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 diff --git a/JNFrame2/obj/Debug/StompyRobot.SRF.Editor.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/StompyRobot.SRF.Editor.csproj.AssemblyReference.cache index d3df65888da8e0e1361e5e0a37a14f68f149a243..402e5c9d2972d847c62e326d72ae03c28afa8d80 100644 GIT binary patch literal 125911 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%0AM17*MCt806rH4hN2Vz<}h>Qj8Xuw$-$^!pohZa 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 ZLw^KnEj6>G-K=Kz_33J6Ddeg7{{Vtn|FHl7 literal 129586 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 diff --git a/JNFrame2/obj/Debug/StompyRobot.SRF.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/StompyRobot.SRF.csproj.AssemblyReference.cache index 56abfeb7c0ddd7eb96b915dbd6cc5e8fbf4cca83..ab7486c6ef29e88359fa195c172b1687fd7dd582 100644 GIT binary patch literal 124239 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 axcjc3zM$2JNV-^!=(VY8L{H?Y@&5n`*YY9& literal 124868 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 diff --git a/JNFrame2/obj/Debug/UniTask.Addressables.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/UniTask.Addressables.csproj.AssemblyReference.cache index 56abfeb7c0ddd7eb96b915dbd6cc5e8fbf4cca83..ab7486c6ef29e88359fa195c172b1687fd7dd582 100644 GIT binary patch literal 124239 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 axcjc3zM$2JNV-^!=(VY8L{H?Y@&5n`*YY9& literal 124868 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 diff --git a/JNFrame2/obj/Debug/UniTask.DOTween.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/UniTask.DOTween.csproj.AssemblyReference.cache index 56abfeb7c0ddd7eb96b915dbd6cc5e8fbf4cca83..ab7486c6ef29e88359fa195c172b1687fd7dd582 100644 GIT binary patch literal 124239 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 axcjc3zM$2JNV-^!=(VY8L{H?Y@&5n`*YY9& literal 124868 zcmdsg349bq_J2lD5L7N%R7CL>#hKiPhzd!-UiuZb=;wt;ob=PD4S9Nz)S9MqSRFbMd|KrDmWM0j@<6Ey@ zz4y9mm%xvCd3k}Fs-wfr$ylb#_+FS_SP(1<78SP^gsY>mOiBw^DH$a^Q%NdqYSbXA zPPWC8D*5kVG#(EG!29K`JK)&2^4=aC2n2@eZ)?!%FTt0|FZjp6D)4RKYVZ&6Gcda~ z7FUlBg+f(FhxF0LcY>*q!Bhw`6*8GJh>Q;+{|%Ya-#0HXmEdLK_&KVUj-`^5^Mm?- z6USF(qb8_%3&=@BPGDb40rDD+;bslbI zUrH+508TTs2sVR_3&IACUfc>azt`b1Ivl-9E}D7;sZIK_XDuVKKRGdLm4FgF+10u3@xj6tdz>!)i5gqGk7FOesc^x096J|;;;B52olc+u1VuB`wOG_$^;9%tk#Z_s za5Q6mKA~gyLX{>t;|uJ1`xb! zWwJt;g4(q*i3J)()C}-W=Fl_1qUAJz=ow%!K&YLb0TzisWedvB>zT7!wM~h56bh;Q zyki8X;sxjD9c&Qlr}Fa-LV-pQRIi=UIIFHv)nZCKw%j9OL)B{;V>k^VxL(U(gfInF zuVs)5G=`v*a&0OC?U18lNTrmWLpV(#IHm05gRlgZQg%`bG=!j}TD=0YX_2_v*acGj z3HP;`N~*C2aT-H#QjNt4VGb&(#-bHykf@lXTD_{ZrnH2TjHn#B&O^zxmHSXmY#S7jw+n69!Pwkp*WCE2hDBoYNr63|bQgc+=nI`8{z2JO5%>$u%D&J32 z2~>QS7+2GfO=e;VwFdMo8{zA$WG&1b=?%)DE|31~VVOzfB=6z-ahmS*fLMRkLoNy9 zYJCt^p!Ef9TpA;qswOLy4%n~l?)RvT3u6qY6$Nix7>p2xqBbrJQh~-0l+0>uS2Q(R z11l6sCGN5MQ^_pmC{BY2PG&J#AxuIgvzWvJjUuRO)YzfLGU`kvy~KTbP*o%Q08Uc~ zt{U07Agn-DjqG#+4In7NWpD`4(&6Ets05c|1g8lEC%7DJ5H_F^Tn<8kMi3MmH)b?d zNqDx#P_eO%p3?w=V`Cc=g!-x2*haPkDnHwj&cIE(y9c6`Pt$KF<~L=%4ogHadX@XcV(SX{v2>$NgwB8po8JDnD85o&tY7 zq3c>Ee*%>(DB;wkYMK)Bc)*5AI8oG`$`+h(qF5jlP9>ZuB7sU5lpiX1sbG9kgHLbWhy}*^R!elV?6)tZj^(mne8%=(=dw#J0cfu z2;-d0!~KqHpe7(;uMA`#xP1*|=O&kd?DPT+Bq*N*IW(TY@Z2j<`6R{|PO}KkCovcy zEJEdz7^DJ?A!<4Oc z4(mXVO{Ygz;y^OWU=QOoM!VPuiOmaPlKHtg7ibtk{q@at)lKfsp6ai+NI4B4xWC@| zd_w6|f4xN^P|<=KT$>Xun&Pf$s=<|@om-&kw5Qg*l4TFoIiNn5+p=+_~;c7F8j18^~!W!4*O`ZU`e$6+$<9fd&%PEiz}?Ja>yw-6EKh(*%OM zMexTHI;XltFo8fN3#xIivuRpUT}oGKPv<3OKIXqc*Tpw|T|SkTijbJTYD;G{>k zi+UP{Cg)VP;HP0|9tf3FPs7ku0u?VPvpXjiRe29uC1^QSE;zGGFhJ;=%Ip#(0+lVO zkTfTzWwJ`#2opT}1*k$2dl;t)1Q(Lnyb#u)3Q25gfrb%ONSYfjT5$pk9D&+)mzV7(Gq0*==+j{-m)flwS{O|_})Kuq)}D0h~s>0%O;d-a*W_KhhW#_V1uv( z<(eFX0*%n;R(As|jS)4eHmQjYux5LNNoK3N>ljW$2y1nBWrQ$=+3M~}D$p2x&dVE2 z!W@G4lRMVLF!S=>13AqiEHCfP4PhHIFYisi;~EGWiv8qH4g=W-ZeIi0xyfZ9JH0>y z35v9uYo=ynad7twXQXAL=QM}lNXy0qVFfDEvXKc?exILdFy^to_ zToX837iLJ@CkM3&Y_6f`IgKIQHBn3uMzFaiicFyL``koqq6Bsxx-=16lfrBwb{oQJ z0%1+WZhR0{Fq??oC@3==2S?r)e#;N4mzV!Uq*)sFkHBN2> zDlo#Q!1}n-)dEr$MtGSHgEpP%wT;;hc&S&IWKe%0SiLNxCgHv1gnk#k{LLH2ZR^x( zYad`3!??j5e~0R)uU}u%Gfmt050U(v_plr4x3fc_np$@4be2g9dUaDfk@)89f3t}c zo?_fd4F9ZZlugW6m{$2~^<8foR-xRCa|owhdf4@56Cy+jK^ex$5n&q2;W#M;8i%tg zVUsHyo7KpgE#S{gtCUs!xY@9Z*^6R;lP2f1NDs>qHqJv9=ae~URtQs=Eh#L91)5<+ zFWnX>zNeO^8^MWRQ6-*Asw|_xqBcduG|}e6_ITGYk=ZzE`VWu6oQuesKp%aZodr`! z%6_?oG#4MUoiw*>mTmL<>i=MQI?>gkr51x{tHLv4=~NuvzZITQH%$XS3&VQTd>Z_& z|G7S%ZHpz-;l_4Vi>KPqPrR^qKDBl3r?mQ|=9~L4QGNE{^ z`6q!&gU%cqmLF+VYPv(!KxP`$meXPCw_sB{ILt8$8m_P^KbZPC!rvGdT29rHo*c8y zk4NgmL)33H+orK_#{I0|8oOhq1}|3RSI5}ax?i;U^;^i--Xt_Jm|^jfm5!J=S6d9WxPkF|u8Y6c#F z8CA4sVKCo8iMK~{K0W<^m%RzS=rG&61qOiVd?ffE{)At8v<`o+0^bI%Hvf?Ap@tFj zA=}59%!dH;A)0vyC1k!k4}2YL@bMe)&s}yhes5@;Qjj+g@)pQDWc9FzevI6BTI-(& z+`eV#fLk`)K4!^%8~(FqLuKlS(OqA@vD*j7zBhWG{cFFx;*V?Yc;U*Cg9h%u>Fzft z)vTHJPJR2nhp(Bx%ZALG=ik0kTm9ct z^Z#$J8{>o4Z`*6lHKSXuy6LO~|NH$1W&2*PK6&T0_XP$6o^E|bRo6f9+Q2}gO<)T+ zhS`Go6USF(#PoDdh$&N)jHr0QyQLzvsU71ILw$1n1*vgF6<#(Y>Th{q4b2r z96&D3sX5KYoTckNugJFta_P4=29CPWy22*XE0svQ8jhqA!7R)R1v_JD(7~IIXt54> zarW^A!HQr3Qv4kKMR4@G@nR4b=)h9c0k4=(Mq(;hmr|KJHFHv|!`KT3?IUVZ$yfxu zjBS=zeD4&q|IFA6x(?AzxGMw{_#a}IJ>%~t16fa}YHA`xY9f?F6UexBxu7P%>Sk#o zgf(GAz^-EHn&<}N9MFe||1- z~;G=23pH5)G(IrN4rC%(I-d(z9lnZ4!ROIEC@3f}+w zMMD-mbmP^3(*4Dk8)mQj%@N0i1B#x1ag~aMGyqVrJh%5yqb+JlffB7KE>wzIOCnGu zcJHyQkLU&ui^r9gqd=Iytn2u~AY6L@3J|=(E);f$HCE0H>yx3w_}#+lpfis*vAP>c z5EyFknl~K$+-8TlEH!^@Mg?-*-nY$<>lWESN4BPkC$yUf!z%r@pty> z+3R@O_Hicjta#Z@$r~?!tGsvEY4M>oD_brqyl40eFCCt2JZf-_b)1||9#}K z(eV>rziqe2XJ5Rwx$xIB-ac>Oxd(l9(OoZItPgwcl=RaJx=Jrd66%Idc!?+0} zrk?y{=J=fqzm&gj)+cx0a_5(UMw=J}ilEuRf4SXKQN9u_ZdFTL3YAhtRihY1M7+$q zSw#t{Dm4*niz&%WxN26@Qg9Uz`e`|ux{i&RLyXjvNy8Z(_jJ38a#EP5kokG&C*;YD ziH|j3BJ{|s#$*<}i~dDVz_opig)`s)lT0cVPX{BZs2WLuJE=kUEC`7UgT?wb*0^&K zhxlRJ?=w}cO^sTLw?f^~Ov=E{=IjJJMEs@CQ)*9pu_%A+=A#CdC;UaMWU8E#tkcBKyN zf>vVlCwu#HE_Y~TR!@;=A=ghfL}P7a+=uXPX-+)*iRYFzT~oaNzI`U`mG{A<|K0oN ztrdBhful=r{qVWXs}>D>Y1mn(Hs5y11-DQ5;-?WWJ-BYtt$Y0M)`x$0V0`iUWkYIT z9q`?rCoD-mbm086ZYiI>U-H{ipTFcL<(RztzgJ(|_r>?0`}qGN`OkLmKV?nx4P(DL z`1uKAp4vR>!<(lR9X)R6%^O}hviv!HL;U=TQ9r+M)H|~S?&h^Xr`wq)5Q#*}S_+C< zTO-lJXf#?_gxuiJVGBQ%QDV2@1H>M&>)J*V%Or`@S@IV&GiMs+PDTdqHqyPQF zBYNC7-2Q$6m~4SxFp&qp*eF}t!_W`$AF_X*$-fg^1x`|4OkMY%(8zD@csE$T_L8df zcON}+PVWGGoeq(Y8Bh+}&`> znzP4z-8_Fo{S&KpYns`)_5LfX3yVMf;)@~YU-OG;_e{Gl5gA#1+un`!3%3>i>cWxN z-SN+hpT2ule%Zxie^LY473WVaIpVjiWrt<&(J{64^9h3n{&4;~fhN1i7L*Lz@nA`f zs7hf)ep!BTYfCvmlW7~OuGHtvo-?WHk{UL)5h#6UO9S9YAkWGb8_(?pT}E&wW`u3} zoN~G(k8{h}4GnRyca`(GH#SYWZsmu=_8+#R%f8vVC>FJ1Y&5!%nS zSXKU)+Q-H{tHbeu8_#{_k^{<~LRAYFQ&`y4Q*T^3oR$iupu9X%UQt+BP*fJNQp-dp z5I$3a<2U~B(^>O0+YZdU3dY(&M^vKrgWZkNqDjFS+>j5EU_SZdOlQ^8Y(^mXG$Z{g ziakQ#Fnr)~1#XD}c-S0fonOWF_N^%$dIe9jI*8ZafP0cgnAAZ`#i?KNpgGJWzkcm4 zUHIdPc<}@WZvvGY>z#6`tprNOP=5>>KE~)^!EnBB>~#$tx9KbNKJMgrtu|HzJJY!pYrO8w|;ziWBI?2ocGIfuHL=*t*54cJnw=d-{1204SziU z8EvC_?w~g(Uv%SX*|!Eg_|?FRKimD+Uo86VwFBS&BKmEm*q# zvd22#T7KBW8^`~v?c&b&|8&UxA0Ak^>WiBf{_~1QF8X-V#Fg#iZ`0SjZGma$ZCrQ3 zF9Jq4t&1TnC>8}_cD68gim|mIzo59ZT#15OeYsj-t$0M9c3od#*~d1N`AQ;gG+?;& zp;!bKcCGZhar20yxxpHw=ZGO@$uFn#xmOf^nd(69D0eT4#kfl|ibVj`VR|s*CKC@W zSl}s!+3CKl-$~9T25qINy{cX<<;pF^7m8nkrQge`@8T=MzOTR+-zz@s;RwPjm0T)W$)kKJ+A z;R{+O-mXp@_x)>=GYe8jeZ1|L3;#ImiOVM+y6<@-E7iTmCmy}Dc;-p3T&f3zcOAEA z)rd_)jt<25jATKW+d;SFgT~F)vetrvXi2_Oq!`f=o%G!fp`qbYbc{5p=~PyWfKFw@ ztJ`BISlR$B?gpM%p`meDgd-@T#&No)?HC=hG~yB(Qj!t=&Nz9(TM-t7dbi9FUJ#yu z%CpSao*S?yct9ISLdj%QBExg_GMwQViLxjb8K*7D(@!y*{Oh?r#bbRwq463gcYReb zv1L;^6^ueys=@*dmAeju7mQ8WZDt8(C{Z8486EHHOQNSMx^d`XnkuOn3_Ig(y70p5 z-(OgL^|G$uH8V=vZdz8GtZW=LxNX|Dt#7=3-6><%ANj<9EMh$tK=LpWogFo?Pk32j--7VlK2zd|V#o>;% zxZ*O3Drxj+6WGV5lALuH%(I!$nZaPyGDGi{ zXkrDC6xo?Uc-S7QO^c_N(hr~2RVwj_OJK)HGWe(Y3oXlJS<#8L^^xe`yI=_+xF>}bh|K*P)!+uxn0w}1m45CxCN78aIOl;qAH zyA|+y*`nv1w?W*FZDvAj2?cd9en@m*V?MA4a0Y&T?9p@1VGsVzY24_=wq=$+&*wh1 z=fDRdIooq|QoNEsUH3VwJqHqT28cr1a|r%(MTwaIZs-nj)Q0vxQ|^l!ht;7yHg&w+AS@Zpaa zqotAJf)b^$wWM5)DrJRG3&0^#?KyCFp)W_q_rm-_=rf9nTk*5SRZ2z)gT@T%#4qa{ zAY+_4mu=?&&4Z6;Sex~i*8j^q$H=@vo^>oxP#?rO$;mB;E`{My2`O-P5J&;eVxgqq zJk1D8L6u)TB(`kT=c(Sy)4%x4V_Yb2+2^ji{$tvQy8XgtRAUsUf%GZ|rDIMy)=PDEj7+_+>BTgD*dRCx~%*|agtI{nVZ2cdK0 zmMGin0+oIu-#P)#m@tl0)1qNbZ4HCxc0v0&aWIReW9vxMp~UNYD4}lvjMd7R(Qw(K z9<^&Ea!nj)CfEuAwn92v3O4kcsSKHVNmq)7x2nImxQTu~u7hbWeaWn!JA%d^0-kCm*jlk3eM&}QUOL-2PR zD`eQ&L#!B*m~hc0AwfeVhwQ9z<7vmLKrL`rwgoRev%mu{o~jdPfYSqbnME|vj0w(C z&cG*Puv@oKHNruKJBQGt2FMA~VCrE&L+}kxumRJ;6-*9}e2Sqahae<$;4|7BkIV8v zhx4#v!UVZIlgatiY-=l7h|05Yvj4C^xgjf$mv%`&;9cvYvO-n(-1)Q_N0~el! zOcTD4nQT{rvx|)9t<&J(tz;ytX=;+`b;fy)z+ghB7O_3h^4^C&d>+U{o^H6h=7^AX ztQAf1R5=Z`0uZa_PL%SvrndgT8e>@->6DfeRjK|&73AE1P@3aZt}OiYi?6CnCG`w@ zEW(PASiZ^{fl=ihdiSfZvbf`32X`!Ab&3;UK}#qaYh24BkE=@ehpTGrP$T-O4CJXh zR#degLvUgUC)if>rwb$4^C{X`D2e(8AIKn@f0aq8Pah69LjZsEYVsPPT z3&uF$i{AHX^1(%N)2?-y8E8eNHR=ld1(w0oYdj|A0 zKDbCFk|COKEZ?&)l9e?8dm``cWS8s!%Uv4(`K3i(3MXO4c@{5ES_~c%FD0-d4O6AI zWUZ^g2w$}qLt>p6!^?XMNuCxjC4yp0;Xi1h<0>5T*kC1WpSZL?a5W7)RXzt)u)z_~ zHObZ#D_%d4fiT-Jj5Y6|YE^%_G8>CNT`kqz%BS%sEcg=N&BYJ}Tr3A39b~SZ`?!;H z24nKNx!hUvDa;nQOGLs;U~nd_Zb|xQ&|n%_(geaY=FSk+E!iWmPa6nwVDJlvX;gcu z^tvURJD=hV)h*dVkx=8jWr8O_Th$*6DLi9gt`-A1FCA~Su{5~Jo}Bsbi;#_$3DI^p8)}ZkzY^Cj&4MdZE2@azXh_!*xi81!D<1_rAt=!qK8wg8^ zZpe(Us!k`ffCjBX!%EoxL0Y>8>AZDk*QlSzqtAaGD^>yowQINx!4UIyZ_?W}T-fue zM?>uzE>h8O6XwPGWxoL7M&6Y}BtlsG1(RHd8APTx%=&e|KuY32U&h)mm=clj61ZQ0 zr;EzTvT4dv2q{}(+2+X5wI)>#YEB#I^KG3%sVsQ!Pq7w%oX|44jk$ zE^SwcWAKR85CvW?LomL)o3f<`UM}qU6lW;#a*>M0o3OTQc(sF+m5~;M;k@=V=M_bW zq2=wm$V(lhtcMg+J_QtNlBHy!VIt4)yqI)4Az^NS^xc6kP2F3FuJ@Q*J-jB zM#>@te?A3TOAfWum=or@q_z0h%!2Jb9U7=Dk(b*N3nXgsrzv%K!O-6uUea6qX|8lo zp%YaBb9uNVF&O;vm*wF(dl$dIHh{bZJ(x5dJg|x9xy7^q;dJ5_F8#Z^GCPnoU_M4EV<$V0Pg~PN9Wi13i3Pu#M ztLb}cX5rcAou_G)?c7a1yWv#xRf@S5tCECSQ@8fL;go3yGJ5TXV=QKe+mXk#X&DQ(Oh z7^;dnsW|~Ay(;G9%%|u=RWYYPlAzTgaThpKO{BE0nF_e7ISRvmW-4&36_7gUIpMXe zA9jik-h2wMg&yjb1hJ?@h}FlagORP4q+ynvIt?e3;{5<6i)a6B9~*3Hl>`}?p?q^P zp(Mdd7d57IV@6Yzgg%>XiAN%oXO6*;+Ww(DlRuw&C?b?+ibX?CSSSy#Ba%{It&Js5 zWx;ExIhEk+I+P&%yaRRe8X_sxRLraYJX0N^P7)#l)1q;y5UE~<3R%oJX$&DBs6=8~ zPUvK0FKjw=2)=ykeNYpTT^vb}l9p-L`L9@+1Okfc}GX|8;VBvkRIg^>iM z7Fmm&5pJ_0q20};&7i>0@s5QS%U;k3etDvy9qR=3dP=1`hzEA zG94_ipp8AE;f#NzZ|o62KJ_tZV~@ljAtNw^mX^teeAg)n68)yP?tBU} z)H=r&iiDa#FD7;2t9NZw^Z%|7UG6d@*}FeID>?2xg3Dr^tPt zMac=Qe%a?)T=^7Hs1ipbN)nW$wVTvs6RHMJwVwlSsZFs@7D4SMc3K>1?QE=sE*%2W z+fD3z`4mv7-NY^q38{i$3D@J?9M7vr3)yG2ECyI|y=f1H>;xJ1OWye>=^;D8l20*& zwtR#nBz!;&CG42FqhRTE7?iN!3d^CnEPOh3a@e2OGgcCkrA!bxBTLE6=dHui%xwfZ&eu5AYB zYDKScoIsO*wW1f3K7}2+TG2~1Nf?xNTaaCr+E`nAW~mClv)tQ(4j&%WJs~lS6M@oi z3(6%~H{8hj>ii#cevXG^lHeyTiAsv%d2%31qA~|?LQZ-TmC2k>ogGS|GG+2H%)EPM z7%;O2?0_({nEU?+W|mBnU?wfW3Y(C#8o2Tdbko2hBx?ml306BT2AB6XQ+k5c&X-Sd zg%YfGacD>hEB|EWWh*R58ULE8KgG_()_5G9xeUS}^WKK8l%LCRVbG^&i{w%~4Lf0Z z*?#b3#;s?3p3I=dAlqR)86kuJqJF0*GsK}GCCrnZCe4#&lbKjT)lY5)hXQGhs@55U zYvr6+I;+GhSr9u6&8r+^IU#qZ^o#V+T_EsyYF8oshrz|1c94Y0h-^$U3ITi2BI^i) ztERV8TOxhsG-m?j*nc>hO)Hgzi@^N9w1*AR?6xi}U^y-Hu%VNh6GYMLWwvCyGjXqO?JK1+Hpv5B@5NVs*4DLI`@F#=O1Up~a|A(dg|CE%8W9@?J#9@#KoU!m1f!&~9U1f_Z2v zF08r@;zXhR!m1mCK1Clcth&i133k%*eCTWj@Vu}ROE3dLl;^XN;`P?s(Miwq+1T4KEvy7Nb5zr1!FHi6;q@XGp8jvF$alB)_6k)iSZxSOnY$$=s0~7%u>|@*RB#WVOL&N$1!E4t0P}Wo(jPfwGUro_p+^pxGSM&- zwhNYa5m%GCEEDwFeV~iDC_)S?@6(Z_U&KW*Xc+n6gd~c4Z~w!rB8=S(&@0c5oH5Tas?LxzE8woK7quyYB=ucBJnC^m+*em3VvUo06m3GvwT@tTL!tq8DM`nim zLu0UW^M;-Ljid{I+@RaB?xaIU?YfzYgq*-stF$L;2sv~^>1MG7XXwcqJ1vHocY;;= zlQnj}diN&9dVVl{-FcsEh-Em@0Cybf%6te+)io7is4a) z%Myf!4won5iP@zEQ1EdS<0whu2s4)e%1*1p2-14{BIyB?oiA=M?O3rn3ZU%bkdP9X zY?oG-hWyW~N=3k3P)X(y->5E45n`X@oz0S7m!_EVDUwiKnv#Wtk;vq`v>-|6J`wjq z5(<)Rq!>%yDR=2Xl8r5&q6q~_Hfd-)2}`smWYuy^_R-Ur?5KM$v$EhI#*p%MPg&Vj z90y}Q1r_S{bI3!(N?gKST5VaEpkB$e>z1&EPN=qwi7<}5U6b_MGG@r9_-Q03D%3uW z8)5D!CDk42uVDOK>EDz7w zyZHUJffEsZZ&Y7arj$fVN((BAiq-t`3gZI;LpqDW1TM-iDyYZ{2&-oR)tmDL9ub~O zf=#$_d#?U#I+g*wy)2ucRsi==oW>Gf)d0rglPI?pQPJI9NJ-{BN#M-F%Fvkk-l4?n zoF;3LFuw>cIHy=0F~mP+s8TWtYd#?}z}L6G88DZ*=Lj+b93sgK&EjVRj%%zF=5{gg z#HsuR^5y{KEw|ol40a`{e1UkCS82*pmnYlM-3BHJrwLSfCLnq3hU>4d>XhhK15=9L zK!hXu6Smj2LXetS`fV(lnud=Q1*d@3C8581p?OnNnE4k7Y_=LU^T_v7w)@y+-Cc+saj zt!g`GzokcC`0m>BXU6?~r}gRsh9>e*pG&A;I9Z5jjle*%W@21y(d__3=!Cp61zx&OSBaR$7ecj{gk>5T(c;^Mb*Hb|SkCe|@S6WvR zK#dx9ae4uxqJoyzqVkebC0bNktQM8P$P{E$smxG|ct_o&Dao`FfvF&-vmRyoI+BhP zK8xi!Y?2$!X+MV{NH5IP!r{0jgjg;U9EDimWlp0=46zW8-4M9G+Ek$s3rNr#NN|K$ z6879?Ek=jGt=5e8+$ISpG$ii1NnZU2547htrH}*>30?!1_8GftW%HKLDosu8^+PL2N$^`;H% diff --git a/JNFrame2/obj/Debug/UniTask.Editor.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/UniTask.Editor.csproj.AssemblyReference.cache index d3df65888da8e0e1361e5e0a37a14f68f149a243..402e5c9d2972d847c62e326d72ae03c28afa8d80 100644 GIT binary patch literal 125911 zcmdsg37izg_5TisD5zW_DyWDj2($MEc)%{l!m=!TaOfiR&h+jM%(2d~upj}&I~o;& z!7Hxuz~Ij#CK}^GBoY%vG~gd29*OZp#e-iC6O8(+>h7wps;TZNn5vcjk005iUv0nR zTd!WddR29p@4K9w9A8D{xTeNvDB0OmkXKOPFZAcPB*Fnr3QItyK@2 zM3bYfp{P!N?+=EfKe#Rd(X^ltlG5LYN^sNH_^jZzR0bhMH zT0&ucTyAb|<+xmQ_bN}V20k=5L=>0&xxkMUot+vz8yuNRbgIXetC|s zI$MQJteP1Mroy_dxeurHwlsGP!LuI`3aYR{mI~2(30=LDS4O%f~s$lrh4Z6gx>4j_>`#h`s|e+ifBnNRyZSm7%dA$FR1bh<*A%{ zJ)!YB7cM0#yfJHqClY#cQYsn@>&_}akrIY&A*l2P(v;3JK&ZXJl~aj|pOv-ZQ^8Qo zS>;11L2Oz1QkrscDI6wS34<~Ad#rxIoTq(BAiMj z^>|gZJ(YCU^GPIB(whjX`yyF*PUnEodZRn95|uw+lJe{HXi$&qacBLX!jXw?C1?Uo zvI%G=2rJCX$gxC2WIcdZ#G*+(nyij#L1!aS187on|Cmz)ZfhDC&e3YM0JMeik4OJxkvbBRjLI$~6mg3Nse~2VKv2oj5?1W{31w3WE0#{8(zA|2rp7}qaUT_h*rbArmKKHBZzfbs zMIknYMCE3k4V)HB*6Cr_$ePLqGW3FKmX-}C&d{TqX$hQ`2@X zu|z{;k97B}6^(S8R#55kkZ!-4P&JKon?$05v(AecX~Al}RSUSRUQ&6Hv=)NOmX;Su zV}MXOl^01Pl&JWu7mlab&#I}{;~^~^TJDk{p%#ugZ3LAsZQ+>10-=6t;g~}z(EwTJ z#j9fhsQV1dm{eXoy@{aurRBxbIUux8<;Bw}B`Uu*+nh-`cAL_6meEIl^x_Y5>&dh>>!T^Litp7kVh-g z2p46G^jbaM5{pN)Xh0W8)Sf}&%DJhaL0V+>0%uMLvn&wfU7~SjXKkFe&O|7XaPAt% zQ!?Aj39Z*Uawt*JS*HkUP3{XSomEYx2pD=nWlKvDFs~=nO{EAJGKmV$ zdQqY_9)rje&6CsQg6fvGC_%rS&^EOwK~qUocGf9fz*)Nv##-IQlTayLwt=9+rKNP) z_Y*3oQo1aiM5QOP_1$%;XfhPht3YACIf_uuj!-jZP8&hPNt-cqSRjl;&6qi)5)F`b zRTc?&5r?OlevRLA6WEl%_F2=$*=xrV&b1 zeAaV^`eabr z6;6{$RCxCO9I$5O=v>BB+MhEG1XV82pEK_#bWZzohEAf=XJ$KpXsE7t#`h31X2z6) zYHpMj^Wzs2`mN@2CQ-3jC)FDCcw7s)Yz?E5Y817gf~6(ZsFxE;rjlwDkwisjo!_?@ zv$9amV5ai>yheg*mzLk>@jz&w%J1`NB^seAYd4}VOICpL@hM<~fw|Y-*$}5ueb=F( zpfQ5doQwk>gh4J8;rmcDN&}GXpp3#c{JxCB@{!3XEWJddWSzf(yqUX+Tw{4Ef5T}b zXbNfh8x9ME6{!3Thg6~gvLBeif%)Fg?e zlc@Bp>n|H4&2i1yVNms#1g)T|rPW^&uO_ri)n5`M5*3_v3~xkM6G1w?6O`(>Ae)Ne zd5r{BE-i-V@j&RFis5;*5{-~`jSkIUMJy6=JK2P)(Q$4nXb@>NI?kLBW}#|yoLfjV zPS$mr2A7}~KMMB!IeQ|iPBXoUpfRM?X{K{P7=fzOOsABn{H$~DCU>cL*je*bDwv@c zRJ*j?JM(%%=Tz>UA(N=^3$slp7_2qui6kh!NX7y&7sa1y(3;a*ze77g0|aCx6CBte z3~_+~*Afkq^`f`I?p(dOPQN$>%;MY+s6}sXD?wvOTlD5KL70MC^yU&vG(=EJ&#( z){ZfOM8#&EIh|AItXC>?iULJzLpDmsWx*mylg_VS>=Um0ffpmS~79c6V3|hP2jbEWulZ zwT)oy?r>-!XaEVjI~*7wlyB|sa3GYZ_$;czOy*`ch{nZ!Ph0=>-)pVTq6XdP3>e5+9fBP*Qkp zTnCqVBv6eNl)#KgY_wAfXXv|I;mqru6wZ)IRCw0DeRe7oSW>TR@j%)c&9=%Z-=5Y& zQ0dZqdm00T+9}_jMkrD7S^M_-fF9Kw^hi4hZd_tW%C~dc2r6HiZ|AT;sGsuf98!q} z$lA9X>>Yq_XXphLFU_|zuP2mF`F4g(qQbLStucokn3Zzh4Ptv7YqiF`p`ZyQtk$^m zLD<4tt#PM66paFn!`}^(!60sYEmi`2Djn}hMf$(pb4b8 zCg$~o<|)_2kV#Z{7WMOHPi4!@p$Kf;X>Bs*HxN|0g!*~@`w5*}_49l>iAv9+oR8(L zUISrJ`Wl?=d8~3i*LH#?kWkL&$_8NxtDMi3T%tj;s3x{pg!ec*R1@2_u&Rljnh2Uf zLN&1y2ZRNzYGNl!iON6sz?SYzj*Rp|g6C`onM++HnV@2)9Ncmo`6fbvRq1?4R9Y&N z(rUw6XR{VqVn!y3Cb$+ATbif`CvXI{a4f3Vr`q8KPfaA7X+-|X%fS6+@cM2-*OQ)W z9AjQLZk2AC8gOeYXn~cY7GR{yO?$T`opnKZW(EnvS@m3*+ekEL6qqy8*&dHA2HO#u zriT)-FueDqX?o3+IQUx7WYnc5ni>;&Z8!yPf=_@)1_l06k48Ju_3_i;5B{lOnjDAu zf3u9+Z{|dCpV1GWIPas4Z^3Khhr2Z}M|1N+cKk0iD1DE72VpxbN-h>97m1Q?H%+F`Z8InIt2E%#XFm7LFa?lJ!pY8y(tij z_)~C<@OOj~pv)iZKikA6z=qB#dTipGIfkLl{a!AOe7&Gyv6;v!}aAMu5fKMdm_l1E$DtKxWK{ic}buv7QsvQ^~j%9y6jg)f^55 zX6T&_u_b!+oMwzSo^qX@vPFt0GbJjb^<6J9d*>`FZWjsXR!F0iVX0B9h7@;9`B zL#%=TN7&f!PWoi7)vJd(&yL99*^l*IE<6$0oEE-CqJdOj9`2+!O`bcw@AU2MfTj1l!~3 z)8HFwQ{Q2{ZVP@#`{|zvcU{Y_NCUZIY?vCz1sceuH6Yp^YM={>a#~JK zuhls@KL+0()&u+ley*#Zn4be&ln?yZXUG1zTOZo}<=y_vH}!w$o1;G7^UdPDH(d2~ z&yMh#>RZ;H^yv7HZr#1>tu1fgy0c{PDLroN7oYH-)$3Pn{oB$3H$2~G>8w$E3XWd; zN$Xh!d%xJTFW6LlYS?VRL-*w_#D{ota9`)|GZoHK@B zJE%fGZbanSbwx8T*tyPkIN<4#^A@fexU26tUr0kMc5b8jlCvgNh#-Dr$8t(b;5u#s1{!o_mo$>0><;^dIDm9rJcj0fF`2 zT!J^tQ=Du4%2sREo*^QrO4KcyYV@T^5Ff`{lK$z5Sk#|i2)#eg1+bL3uP^^)49P|2q5J;D}LwzW>PQX5Vy8W5IRP-@3Nf)u(=O z<0G$>eX{bAKaYCxe;+S=?#a!EKa%g;u;uXM*KfIT)YGlA*ClHnxFa$7iTmR7_72@K z=;ddgdh}&y^86luFuG~pgR?$-^uC8a^VKtA z5WsnJ^95GGUM$|M;QP?#Zhx-g+dlGEYOoD2X zgg+1q>VX)z!VLuXAbKyby1ID_2cB{@F+b1L1<$(ehblSx-+G^s-b2bVAWlcT_n zpbI7ZU=vivppDZ6`|dS=xW}p|aI)rBFZ_XHvahiyF_8C`h-L|aZ zwxTB=KVkfFIq#1D_OV~?Eze2z8d9?Hy=}W!E$sD5|0^zTynpSFHjVo9n}M%9_2Br8 zM}NEVnY%}Z7hhl6xBAtdUmY`TN%ZNF^RKwCZ0bqTe_s63+IzGKIZy1@UmO1NJKH|^ zdm!(Hu9GLOX}ojT7pJ{6YUuO32fugk#KLhW_TIgD=h^FMO{}@GM!>HDN zieAv&%S+i%yfE&b;tWb+d5Aiy5iNjivaI8|t26qE46YxXmJrsO$AaYCvd;4hfWyyg z0xeL=24o^(d1rmaOf!?}w|?QD7)^%bg?PS*{Y9V4&$p5>=CYVW17A;oIW!2s*$+SP zyHVI>WEcR_rOX8_P$tHf(#o^ANZAED3z)0*TJ1b{8#U>&2hR1)n-$u#czxwh7L?!e zKTkIdih+ebMWtkB_?U(}h2~z1LeG{`~48yFYB{@!riF&Kj{Uf9aF!w{*O@{LE)|jQHQy zn>yb4#pzGHH?m;Wr}tj;`A>d(;|Jr%tZW-`zu`Le`KDaEoYUH4u-IySm=j? zRzc<=t0g}#zo?{43+8LVGCjWp=mUIc@3AaXfG7)=mJ#Wgh4X3Ouh!@ok(vE+%>x?BmKYVyV-`>~k-oNYGck(Kt`+U0|8+O?HgICP` zVb1}>=l$#S;iLX)PCf4G^TPA*RbSoVYanH?QI!upTz-katRSx_Gqkk)ywX5(6SSk!e9=a;AoVPHu*4k zK(5RDfx{Lt6iw$mCM=Zg>;vxSz!?yi>NWEOH( zUwhvx$|?#Nj=C`!C)Zv7w450l;-%dp5CR8 zenMkBlT6^bSF->Zk1b3K!Ss%_XE?B(zryUFW{$YFJ^Vk1R>qj3> z&f7Ec6yJb5hfM#)^dAqe>bs?J`-!u*b?twu%D1HEf3H~g$dDHwTetG=f$=ZTYyHzt z-@d2U6W1>4ao%C0KRU6Wzq0Jt)mu({!5HR$bJx{>Tzg9C^FFQ7Sb;;K3nLT(N8wCR zbGepZRu(8LFDS?_EDhM+n80TCsoDBAJsys=Hd$XW$~vC6Q?u4H!5%L!HEX>$m*C9` z@6WYFhXc<8zn3-n{OJoj-l# zqSD7lE_?ojWBLUrG+f_r+Snt?dKW)9x9^{fuDG!L&u?saY+^t`3Vilgt@ensw6$-jNJ{=@b6KH0c!$DdMrM{Iv= zf9&_`Ufp$Z-HH*7*T>5L_K#h!ywiF4S--#Lxq&y=RX%#ebJzCRbpH!)jE|pxVeGTd ze>G}M(cF(aZcBbRdCTpOgwOtH;iEf7UV85pUw`u36+70ycJr{i2A>ss?%gZ@{M2hV zp7!z^2B=zodemS0{bJK--waC%8&EJkn-3;!nd9n`l5#yS7;MRFZqC=V0?o7!n6eR` zd{efWge+@6%({;YLhV+jfh~`yibX>K@E8veMB#^7dYD%7fSMS|Xe*Vj^hF1OHiOtUz`o7vd?2rBLyZkS=?7XmO zW8wPSHzfbD@!vO=4vk))_v&BHI)B3ZcjQGk{P8EgEt9XhHE;B;oxAS8>h|VufBl=c zzMk>jHs9GV{(K$au@MQV6bFE+5YCO0F7a~l`KK)273^D6soPu375wmqL3cdx`AvU#bX8vI zO~by?eW?}KPbwb$vzF2`Q@=7|$GxA7>eK7%>)-Y@up-;=5uaY`0bMI7&nwL%?~+S@w)ZJo{WP%sdVpI=g>l>`e)TC~C@lnW0=!=YyE zM6dp2?~C)_G14-ZIb?ov}7fpKL>*LSc@?!GL=G3{<5}W^c+{wQ^^OY52UikdE zaPrki&HS#dOJ;mG|G!_Jb;&a|jj!MI#{KboO^=U1LH?#E_&tsy zVE%4_VOXANg{yJpcpHmhD~^}|ezX;DEG`%O%L@-s?L?my&AK1R1ht7?a7CfQsiW~i z@=+88R=lNi?`$r=7-Wy0K%a-wSs!AY-p=@MJ* z==yf2ipTt1_h#Ol4=-{R$_As<$+4nQ+)NUs4dTWoNb{KiggQMDOT_`89fon33;{d! zOweFYPUOPPBN5U@ajKo5!%;klTWK?Plr<9KJdHSv;*?~B=Q2-Oa94y4p+h_|P^Y(q z!RF}@*nxvQR^NZ(YFQ>RU=s@(x_c4>Hd}<1n8bihldWlp#K2_1#6V4ID%g2!b<~&2$TbkH9bqa#heKX7h52hzSTcnL z$2!5Rqd|(?P|hD}KH+5@ArbBr?o~X(Nh3Bsb>KgJS%xmo1-B%<(VuI%Dbc!+$sK(uRdo4!`^#U3c^w8hLEZh!wAPY#jB)d#jFo>Z;uz z=6rngu$((z5AG=6u;bN<4?J=6$(NscU-^X}4Eb)<<(J+uv1(%1N!3UA*3>`LZ~yLl z_J4ZOsXdbu#_ajkq)+epEH{4NZ4=(>>UY>Y$A9+%S8KMhMVIJ8Q$hrf!WUX|{wKFR^bolVfuklva!Bi`A*bvlyRGRiF z9+-6;%(*p!O{a)Wh9#OIWB!Zvqf=wC*0An3?tE=dwSWvwBbi+2>8txc{olY{ zm$dw{=cYaVdfvBr)6gZ4Z~ph1%@wiHLpncu{m6IE{p*kuPOkp!Cl9ZAVEcwaeR`d| z>(MvHSFM@y-~aBe8n7$(^!iJtSG;`Q=Amz`toU%-n=@}1H0iC!pSf-RVVje0T)$~$ zeD!}W&ingucZK^rx$n3&w+(5&<(?}>{%8NYrNeL5fB(?!j~gy@<4#?Fa_eioeD#bN zHgHU{iA1SdDOf!zE-3~Fe-#Bw@`|7mSPu$M4#NQjF934PqNa@UX}Ehf3cm%LpY!}B z@R*ar;wIzS*gz_gj76G^$Nm<0a@EpUd>@^h2TX+ zj+s@i5b&gu!s1*~h+Kw2Lx?WOS%!f*|MR=sf3ac4{>Vui7ya$UMf%I{pK!vNxBskY z-FY7`?Yep7n4^#R&j)v{oO4ZHQ)Jbk!|uPJe(QBz0}k(V%WI#1p}lbJGskr-JM*pH zZ+x;O_Kg3^%LnY<{K3cZu3m4yw)QW7+<*Rzd*+{X`SR=jzTn;AV@pqc`ue38v^@6X z2S2?zRT{tZ-Fv1yHf{Ud`wUc_QMSFe)~E7QUmYU`i7L38OpFk2BNoB4r5{=l{c4`YQ+Jd@$$kVJ+I7ON+Y7`*`OaAoHrHZ6@XI+{P`{T9I;9* zshJNmtK2H6!5-gM_+jQFL3Ph3hFpWMT$?Wxy+FQl1=UUPm08(UCbc3}XFML%NhAi{ zmPk0xhyINKct7H~pwflU0(Ih$!8pNzAk1rsCW_SGDi`VK1h2Gx>1J$cW9H^Nhb2Q5xTM)PYIbbO&Mx=xZvkbL>#?lI!XR(?Qh2_RD zQx^AW=;2pt7Np3z zQk-_d*Lw;k*t=NDB;jE!F=bv66gif2kzDUmHOn}57F_fOPh{tfz(Xwf)0BcxX;b4_ zXkG-}|2(cB2V*9IsdUEsIGh3xCPcDpaVqNDv^cR5)1FieV2KRlzz&2y{C+Ha`Gym( zOpwH~;Zc8I&&okUL^RtX;OHf%0AM17*MCt806rH4hN2Vz<}h>Qj8Xuw$-$^!pohZa zR1ILuNp=~+!GG%YB)u7j%>kTf`5}G_K@*Y3sv1(rNsaM&5_GVOTm@5P#*7zRJ2@}L z(IVdC+EVfuTq4LmnkEr66nPSoOhXZTc0o7qsaRmp z#NZ^lM_7*>8wtXPEE1FmA4j$XyLup#cn4!r0jC|7Yf^aQ0=Ty*ngmz->0u)hjwM1= z!6)GWPO*e`ZY5~cq?)MMnJ+=B1~Uq%$gHq}PGV1Oh-={H45M(Do5dPz$w|@)nvSfY zlh_|gP6UlLha-d{^S~+*8RnUy1+*YoptS>RaLHC-0jMSkML@6X02@j;uJiQa|Fk zQL>3<#?Vygdm22ldprUU!HL0X7i1v=S`Mv)GinGCY=)RKk+Sbp(|(euM#YXl2qH(gd+#18+qGX;L{}1(x*6 z9I!0DC#70IwGlB$y&nJCsw6^_LyH6tOaa)d!3P4y_@Bz8lNG%(2PO``U62b;xfhgB zw^T|(CC^`8E`k*i7t^i=D;3~~e{=6x0?aF-fm9rnsd3#6$_MdVU?ibq)cLMwnOfJw z=gp&TNVB>JUnm-9@F;aTJ_+u5SKyOKAvj~%pmbRU5k+o%SKymizD4}gp*5PJ2^b-X zD(rNFkE)49jXf)&052rs`6#;uMwI(BtQ&ol&6`Jk6w0L&;PTr-(KwSf8M|1$i>hze z10gLOT29_vW-n!)lIp+&~{!nlIA1RpvFC404(Ni5JjdDM@g@*Y|k21l}jd3e>9 zdiOQC156nwX$d_z5uUrm3(QXE1CVKnVdg%Gr0(ES@5dM>J&HSYOE-->KO-E2Lus?h zM7IFZeSrq8bu${U8yWC}9?m^|xM)_!)J&ytpt-(90oy45PwyoPUU+(s+}P4e$cJJqd4>^_F4p#uLypMa{B;li5NK9fD^i*+`dJE2UB-% zrZ~4x^4kR?Mo&!uPyv`F1ql^!9jdG-O;O6#D3SzTH^MKNM=4i=%zzAn3p5rE_o?L| z#VJ>UA&xOGH9TV#Yzy@;BK>>XYDpB2a}L;LZTi@;AQ)1{fTl;D_(a z6fb}CdGjd7(DFB5C>mzc)`nK9A3Wi)>2u>DkkT@+Rvk(t^(a5THJa1S9GVLbrdNn~8Xk3$m-FZVfu;%XlU<~-`jP_>VP zR5aA2%?)I2+hkK6)+T6XDUU(f@u**=Q40c0_I6D+*^$PVN3n&o9ccn7f>lUSz}6Yn zBA^ZyoruU;5;_)PiYCQ?a?hS!+yZha<8pIzE615fmu7i*0}CjcDUYHF9lKRYOG86R zUU|Nv(Qs-w)(p#CjUq%pxG7SP1~qaEQTk};&;(=4y~tYeXz0M4M=^#*LkFp7tVt`g zmUZ|nGaAxDaGcgLmeZmLF|6EOmh3}k8J9(|mf#vgNNR#=*GnDb<{}IxxdEj7vkv)k5$LTbw@ghJ5&hT@D z1>LGy*fY3K?1O4OgTn(}`6rga}y)EuBLhMcSC_teI1^c$*0EJ@7 zK)3gBGZ*8AumcGpQO_c<&qmR7iZ(-K9Gn?M7a`bSLdivkCKy)kK1lI&%7HnL0t`*3 z9HgS5CM~(BC={lJ;H4OCtf5fYsSO63dwile6n5gyqi92+u#;Fc+{9ug0netWGL)8L zu9gh6k?X=X)=*_Aw*dy4yH`_O8OmkNqbNg_p5&V#V1wKJb4sFs8EC!MiGo;-51Er%FNK(Fo5ArZ1@~y#TzCChD`wY9r%IN#{ZP> zk$q1fGb1Co?Sf2XDETT9+iwFSF5tu3{nSFlL~s z;D6EFXwR%<^nbNeZev$M5`M)~Gnyxl0%*Q9d7*`&VI;4JUt!E$r(c}X6Xe-qHj2oY z8_@}3s2gH##F0l4gi=HhK}Zx2;-_8*Hx`AGorV>R`4=BQhz{e&Jre2${2-1ziXU>$ zhD4$9BQ3aAbUY?Retj&k1l+{PLk~J0lOQv|gMi~a;a7Y-Cc%(Lv4f7sBqSlB1Ars6 zaYUd9Qc-y~WPGmPJWU7J#K!HbZ+I|5<=qZVus_1NBZw>Tp*No?F7I|=&ZF=`<=qZa zkx-Mk4x*^u))E3as)}%kx}MJ-?NGffw*iJ3@?IEjRC-%+y)BnDkAe)<+j3>1Atr4g zR5+gl-V8yElU*X`b2g2qE|IN%6hvHa{K( z5xQ617KDV2#B~xy2X5JX`zJ?2#3k8w6pjwuVo0%1f>S&A;m6;K58Psy@+gW>?wgT@ zgc8Uf$jTrnx=a%(3DGR3z@xpC-G#GzZH+(c6ZKSdWMu#!}V zTHBIKb@;DgBf~w}UTvhc+~m?s5PXU+N^oJ&qu4{okhn;u2zrVVTBIP$z^UT!f(~v1 z9woH64KUpBKx&SwOpvcQp~Yp*qd-FmEv`&7#H1bVtR7U!sXgEnr!7IAQ znB?9B)=Xn-Fc(+o9%IKw7+~&$qvCsv9oh3J($GD|j&jkElQu{y_h9BlFJd0dq{RR` zL_8QFK^KezGwhq`vt$3h-I({%z@i8=mj8bk?Xn1xK&_r1#$U_nh+Vy|EzN9Ps$ac?(w!+|_rSFWrNg;?QuC=E0V$*+7F1p@+A8gOgR_^?JM`1jolYp+rgx zSMcCZ`vez|zcm6s+wBWDy#u(n>#6CElz^q$U;7wg%V`(7wOXG!vU1g&!JCGl@sy5p35x#79%UG!=<%d42sJ7uuPz*MFXLB zjhlKwWqs+?*g4|p5KdOWhdxI{aamtFUmk@TD(g!Zh=i5IS}aAI3o-x3H#)er&mkN{ zn+v%OuyZpZ<&;uZynmI;nn&@4_OEhfA|VD=GGxtmBdVqz#@-3@D6Ps=dsts)7=@YV zo`9p>G;-{_+~Ji{yJ!Y--*68|njBq_D^KmwS>UW{5?TOQvY@r38=y5UndBx=j^jxS zi7~ADTDZbPBee{X=tfv!8N3H7dqgC<36zJ1RK7G!b%(nGCm1#axTxZ~E0Y}K%7T@{ z0&91=D?$$MA&cv-Oo?c0NrRT6!gp!}v1iP@(GV5BJ2Vl5nBu~B2j)B)a-qU^2dNZ6 zO<7z|cwrnwa;k;xxSrEM5N68bdJbzI1(_Y!b7WEkF-6znHt5Teezz3_bS*ALh#}>E zO0ME-aVeHO3MF*PG9?QQp+o+pT#9$U`<7L7Qm#`QL1ZaDDc6ZRkAe&>gF1<&3U7)c zFhh(wy)_lq;u$W8M-iAq69a83_w=jrXtp(WX(Kelzfu zryd-?@#t?iK6CfT@Z#%B`&Pf&^Q&W~Er~uoa{d+fl}$Y<`p=7BT6>Q+A?Jzx`fI~q zerMYUe-Grn&~@^}HH~);`{J~hMh$&__u%*Lome>T#NN9%?>xI~n{gc5ODhI{w|(r} zvwdh|l(S$Y?gTfY1Olba`GqYlfnY%}7%a{=M;c$>jv}yPRG3$oU!LPrbhQdAN39mu z!eRa$J$S;1BQewMp*Gm5xrgwoCyWl<2?OrXI{yz{t>R=T5^fU9BNXj!C!{dUWEh1B z#?bC|mKMVcc{L0(YI#xd?sk?dkHU&GXc`8g;UsN0vGVxdG)rwP#x3JYkMC`I467rp z0G|)5Zj0}2&O8b&l#*wA3N#K4uY76vQXk-h6G*woEpq~VNQzN~(S*=NIjimq@G<{g zkP%On*PuOf1fZZa43=b-)+oAEY>pOA=?$=2i#O(>OT}y|3?TQ>PVuE;Hb277=+KJS zQ3lHvgocff2NH?T6$MOiOSpN50C9@7L%_t+8W4iC?mkFyz{GMT45ULV4o3kKD-H=K ziAi)tYs`@Qd6lsMI9w{qy~_!$F;j%t7k#g5%oIx=MG;zKreq-@Br{W`C@3;`kA&S& zgn}Z56ypf(@5YX)JA)#IDUTuv1x1WBG?t{@w5q7y*kT@3h#7~I@gr#}?~>WYhFeA{L&iMf9fWHB;i?Ye7?Ws5!31JDchQ@lbnmVj`hOn!_PI(bO0X zB|9evL&;d&-&lpc&f6Wmzi5Bwt;2mj-_bOQ4}k*$1%2S}Xt2~16$O~HT+CT6;w;zV zESKdhmwqke%*3T{GX2C>si9DjOiDBb{+RKhm#MNYd4F@DNh7X?dD? ZLw^KnEj6>G-K=Kz_33J6Ddeg7{{Vtn|FHl7 literal 129586 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 diff --git a/JNFrame2/obj/Debug/UniTask.Linq.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/UniTask.Linq.csproj.AssemblyReference.cache index 56abfeb7c0ddd7eb96b915dbd6cc5e8fbf4cca83..ab7486c6ef29e88359fa195c172b1687fd7dd582 100644 GIT binary patch literal 124239 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 axcjc3zM$2JNV-^!=(VY8L{H?Y@&5n`*YY9& literal 124868 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 diff --git a/JNFrame2/obj/Debug/UniTask.TextMeshPro.csproj.AssemblyReference.cache b/JNFrame2/obj/Debug/UniTask.TextMeshPro.csproj.AssemblyReference.cache index cf6277c588cca51225795322e34fc8828d3ae598..47a31aa9542f89298e4096f22fa0851acbe7b049 100644 GIT binary patch literal 124578 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 literal 125207 zcmdsg349bq_J2lD5L7N%R7CL>#hKiPhzd!-Upaa;M=_CVl#GaWzKo%7*-1S~> zUE{9T>f*Ytx{8Xr-s_1jD&FgfimU8T*IifFe^qx^byatDPbH}e^gn(~NaoedJHGYm z)qAh2b_x8LmzNi)sX98`oQ!3STK?sgnN=M&t270K8w`x&w}VEAQ>0fk0rm{eQr~&1gz|^2GXVYdjV?QSEL@Emf0KlUeXi`d46BS0NZxl3!L>mKSIc zqr7P~vs2M*TxDr-PlEFxBIH!(Nn+KBKAq6(i7f7RKm|AOD%d34P6{U2G=WPi*nC}} zf)@%xa3rFp)3MfA9C#9UUGGo9#W{vk?W$m0I~gG$-jai7fyOvVkTH@`EftH-s`GFw z`%+Tb25_38Rj?UsTo5*B^x{^a0TzfdKrEqTzzX9&6UNgLQS_YZS469yVuH|qg9ony zm4C7z<)_nXW_mUmjjQhJpFoLZAHivWh+qTQ*&s~Nl*>sJzaF#~n}EmGM-jgHzcA?e4c!~#C#Zy!Q6)z}jInyJ(KxHivA*ZqhXD!jE6KbZCYUp)= z3Ko>dnW-eyN;L_hO?PZlc^vxyPK683~sPRASjxdsl}r1s;8nEia%M9%<=0YdHc46sN9DqB!~UeBD>s_ja|qfkiY z=N%(B6)!kH?_h&aKb4<%5DGMcpnC1B#yNG3suok?u@xQ(8>(K*7{h4@!Sz}OBZMia zdM$%gpfLoclxtHFXonmXLn@{09KvY|!6{`YAA}{Sl(Lgjpdkb$)#??HO^d|U#%_?} zPq?qmR8oyKh|?H?lWHtZ2y;+LH5RQvgG9w7)#_EPEu|%tWJKl2bskElt=xxl8YeC` z+2+m$jk(#5@&NMlv>ILWfX&wm8Q~7?H zN}%Gq#kiV=Y%&u|s5PKx*$7|fBx_;jNN-REb$Rq>56es;CwVX5kJEH#1jPEQUUEqo zSL=tc0R5e+tbi#gZcfUt%To_|Gttfco!eE3j6t!_-kP0-0pk!8KhoY&` z8d#x7Dshk1pGsyiM{ycNa59U@3Skl|nZ+a)XcR$JqsC4xmQiOb>80+|gQ^hKh}C^qd9|92?u1Akgp4JMPDl(Kx2$RQbtb_Z0Z! z30>DR`4gyQK?$cORnwH1#{)K0!il2hRJP!R6U73da4O+M5eZbfp!~SWo|&6*2RW4= zXAR;sf#Cc&ixa{URDPUAE6^aVf?SQdJW~n!m}jJt8RPk9ccUCk&1{!}oQ7E<*b%vK zLm1~|9`1Ks12q8&`(z;d!0l@wJ2$xuWTzKsAVK*g$f5BBhUZ>^$|o_#aGFJMK8e8y zVG$~y#2^)D3{i_ZNT?^2PIn(hFX|*UrvXGS>Ld$<>gh$DBoe4}L2cY#y?<02HzMRz zwcs{x^y!3_sWxu(x0>|79vr#57EI)Mf_MNE`r zaaad>Y`Q$M5(kn|274H%F*?LXNNipRlPt*1xj@4R>aTCEt8Q|4_EdkpMapRa!Tt5t z=Mze&`s*zUfr=K?;M$yM)f9J4Qw^>JEvKplH@FfE5W1!sTnQ3^$`-Us)@R~0P!Q_| z&14=vpV}p}263ui@GhCf31J6nm&~FSXb?eNWHgtRsYJr-WEQH6%zY@QaRhgfx${Gq zi0UG9A0g0Cf*N6UUcti=N$^0YySJhmVVy%b4I{V_*2xE95ULT@Nh#0}f~sc*k6A75 zZUw4i>3* z<1|K0aKP#=gn6>vNgTWjG>)K_7oF*OYHNdfY8IHteST0aFU(P#h7sKI!eoV*D^$x1 zlUSfpmI$0NmQkj$4$`upPC8kajhs3jZ@_6PO~M@V;EJ$Xq&LzCG@!@`jgXW+kjrj5 zXN1Na%4swi5gL;p!d%V>jX6S~q1vR(G?-QP?87|V1DDibPGcpd&M=B2!d#1ar4VQ^ zK@~!sa|>Ma=FM|ovZxB7+dxi339b;jaYGo1st~%-3p9|RZjqK5^W7~%b&Ft1P7?_3 z7Qr7+=$z^n!2|-8EU3oO(%`ORs>Xo`IaMsU#(_Sa&@ffwK(7l_u%M@5TGS5s;G{>k zi+UP{Cg)VP;HP0|9tf3FPs7ku0u?VPv)dAjs=NoS611Eu7o6E87$EdbWp)V?fyx$C zNNR~`nXD2w!UWHL0jiM19>!?`!G$C?FN8IyLK2%=pkV|RlIF#d9!CdJg(QoV(*S}C zN!I5RN~a1*7KK1X3tC9$^Dd-_kW$!6umA`!Tr8RMZatXGHl=O4%dTO zOm~fDE)r!%w#jBv?o((R?*oqi22-^%LqTZCgF`_2bCNa>tq&W?tTVAg5V`<>kG(A#7vj<-O^5TmwNvv7g+@VIcd!?Q0-AH@OUCrx$1- zL6KH-&Gc+64(@*8jI?a@oaPW5Y1x<{tUyItHZpPAoOoO)4-+^Xn=k$!rqy9LH%6VNGJ5%n(*Fo5VcH1sX?~ zYXWEM!VHP~KW)ra+r9eYe^`%$H;7d<`q#@V#9rtJ=iybt`IF(%6pPnB(TV@`+#>tI9 z1xEN3SRYrqTS3ag2rtuN(55r9wlUiYFZBwO4C*fgtCwfgB)qqr(C?y`zj?#BZJk18>>#(Bu%oH7T^3SkPfC56SXKr^iD zquT<-_tdgD-Cm1PuI)TW4-Cfa=19`70^G8;!t|KTy1a}ik+=%;V9vtSBI z*)Nxn=Hg?vljfGqvTc5U{U0n(C%QYe)DrM)Rd`k`or=Tzx5BgPW@zANVOVdPPlMm} zKi9{z?XhG!+}NRN@l-qdi5K>+r?$@f^wzhB1_FU0CJpDzAxqPkp%7*$gcu4L41wPv zLm`u)kojTgCoxBkHD9un*6&55k4kH*tXGwEci8-imG;meOKIk71EVza!$Jf@CKQh~ z|0Gap(3xYy@*}NEO?Rpq$V`LUaym@?7HsMOhdD+;!xdKL2h%@C_#5X!%c)w@lVi5| z@ko7mi299Y+f;a+3yDAj)b`B)v(#j=J8ZO>g!Nyrwx>QfZN53%ch+Cw)NK>tbNirM z{i8w#MUi~kue>fnM$?C)u8^AUTd~3SQIQM4;F>vvDR=>&A+t7l@NMwv<{z@X)G%T` zWcxUi`4C_}L^JQ8gv|Hkfv7nzfuk<8?y!mUN+r^vh9jv&FbnfS!LC>ubnvDlTC5XZ zoPB&jup(H16yKu12##JiUJSwl9axGw;T7}ANK6ImQYurYW=@KA8hgQ@eMC(v8H<3I zvCZ;|@117$pBZ~W*CDzIcZGlg|3mDuXZ+n{AnWN=O-+PIO@wl20vXpX7t{n;-7HOn zuqKQM*i|fD6FoqjT>j$Kj^F+1yKyx?zkkD{MS<@&kAG&wEoZ%Z^(!YA-&%C}bysD+ zx%J-{myJtakpJqthaZ2;N7v^kuX^Unz+=_tUXy>srdKxIcJ6hp|NHX;Z~ynipPmaG z`PcVKSFN1>@+&nZ@dT2-hBf0t9cc3x(Zbjg_;*`ef)dez&kXD=8XhDcbn*j%+p07(93CZ;LyeG->+Zt z>@OaCde2?n`gO_2-+en`@HX`yOIAI4=ylKC`u4x4zrXGI6S_Z|`P1p^&fN9j2OhY8 z+vH_slipahV$bU02}}1gb=2gSl}9BlIR`}Mh+tkhFv_~nFEe1 zh6p{7#T*gOq*Z@?cIXG^tSudM^-e4IxaoznLl0*D{^jMLTz>QV=I1uPoZUL{g?qnG zJ$c!yn@(+5IkEYIRK?%F+4R!;-De&CZU;g8s zNt27`eb#kt=9B8juDdIK7kw;vHW(UgJ!6>tazB|MQ%X=#O;AC0!an4F zU;fy|lOAfHds(LLj_cFa_urz;-#TvN=ocS;@b2H7al)z>KmYIbYi_@6MB&KeHcXf_ zYWm4fW{%&<@JspY=6rJZEq8tyXtaqzpa_}`{FmD;73C|@;x@IkwNNQlR5glGM8wOy zn^lyMs!|iN_L!2)gsbK>Edy5pp`Vtcsq5UBImAd!nKYcyac{S)C?|z^3YnjWenOti znD|)pB|?w9YD{LqyXar^1YFzSSU3X?Fv+A+@pLefimH(mxRV-m&w`M+Fj%Z_V~sl( zaflzb{XSdO+SRC~cq`N$%cKnKY|c)wL&RVDJf-%umx%KBUh?TP*T!YY_PZsYX~bG4 zfn`$QTY~`Gxn~AtQerk#=USxAENxwOrkX)vU0t?a&CEz?&H4rh`O16Vm^k<)CUr?po)6IQXEtPhcIn_^gCu5eysGndNxeX?#0u>MY4X_kq6c3tw^xGBnOR4b$7_=4tS!Gmjo29e;77~LO45ya+>EMiVmNOVUQFN7Uz?#QAMXoS;q z#z*FAijv}CACrFj!-y_T7h|g*b1`(`&WMH^WWK-mcVv zUC>Hw{$y`o&f^Y^%<3r;E#&&ihG?vfjQbGYEzODNJn`J}rfZAW-?z_{z4AVo^1plk zw6!8HGk9$2tsg$OdG+GKFO4|+)aKhRz3}!)U;H@gr3cqdxpj~K-TLrv4~#Flpln#} ztAoDV^Ms|zhYnnD_ATWz_e*|z>hqW0q#ToX|M%)^`@Z=8b07a-B>&l-{im&IzG3`V z2R}b)+*6y!e0cM;qN6A5ym`YbN0vXQZ-}2?Ip(Jqj(TTqz}>tS=yW^t1R{}0S!+R2 zTU#Vr7>!0t3JkN+DVG$dTSi6-H>I+Xj>c4EshSC%kjZqy1Rlr&IdNCuB*k!Bd-T6v zctnr;M%v#m0Fy273nud57aL{EdKvm5{zLZ9Gx>LdtH4Rhi>d4X9UA@39q$I~*Irtc z{_dkkZrpJG(*It5+)??Pv%j3TyyVgutDgAqro+xTI`)S-|J&&=r_7qRU$p(sS$8*_ zvgVv|UpFtcZkrzxZO<1=s#;#yvCcOGHLj-?n#S{i1D!zqn}h z^>_T^lBe%ponLmz_#f3kcI5@rOOE(WTiIdRdvr`~{e04p!T-JBoj{XaWD81$?Rc=H zMpUJ+BEKxZxUIDupvkliRaffwX3v>abx92y+X$4tv!wxWB#>w2ijC*?f-WOC6Eng# zeNH)DlE=B_?16?j*t^R4+#8#wT)*nW5&Mr`{;$%lGbaD%FHKjEzT}hSgJV~m*HV7- zxbwP-?!W5!hrZtQT^*c8WzW@AFb~OvR~R@}N1)B)@*` zEnWEIiFok@2X6wE8|#~LsjUP`#!!C@8a~G8V8L*{Z~XNQoww;L^giz7c&#>81LM0h zO>=55*J@iupZa{1y`lc-kimrdTz4wVG|)-(3-{;cjNx%y z6HBPrbi}G>^xNZAj~<|R@1Sfa47%8X*2Uc6e2!YaQ%bHyk7inzvIhb!$C@{3`k8ke z8<;;Qwq?oXRaY*oxcc`GHJ|e8%C~-ad1Lv%j-3DVbFbOG`K_mBemwueBj4Zhw+(-| z;2CYBdft#Xr(S&HY1y}iJowe%OFrBEmtQRY&2@v{{^WP(joti7+fE-|an<1yFDqEK z{_@AV-db_k!y705v;C5;_y2gv{U07!xcZBm7yaYPM=t(&%H&lY6K~VkylsIQ=Wkqh z;m-m_H?4~yEGQNQVRp7KcZ#vCAitovv|NdTT79`%V6AvWo_1Y-VcE|%lm$v6ZZu%H z^r2V;7Iv-lym9l0qq)Hvr00ksX2~z7^SM_Pewpe(?kIOJip97~Gm1q3)nR%t<0cai zEm+_whS}-UapoJkdbzqF_NjD( z#lCYRnD30^7~!XfR6-Y2|N^TZU%sE?FDMHrP?e2+k(N< z&%fm*vs%47MZu|PrMENGc(4QL)MOLYs*$&)m>|4m74<@Y6-?|NugSTVx}<4Qa0V`P z>I7G8YUXpvX@HQl(x&Fj+2$IL{pgsB>PTOSWEg?tce$#n;qced&I8Px{b zs}En;I{9{W@`UeSo0?geI_l$XKVS5R5l>t(_0WCKA6=>LH8Jt%WyP~kdgU@bAiV3i z#j8hc8g_Ib#%Cl8!rTtJH6Ju?ww1LN6huq%l_JH6j_9QCb_fj(m!e~&K~1N!S_E_| z8(!TWJHgThXmL02#0m|K!y+6(5jBp}HEqY}kfjlq(2$ah@OQ?^6W)rjAk?>IhVX*$ z1XP}7#`fHRJ;4LoKoUwOqY@dOYnI~-&uElIvB)@WNuGX++2mi(?I|AX^9haDIJxVu zf{87g%Bf%!!cr9$XsFzE7`$L?%5F1DFvE%Z0M6)mS6>pnUD1t057Sgh#bDSOZ_|Yr zUjP2W>DMgp4qiK}wEd>#waLoHF+(`$$ZvBx@v|Ri5omQR^O&xt%$&34} zJ#kdz$74o5I_fXqzx4398+WcAJ7u@?UJra0*|z?ct?MQ}{K~G6mR$VX_RWV+{OduP zz@d5FUAx@+_!)1sUbgEizrJfx*?k8te`=pShewZTx?uPTN9|g^bIH1S!(P_?`{Ih% z-@NM0r+ychL+I23h#@i09<8LUs3KYxRVvD(N~Bb&V0rP}c_({NGCLO0QhIai^hi87 zE!~}r)Fi<~Y*Te^V8h|j)IW)FkT$) zSX;hRJcY85$sJzs)Rg_(7=$Y>W2llwuQq}GY%0lFcfmZH37uICRxLC1 zZHXpU5J{1p8H9)Jq1udiY8n0TSzVFQm&lHmj0iN$jIsUQX?hDd-~mzacx+)|Sw%_i z?6F$`ua7Ny&UqWe?bv1}#FkJ{hvJ7s_ci7NdjMzP*Uuh3=N$In-<-ycUTj-t>Gyo@ zS9=b8Ad<5^M<>NA`O|fuv)XeY5odrXq&!hzfT)o?a=WhNa@3TF| z=iTr|bYsO;8(*Dv$Ng9Af7U^_RGj?r*q4pShO}F*J?6un;Wu6tFWd9X@=>XW^ic7&C&vEf+Y8^+==K~ahXo)0 zcrjWUDK02c3foG`)u>Wd2(y6fMjeW=?nY(_OkaT=(f2Y^{}7=~pl z-IBw!5OoO#lYN0E;yh{IhCS8+Z9#NaSyOi>*m_~lYn{qA#)up#I!;TFg^fN;74svZ z6sl&%EfgC>m@rTqYj=$R#@40dNhtB`+hMS&YuGzL zAT$gQE$LJ;rtQ-mu|%3g0FgNY$IcZMf^&#siC8AqMY=o-9Q#;Y{?9yJ7i zr?EnYoxQ}0A&ChWT@n&BL~_W^8aJMHtP0dZcV%1f(lZM@@ZzaDaRxZOfR|ZB1I?J= zEaeP*A_lv43ss{WRJd~pJ!*iQ5DlhY1~dfU@B|w$EnLCm;K-*KYH|odLI*yh&GEP_ z4|F&WD<({k%QKmrPtUfsk%g!{3pabvB%B_I%teUxKr}nth}p4LvAMJqBwWBb8$58~ zS;#cu3z^AwB{;jtc-}e<4&F*evYMtQnOoMJml$tt80!3 zX~$a86i=1YP%8kjYVJfSk85fl2&^%dwb4##IZ>4wNK`@2{RgEMr*dWCXFz;aT`H+( z*kch^gv9by)(DI$@6dZdeU-%>_d2*^`KnW#01H||(OBbJ7I|D%dLUd?W2YL?Ph}ua z-Layo{TPB1LpZ^8bC$qcxQWk}IELYCcoNG?at|S@2*;v6(3*_rdBefU4Q7mX3!Zi{@ z%{#!Sj*XPEU91F|2x6|V1nhxRz*mtz>Ynx%&W1%{V9X8>7`>CF6WKVl2I&xlp3XbV zwQ7L9oyDL}9bY7u;z`^I%z?pkmj}WJ!iprwZGeLoL1!q-10KXy05y&ieAIEw1L6ND zCVdLPHV*wu!l1M~EC3w1?T0AKS~~`mhc!v?%IfXbq~~Etj{UcSqCBiA1qm1M0QwG} z8-tBXAOV|55C>lpse6Dv=D)gk$-heUYrJ0oW6HZzsED2UzaX_|Gpb_EIcqtJSTMGX{3msSCkjDlqVf(~o1A(g<;HmN!P{9UA zK-VPOQmlCWKnB8W!!XvogR0d7>B?*@`gFBab1R?5pRnLdd^Z*jK2&8IM1=q?cnFM+|Cw7MnfpFx9ZWN8x!&zL(yRJUZ0z&>p-$brEx9Hvq2 zrPAw`Z0>xDGgP-^3q?YW^Ogyo0B!X^ETr&^g?U;GOP;bKJ&JST)u)h5@LPk%r?8cFKsFFf`XxAwMj+M(LMO)9!;a7JgSK+#fNmfx zDS99?zN$K%%mNy;3Joh^`v+<58l>~qon51T9*;i%b*xwk5Y(>WG6X}++r3F|*KlFa zrydQpYq&^7!%dhM8<711gd2HR4v`39?H5dP9cB=j-Y^@`{Q@b8|9ly1zhFv4!b{+O z0iG@@C(EWO%OIp|g=L!~L)V&AIjA{(7c*UwN;K$Bunc_(kv(i3VlTRuh9No*z4a1z(jFD>wz8Bet;@z@IE!ZL7D z4!E>kA&$W#RznncxeUSh@@~qO9(cL1=Tn@az{^D{8gIhdvfQ>>mo08kg^_9O!*X0s7aQRg@%zhx0M+f991s|i7{AjVrKpKXF)1xjlt;hc3h{) zUKlBh5d8TRXstQaPGe4(>yp;uUo!``_jGEYwnScTODvG6#h<3s;RQo~Z+J;>@u#`c zL4{6K1o;ufI8BP`CG0mLP0RWCb1R2w7s*-(fE0`< zVpr4m)Xc%N&pS`kCfm82eD=Vp=BpHQEmkE74S`u0X|X0yIh^Ju{|uC%Sd${;oa54C zO^PWU~cAa8!_6TNBzLy9~k5^7cj2cgQa6`4nVm zhwLI14L4z>328eUS`6kdI zJ1|rgb5e5xOnOz!$(c{lg{opsfh0kzQ{pagwwg$3-Ln;NRdW=E{mfM0cq<@v&~w6T z`2g$`9lZGzV2eD|EeT>#i4d!gQ3oSiElDFRIdvLND8&Z=N*2%l+dekf)G7%wGDG?1 zWI{=Tl`d*b>BfwvDhYiy+Y*mND9;>&A+`NOc_x28^-x48&lHP>oUl+HUPmOQzFHeg zp2~vPaC0ib*L5gC_<0BF6vzlDW4(h+XLX{d0eC3y}|m$tD7C-etT z$YeTMU_l#uM8g^XNZ;5aetha<(8eB#K|)4g2rVs>4f(E95-PklKAz3Ew1c5cwv(FE z>qyUJJ2~?ypim~;DG&)QfzNkHYgN-FP&3O?+EUnM0I#KYffs63V~^nURMK13*xdOP zW~gE~-bvaH4Fcc0 zB?ax!Xi5wp?*}-f@6c$jeCmZ3nBg`p3=Ji5k8pIz+M+@B8`M*?YMOn};TS?pM8}Dv zPTAWv2k-uKMJQuLisDNQHLBpwt5~L6pUt+a8i^r9hcV>6W=IKa+lLFTs*e@zYGW_(sD9Bzy!0(bBrZ zp%Lb(ttY5TRMo7z>sZbRb%(nQ!F~ysK|o0ae$iLKNbe4JVb7-!L*3ynQju^ISR#?u zs%wg2PL^P0JmzxQBWl%U4!}_JUIL}J>N1)0DbP@>E>k8NX2KRlsrx+O)ey`W&rXs1 zJd2VOSOc=pv$*mpqEID{MwBEdNozN$%O+F}o@(C$ZmCVNPZmM#CU#mJY3*#Rgf1Nd z(%Vh!eEAemsNKXa4hgA(Ui<16`og05X zg&FG0brXxmoG_QwCM(%V$iWDvMw$CyiwduN-Vu6IcB0eb$frPRa;TPsj=&6qv=jdb z6I3T+8Ql)HG$%Uo&qj)UlXpfz`iXxwwtR{tRCcjRL&8a520_}@iZ=FxHMROR?5=GF z=xRl;ahyPtf3>0)lRkwVx?0goG)Wkgc3Y5LmfBc*M`oD{zq8!ifes%Y)IA|Fj1z&< zZwtyLSr6RE`s(~2bbgM9WRl<~Es08s;(2l)N}@6ca6(Rc5|zoEPn{h~qB3RjG0ePs zW*9KD2JC<^vzYt;2WFN`l3*q+!3vv@vl_Va40O}LA|z`CMG00rEe4nOHdA_n)y|hs zafK4Bc5!G(2`m3(IU)sZlXm(o{7O z!%aLIlfv?EU9y*GTAo?yR8lvT?!c^bln=1Eedj2QLvPpj^MT5UI63qw0HZloPeaeI z?$E09vH?dYWE`D|?Y z6j&(FXOo76lfWDCq-``T_OBYVxPaA9HyOJpTe}WS2iKRDzKm|tj%1Mo#q<3;!dZ(3> zGoQi@by_(EBB3R)HAdPahgbsrA1b&9&?P)X&w?=rV1Ri$Iq8oaGMV!!#?T{&Oqpny z3EKrryNIhvU7iVg?LN>&TofUOmG|jL(l6qonDQx{(4lRVEHsRKa6%HrJ-7fcqbAef z8VY8dhE7Ow8^eh%=_e$)@#j;Zp;U^SSh6rDt$S1#q(N=Z#ud$ewWDpQ#hUkcc zL%icK>D{9)?D-UMsC(2!DiUu6L1FCys;taiQwO+;*)2&o(%k1@B2FikkllBJ8S*KJ z&~aQ?4iYvZ4-f2=kDEDNsuou|JJqOe44aP{Z--FOqQ_|RuBt8{I5b(j`4m`-Jk(8N zOxPvf(#rLCas-={^ipQfh066dQVcBbNM3rm-o}(s@f;04Fjhz-l%sas< z{mB|TUp|EvV*%AoLPJVeT6F+oe#0>JsT8v`miG!G520$~^%h@c-FSi?MNixKogQj9E&C;%wkU>9|pa=5d ztMg7#k1hc!D2)wIqVC9$cHn%A63?nl+0MAiTK~|2^A;5bk@w0c{lIyPBW|a(W5w_& z!(|CVLx;-~@x<)X0x0-6igA=AafF#m0A;7uVFYQteUbD4%FY)zn0Bn#90gEzaY#rB zOtwp_OGEzWSEVB0E~q5)h;LMvrUbl7;tO8eO5v_dORC@mWhm&B07f9ZgQ?#h+~uRhdbtOmU>*j@(nktcOI z=q)%emW-yBrP0gy=&5xF9Q#(@+d~6^0DAZWk=Rcfqu&9;4rY7c7vB9*xy^o5W-JLq zx`ZLqEPVX=)S;oLE%=0_;RsMLd17TYp2=$J)TEltXbQ-Q)@NJevB-&PcT;Mqnw;9o zaTdlrQQod?c{q`dq_lXfm9;DmMK5xKX|ZS@*0wx^SkUbJUK=tN)fk%X= zl3){V+@7odnvP{aZ!gOxs1?9{6sNI-S2cjK_$110MO1Wm7gCaWPZBt@urf4ezIQnB zI;Y86CCo2^3(hH4M-1_g8LE_w!kSOW4Dj{sZwAa|?m2?Y0Eb92L$mnVfa4nLgt=V| zJaH<2p}aW&dCRT$8iQR)DqkpG1#uC%XGv+Hgsl{~=Cya#ec&z}$l{L;K4n4@@ z`aXRzEk|^@K>X~lQ<=q`VWxe-%bey?UXu%avD&0*NJZw?)7=WZFfGrd(V*2A#bc&pL%x0j|(pR+nXgH)mHqnx^l>t52u`U=$=#W zeD>Qb)}*d{=DV5oA72@cez4aK)$e|@^oS!z&s_JodgQl{58Zj;@AOnq!6W4@>q_fN z0;o~LE>0g{R8-K~R#aY6szi%Qi`AkM7@2~MDwP>(74N8mtsIV9LWt!u!BL0>Ugk84#1ISd*aLyE98X`ivXMqUHF%n1#NUIX!% zJM2cY6pZML2{;_LgpCjsuQrxEm1PIC5kfSa#*nxXLY#1}sc0jFhDkC@yZEpNatwkt z;=&xpJRw`aC}K`SrQ`)bZ2oi4p_9!h$T41$>FR*#65X9zYKa=jglEOlsrXDKp@wJG z&CtNl!fd7)nHA4dq%wYnZM@v}QeM z5>1RWhax)py+0TZ`+VRpWer?%(8-N&9_;h^`WS!Eq%|JF$K(h8(zhJ^(_;nr27L8R zYYK(+)3dX)%TLcXT4&qrWSi_{Lw2$)c1$Ak73BAj9pf)%`6dutj2=EqkHtgL$Qe0) z)l=eTIJ{D=ay#q zDl=8s_=@S#U^1-Rn)_%hId};ViWr2Y5tTfz8G(cU(28aY> z(NJ(|m5a+5O3A}C5LA7GG}SZjC-h$H#-~K3*JiHtP^*>zV}&!~htRT6^nxlsSDwnL z*Ap7Aap6*;!s|0ucs#BrCL|-luZz`M8*SXSu~Q+BZ^(<*v$8RQdJe|**MCH!OSh+DR-cqBtMPrFjq}dtR!zocXjRX~b zzBGk%cpy|iI~~6gjZl-R5z1?;C&#olmmuaCQXHCGQ1R!;Qat^3Lgh1^c|4$$9g67z zka%^*I<0JqyvvnMz1>mS6qQ6}XPkze?2=QV(y)k7P{GpDu;{&nYN?DNdM;6^87HhJ zYpr@22u0kYK`LRzHV{;@w1gG=enQz)!iuGnsPv4Zkjb%-OWa3AAvUR?qNPP4_L~V6 zQ&EUbAyK&*X9K516E%9+HL|9%fegK%nx$m}nb#A#rm}$ynM8$WoRq4VKDpk-HB(6` zf>uz`(vnids|h7jNhyLvqJlG?wpX-*^;|HmYByIzor4W(+RkkysB~%5b}kcy`l)F< zmsp}9GDo_5)`~{DO)IE$c}TZkO{khix=kWc!5Qa8jI>~--mC>&Rxhc%NJama(4lQv>kWdT9oHl~Wm$q=sVS!LTwQ$TKm1uyB z^Wv4!0Mvb&WlSnBp4voE{nGN{sT>g6r}E;dloFMnapJ040~xD8Sg-8>YZI-`<13Z8 z;x!U9fV9LFj|aj8RN{(9E71t&WtzCE)?-c4SgRHZ=mI&!lgR{;b5lWsG|5V6Idejo zWu6%C5{)x6W8<`R#6y9&bJsYUl8K}iG{IbHCLmurWgFS|6Dp^&jVzr+rN=Y%-8IQbBGjr^fSPeLzMl~>7M_hV zaZrhYe(ll)#*)5sAOD`9$(G9U|NF=uVbNFyQc5&<#*?|)Kup&oWm+37mvX$a&uTH zo@|UKV8X)LyU+@!>APIv^y?iJPLoMgc;@~bux8}wT*g$|pEC^vRW8q;Gw&yKPWy9) zPNLGMXF7kVtE_d#_aHK6#*~6;u9p?_;};Y9t>khhQLz~()#~(EObfZ}TB4F_6t$p& zr6tv`Kxm)J@AGIS8lfR$H=-|2 zl!40TNuc)K+y?G!h!d&4>(Efp7(r=H#(@vQAm@tkeIOd84#>7&MqwNNTt;E}NM{t5 zUZPPl&fh@Z%#ALtu{@Q(;j|Gng|z$)hXuk4RQ`rTD$xL$56oaepjB&g_D}S{Oi~Lf zUEaV%C`z-?eI*(K^Y7n)p9!P52u&~GQyOzj1rsU#{pPBTKvo^Di7=iEs!+l;5ttqNnh4|95*3y~7dJVC#Z7EbcJ)WytcxP7Q=M2+ zK{ZO~;_RCVELvThrI4uH46=(RSLJ$pD4^GdT9aXobKst>XDhqt(n?U}60(afOc2_) zvWqUn5)F~T?hcE=kk%ZD#(9gdwh^q|9S$u74Ip86hXVtI@~zz+4uldFpFvfa$((to zPF*w_Zq!n?YTBx|s=^%G2r6GfRhT0Sg!-+jFh^2}2FPHE&t%UyR&`cLU*zoMttCD# zy`bVHEb(z)Pbl45;^UGXND8lx>END;II6LN5||N*jdn`m41HHCoO!*I!WlA&3eVWL z&rF5_3u|>P7Dzch*j72^+f!NyDqWgyPho&iJLTI`2qh{$W8YpI&?9=C-r5F&8Zg1=hg6~gGWP8Td;8$q8G1p*OY`l_>j|Y(zMUbHsPGI{Ys_H> zW~JPBgV-L&TCH(!C};u+t2OR?5Vo*ZYuxD%M593C@OOixF$&x8=Q0Y*M>?ah^b(Dd zv1_WYn2-#G!G$e?VJAZ`XaZ@jiFrMtdCE00WD*sgLH)ehQ`s_eC;}UITAPgd4Fpv# zp?;qKenRI~{XCyeqS7-c=VN)R)j$}Ox&~)^9;=+swVj{|B$V^HvO!qFD(7=0muQd- zs);QY;T6LU)x@?ftZHJXCW2;=P)+Q_0bv2Fn%Id_qVmt&x1~FiBO|>K=Q*1J=290) zCaBm+`?nlNzKKv^MJgW>m6lAWwCb?d(WnI$nvqGo0j@K!9F6F;$u@ZR zPy@+k3Xy-}VsP~qyjhyi^@L~YN1HccTcum32HYA8T40%|1sLhFQ{HV!XWgBhodMai~B0gs?4*_J5T1~ceZbT`fjqt&|6*@nu^^m_FBeCaGz z83KFTVjT_Dp!30-2(&s@VAHJpv)j1h=tnVy^Cj7TyZwzSo|y#T;0KPNx8G|RUj9bVG* z>~cL0jsXR!F0iT>2WTLE^4GP1L#%=TN7&f!P55-S)vE_P&O2kBw_hy1xi| zn1*nuu^|Go@y2Ky3+91e3AV@6r-9d2$5!uz-uYy)roMxC-4^_g_S3%;?z)y;kp{BG z*f2Ga4K$EVYe2L;)IcW`<;1M49xJl4eht1os2lhP{9IEzJ~s=vC?EK**S5X0H{HMU zt2_LctnYjO4~KoS>xTuquf6=c?(N}~l{ejR+(TnOzIo@4w>G|g^Y)^F$9KD~Pi)+O zSFB#X>7R@GUAwv0q8TH1gia#g4XKBpIZz^mmZpzIK7UpRA8h9)C_$V&}r}22u-LLqeuB=+u;vEgvSL{!o z?7kcMlU~*{LH|L{*fDSW6%bhO%_exWJjI#TuWYqu>={}GRf)PqLzTWL0pjCmQ^G$r z9*y{O^P%_Wxd4_D_w^;;_S1&F3Hy3qhQ@c8X>RRiz8W!~ z&AiTHp4WR>O3`lmwf4>_7l!*(ENi?j@8N!1Uph5XdtuMXCw}`==aFR-zd7y9;P8>J z-E-(OGq1n0KJV(OZ(Y^niW9!P?!lKzK3(?UYa^fk*Q5E*Jig)J2XlREHXeNR>W$Zp ze6o4wszlYjx5g(vc6V&f?!nszy!g};5B=_2+x8JgHur1{PjSHv`2_b?H?E|}5z~Zi zL`~xqg^%-Ex{-W&VlBY)gonw97=sA%2$TXrs=-{Yme zmtIhR&kes?Kk~C5`oHwVePh=h{^Po*?idkXa7}UV%2&F7d&HE5ktavYz4Y#q$;U;$ zzTkx$?$pL*J+@bWb?A%lZu#(k13Axi4jaF+{$DFJ(jV!nk{iGboAWA!?{bv;elrGLGl2Nb4uk zxPEY2LRf1Y1Cn!#JI>An4nL;>v_Ppgkcoulowa4t%}lD_`h|adBoU6~#S3Km5S&I$@WQW&lW)G8?o&nHXD2E6?I0Whd+`V6N6;G+d;F`b3w&_>&dgF}iZoe@3X0Io{>~Z}khh6>I{NLTu_ILkq(qr$B$Xou|UFUuAo4;K5;n>m3T87_axQ;!( zNmp&V?^j3q%#5#tA#5n-`{AIKmww1<%FW3wC@Rr{xmvJ9&n*J_03X_WEKV07%0i`) zc5E|Iiv38Ijlx4o0$(4K*Q|cv>!HJ)P`9GXQAaXqNYM!yO@p#)->Dh&UeU)(;$Mz= z@8tQ-dmmr$+%KPa_K1Vt{B7Zf-+tY<#~%HQ1 z9ap`ZQx@6d+wsVdgFYCzboMX1_ZvFro0Eo)e8-%6+}`WC&F@!U(eA4wWw23|3q4$J zk-sD_ryxDFwA`HHKxv>z&o2m+loWHJwJ;sDtiZ^Q-r2c_kxWM(&iuj5uUjd4Ye50| zv{Bv5&`QEU4xQj=6qh#nFnB<&%lv`E7BLh}TFWWdTSLtu zEs|&`pHa66+)jf`Vg1M~r?w1lL8TtLgC<;NvYx}5pv`&NB%(mW&R8BELsJWba zkg0;fKa6CMfBW{GJs!L2{BCC*H0tAH`}oUC{#3c~*yoI4{?E5x@%I~! zFW&6a>WvjR6uK}%5pWdF1T~gwxg{lmlG41q-2CEz?Tra+W}cd@ZP8=lXmf-06{D9RNlI;9@Szvn|PJQaB356)gigp}8c>Z~_WW}PzjxV{Mcr@ew)F5jw_ck4MB<;H zul{KDU60pq+4gdB_wcQc?2Z0y)hjzLs98F^{+ej%KmWbsrFT0nIrVQ>KGXlkn(~JZ zdFHBa>+gB)jj^$_&y9Zm#ls^<7tH>oeQn~Si5qWuFnrp_^B>wa;-b4Q{qEDhEZw&H z)feHlSd7HWy6V(#O?BMWuR9 zFxZsS*qEznd75b-Fl8e=`T9&V2^rRYm~|iLgxai316v+Z5sicb;4vN`h{6xE^f0C5 z0W~pzc?b|1`ZKt$$@gmy$pR)<6DWLS;!<(p7nV-&IrkyrgBR&pPCczuZ6A3+L7Z2XN7{@FF zP|RSH35GAt`#8MX6J2(h%3=YBFE%R>I#wi8k;*7(0>M>7r*#at9ZqC&XbX{kwvIi( z8C!6TUr%F>E2v>|(;H@Pzt--}>9;v!H7olF&5kpkN>rw3P9Cj)Q;P=1>V3NU9bL-Uq%Q8j zQ+6=$_bX*%A!c2SQ;<%SJRU_gC92m2RV^ zXcL@88>HAjUU~XA)>OJ5G41n1BEk9eqJ13jv43RWCpf9b{CC1YDa|D4*8gM=`1ig4 z@K;}XLwWq$5B_rdhN~8SxB9FxIXjbA&t6=3!=z=K-oNvd%T5nHFyqH=e?5Qd_~U}j z_fLJO=KPhH4gRWr?uP13%MY!a-oE>>H52m+KK|^p-q)->a?-<-9&HT_n0U|8wbkeC z$@}HC18%+di|e0#Xn9WY^+SHpeaWTQOeh@nyQbn(k`EiPRLG&Mqp@ zih_AXOOZddk?s%dTvU1Wj&DkL9J%C#^C#T<-O*=ld_HkXWAe-? z@eO}JYS>>+d1>kB=e~F*oOq?RYHsJIh0}hT`~6p^Uieg1{p;7iaZjJMpKbki^5X+* z8e4wa_~1{6Ztb<_fgTSWa$#P6>Am^oqxST?^{eemPndn%d+Y9O|M#+?ACDTiu=}q& z4FFYt5?K7`#~nBMrWnlIs44Ip>Cp6ZjKUnfv?#y0q_IdZE-o##b27x(plJJqRg~Sp z&X^{Jql>`!LF}KXD$~LNhxxP9ioLyk!rWV*GK;1g8Y}k@h7gv0=0X5i^J%JNQ}GrG zOC{Mnm4M;MR!O#@5{HR2Eg2EHTTABbU#ID95aokuYQ8@&ueh`@J&>GcN@*)|<#?RR za|*D(>GsK|$lr7azsFGo%-_v349hdEa5b(RZ(}iR#S!DckGA5C#pObOY5qQ{o#?Zo zS@(UJpf=D8t|(MEVH93SK8&Kkinnxbd@)=-)u;9~?{2fqCI(Wct=8n#8kdN!P)>15 zt6r#{*a`3HE0@>`$LXO!3=FEE5`97->>nTRhy*GkApg>&!5u0NQ`_7I_h!gASwp`n zkDEJEj&*GzIO!EHU1F;pUEl6h@tB+K-prfx;qzUEvcV{Ia;#_+Hcw6ExV96S;8nNQ9J8oN6cNa1;;XR@#gmWsQV5Pa_VaI3*e3 zxy(}*+!bL%=m1X))aXrNuz5NJcHkh7)%$B)Ez2YZY+^w}cTHlzW{a>AlNhjRGBpj6 z7?>!S7^q5420M?fj#`y$))OFOZkAObr9b@o%wAuOFsqR$3S+7U2W~iSqfhD>K7AkO z`UXpA>45)l$E-s_jgzV{kt@a775vCG!IOH``m|vHqugx!O5q6CWb3*iwDJg8) zD&If9PxO(rnIblfB~w^%tP{*S8l=b#Wj$N@}kW{|9bjGb@L}3e96B%Z|yU<^^ujs zm%h@zZseEmFF*8&%Xfa1^~vEwvTl1lxUF=}wpYgA``C@cE;-@u(sMr?^wY>oF1mGm z#rV$SDi86kti8X_-ko>u{p`FGx+lhs-u3W=&+hy@J9hWlaqoBbxqVHz_=t;3`bVEM zl18s?8uYubfAvO;&N@OlZ1{+09fL)Ig4{wauc@#^4{F7EPz%6WQTr;jjJvNfTSI=< zoVwv%d)T?oSccb4`!Y0w{Wm1dqZ;o=o|IvR=)#kjN45nr?!ZkME1h!f%!&>jKD_iN zyp?qz)yf<;1hpTLrhSSBW*rA}ZjE45DPoghiDpQf|6={<*I@lT>XZzGo7I^(wqZ82SwR;BdUNMmP*M8=fYSg%Dm2EKGlcjWV4iz z`A)z{Iv0ANAGrO(rayLHzpGF8yEm*KyztQt|5>@AEIMjX$LFsf`reuE3_505 z<>$Y7VCB7A*9_>@W7v*|-WXf4a??^uN^Sq ztw*0)JNKXsi8roUzbv-mzZc~E?@_mhdp*AAsFiC6HQsdRr6c~k_r2nwH|l@8|CUD$ z7rJh{u0Ou%)gHcDMhqJ`rrAWIRIM1So)i`pf`h*bf<-w6PzkIDO?$+qfod?z&|~1t zA!8cd3QoEK)9oZIpB_`-FBzk?g&JDpfoP0eo5{L&{N6RojT1`_Mh|h!Z*pRWo(4}8 zNQBSRbmA?W;w>A!-tgyWkcY2@t3~i*sQyn&8fG0`@a~nqX^7s|ISgNf;>^b4Vy!Sx zSd?3uU!dod*sC5y05lW$PlNM@yqr9+VcehFgpYhG*AklfFulsH+6UY@ZG|6XJ`z;- zT*5mVd}Z5wp@9bSWu_B2d@<@K_)4$r3X@uqs?(n2=!75!-Iho=Bs1o$w!Zri&jpn( zd~Bl=hkT`D4%2JCieOri`kUn<9UZomvW3_T18jQ?wM64K5HwI!O|RgxB|Gu^`en=x|1mPPCoj7$i0_HTmC2APvy|DVKtVRW+n{!1p23*k2L1-rZ$4mlK>9kiT zI0YU|h-8;dl-0IqF=Ef0J*nu&5(&C};d>ICcx8elmJN?~o_sShF}nC^8RR(3fGJNm@V) zf(2STzy|jr<>!Hg|4=LFb?u<`pW{l8aVEz`BiHufXhgZIzv{^N6-T28==cgcv$K~JU6QAP=*Vd3Vlz5M|O`#;2}6MIPHWi zq(RGpb;dyzA%YDLaFUT&MS{rL)j`Rg$MTt=v=m%|m;f6vcp&MYLS^_F2oIDT@2pB9G&!_L z@W2#+y&8NVV2uB%OgdS7DRW@r@Y@Nw@RWN&33W@QBvf+zrKKWR5pgkXYOqoUPGdK> z`NYAzA`(c(K$#lX-JpCBzXe7TI`NwCdKRm7J$&9g>V`C{d+>##aRyJlmgAG)_GAS< zi4=kpJP$~fRS;3+9%Ti-iRD|wKOI=38Jd6*lBmK?7x<{EXvElF5DM@@BA$=3TVO=F zPs6&*{=cC#Q0`C`H3OtHK zk7BP$K>3Q`rzp1%uojPkP3WA^4dwPN54efIue0LgBU~0eWob8ER{(}@MY+P5ckwDhpuf& zk%xhlwCP|{z1x}u>YitTDhRM$tRm7B<)Lc?2VG1vj59PUVpm3uh|APQ=A>O120iM? zP-fLdG8%i*f-Tuaq8to?1ERojy4>;d7-w<=YU#5Ns)|IN8S^N_<~d75LQ7)CLDBLz z*+*&<;3^qVg&p9|0MYU{zXb*u9G~Ea@5>Y~fAe|sD8|t8H(w|kX42M%mZ={+;R)BX zV33l652lDA?io)9>2>QOkhira$3ro>c67fcrFqR}vS zY~@WB3}TEs?C?zg$IL^!aI#>_&}0gXh=z$D=4b=AzilNaOM?`A{b+G6}M9z}XkqA>XDF&2#_Ur=1Sq+*g zkD>`3yH!q0LqkbkdA_32aB?`>2+LiKB1Av9)K8BDHF674>S*ZD1Y^s+$XfAe=)jyu zF@{D%2dQYRNh`CKb@(hZ8qz{=oYoPR)1nA5tlV9e>_canF_2=(qhLY>h?Fcegygxa zn3|!F;+?qL*)RzcR}JIAiD+XW3(XASYz%!*uTm~iI~cl3)Ct-0)FiPnjnYZHftjML zN(x08Smqd-b3$!!6@~{kl!4{9z)sA4Y*d_q<@07plm5grl=0;M5z?$V;9!1{J&6Lx z=`^VEB0vVt@N`nA2 zK%oc)`?lf$g<{D-xA$-}8{>ws0|_Bf&myqTM$vSNHbZ#~oEbzHA=qF-$wh}I7*_5+ zNbz*afjN%?3{9sTq@tlFExD*D6sCpXr5J6jp-|YV4F;Qge4;oMcH+*XXhWf}lUOv| z#9}4^&!(s{l$K()mI$%unHP-Q5$0S218S5sUW%4N-?C_|N@T$yNyN%LrmmP>#L z6=08pme7N>;3f&JnV4zW_(IDisnmktQoLM}%9lrxg_cWF1yTg7h_czzJ;A z8-{~0#3#xKY+wzs!_O3YL1?urpAn{T=238+=b~&y@RD`!4U^Ue-J?3x#)lNTjtJ2R z!btXgH%u}capO_wpmW!d7>eMcE^M!lv}zGBx&_V7T$_mLTB~6UBLi)FBqD6*w!v`v zxx;oYcOHco5w>&1qTwbjY?pn|tmR+vZEy^<(5)Nz&N}$qJt$Xo&@9WT_Yzm=HV~*x z5*`v$o(t5(Mg}}4E^f2#SK`J+=<+s}*6=>*VG~mu6R})*)a#&X5>^~Va8i^(H@L6X zVj4JGl(??c9??(+og&1;nBk*ob#j ztV3%gms)KMp_8g;NtieMz`zCdPHW`@>=0Ss?q!{;z7-Y_XJ zYy!aVzz?K0{-=D8?0W*485zNCCuAZ`$;W|p%sx6R!xVysiM(U5o74nARp|QBngnrv znT-~76$?p+F#}BnKm743qBig$Ir6BZK_?WGqR{w}Rv@G(Weqv6(pvQz9VD)k^uKe*WP2DDG`z(~YMl^z+N^$BMapO_& zpwu-IgM^F3&A5uDW(L=stI%xFps5*6iJ{|O!moI0M)TxR0L`@~FSIZ;jN}#ZD~!2o z^b3-DoIG31MiCivBRWA0bwSLHIPxfhP>Kj52#MlB{M72;#-dQ7!?1!e|Kj5Z(P8|! zM?zhIAHm+^uZ;#4f}0q5=t0M05@ZH=5OAC){ECmqBpC82 zcF^&dgd`+%0C0phjtCS%Dk|@WjL+5^r|96C*qD9w4G%`ByxXA(_D48(1aSpE^yV|g z<=qa7T0$U4RTd6W*Ynw<9jdqGHo!1L-V4KxN^dK!x8<_t zQIMf}Tdqtr#H0;`3g>gcn<0pCvPqe&5r6vb0B8W(_z zM5jlC{3U-BPZ4AoK<)_v#qkuukVnyjVsSze8anb)0g9?2YxE}T7FvIKDBcElm4HK3 z7jvg|s2b9#4Mr7N4GG6PI;2v(iOGpOk3tMpLpq5?<4syMq@sJ(2`M6(HQm@6%*7SD$JntE2AKQcsQ4aZNA^65G<1)#qg*uPqz#hF zJ(zjXi?n|JPbYvbEDZ!a2ne7EcR#K!%1#p>mo{<)~%wVQh_nlW-$-r+ZV z+H>~@yN-YQt}l1(2{u$7x@zOSH=R1KarAn9^s#$iJtHwMI_ASYzc}xKzMF15;Ze~&*~nO& z{64xT+afX01xHGEXQud`Y?5E^VF>O0v!o!QA~CJ6X!90Q{Y2Mv1lqinN-YQ=#hbTM z`SNI-g*I=c3Zw{Ds#c4vQEiGA2|64#hF6PdQas+d$M33Fi)f}iiYB~TL`y?LNn#P8 zqIy%*6)Ga&M#g9xj;%O@8>%;TXd>vV6xW+NFy~Q-p?XsXsYs|v91Jh44$NqaeeHH%1&9PSWzYiW6@jC=A&*_)RhnivZCg7hY`Q&8aPhoBP<@ zRf#tzHa&_zHu2^p9*sw7iQt6V_>q=oYCIY-%w#w&yRztb#?hy?!WeXSc^9fZWeG(O zsr-2qe8IGer(x$!H)xj^@WAKp2JN;61d$7b11^RlHR}F6ZqR1aqeygjgSL1i9)S~- zRp6^?Mc)c4XooSUm3tg2UeR}IWFQctj@;8?Ady0#>J@z__B@I_yrSas@%}nRlM0*pSVvnT z+8oo`S~~pW!_84}*h&i@TWB;**VX_V0@}|vnxS< zW>|@tQ=rk*u@QE6D5m4bbBae(NA^65JT#g*%0)s>Vm^7Xnt3c=jERvzH0W?t;z`z& z%Dtr^_*N)RAG>fS3xJy&xw8+n&L;L33~<7c*?p8&z0M}atVbb=*4e~_B!Mci zl0i{fAC?L9v`8S-rg2j*sH`uQ8aqcE9m2^9_|WHwC@$+u<;$Z`LuGxb0+FziSc|1- zb0Oy6_(lh}_Bn)uXmcUA0d{UCq?}U9iubQ_S@S5q(Ee4fOeDm>N`|c2ZmX)Php~6U zJW8uP*%sCp8%AN~xyRsWH-#MgE_Zk()h?QW+&A0;h;_NhG)ll%sgkLShW7-WIO#&`2#q#JdnySO)Kb${rDkZUW_@A(bl)Q(fV%zzK$R z0WPYz?#d*`xUyj7u)x}t?uwAZd&uItD^nsGThgGVsPLT{LF^ebZ!|=O?+#4_A*Q(S z-GMoehFqxd-9aivP*WDy6J8hxk(_E_JFe$65QLfXxSqqBM?q%C^&FWLK}^xLxOMvC zgx_ri0bPqr5n@QWpOUNiT3m`Hk3tEZvP{WBL+F4%DVO5i@4jUfos{d;Mi5zwPs(-T z&Z8hh%b-qTsluD02+RR!W&SNo2YAvfwQz6vZ?*7oCGEkbY2V9<{~gV9t99Ok{QcELIxz`rC}zb z8Z$H6^;lSIYtw^&qdiJz9eSi6_wQDZsD)f z;tRQp+Nh+KAr*8_ic4x4raX!#v{8?dhJ=z#SEXoU6vKU**d1+*a&BcH4An+J*M(v$ zI-XLzG0K@gVX#fRY}1y-b!!VAfApBKM`gV?_Qyy5xVtnf(PL22y7#y2Tt2_YOMNfB zp#Gj4ezkt&XFv3R>52Qst~>n4bx++fBD~<5;@*|7bpQ5ItI*cfx=>u+INOSF1P~iiDfQ z@(4w{+X*QQGZ{uI244Q^PXgEpRO{_e=H_cKV zjdIJlQsaA@9>eNTE5PT&s>|Ygn=_9>3#H`Qo&t?S!z))BzSIZ!-~>|cam$IC0({JWCuGD^FE z2+7P;DGG`V-dn?NC_+IILyB>P_IG2))RjRI!<0vngn}YQ8X8N|Zdz4TZ)`CSD#VP# z$@mdAsy9v{#&B|XON#4_Q`qt-pisSWiaa!=L6uhtSRh8>tt39S=jB8(w- zm!x=|7_;M1?9^IIdRPt`Gt%6Uq7rq?wtH-ZO4K>z28_^X1}E6)dwR7+afv#IF^>WY zm8f$hBB3R5iFg{QKxpk~i$xdcfkea9P&^u*thMS5Q>!M$z}LKn%1~oWi*+>A24bPM z#Q1nzZ*2^R^ms#kB$Viw7z`z%F@Jpp_BwC3_x!T$-M0?*`Fw}dBt8TV2o&^zzoWrY zOH>qK&ayFQ*@&}ji?eK&vuygckTVmPzKQe`Tcw6VMKURoB=}>-hhC=2RE?45P(&xy axcjc3zM$2JNV-^!=(VY8L{H?Y@&5n`*YY9& literal 124868 zcmdsg349bq_J2lD5L7N%R7CL>#hKiPhzd!-UiuZb=;wt;ob=PD4S9Nz)S9MqSRFbMd|KrDmWM0j@<6Ey@ zz4y9mm%xvCd3k}Fs-wfr$ylb#_+FS_SP(1<78SP^gsY>mOiBw^DH$a^Q%NdqYSbXA zPPWC8D*5kVG#(EG!29K`JK)&2^4=aC2n2@eZ)?!%FTt0|FZjp6D)4RKYVZ&6Gcda~ z7FUlBg+f(FhxF0LcY>*q!Bhw`6*8GJh>Q;+{|%Ya-#0HXmEdLK_&KVUj-`^5^Mm?- z6USF(qb8_%3&=@BPGDb40rDD+;bslbI zUrH+508TTs2sVR_3&IACUfc>azt`b1Ivl-9E}D7;sZIK_XDuVKKRGdLm4FgF+10u3@xj6tdz>!)i5gqGk7FOesc^x096J|;;;B52olc+u1VuB`wOG_$^;9%tk#Z_s za5Q6mKA~gyLX{>t;|uJ1`xb! zWwJt;g4(q*i3J)()C}-W=Fl_1qUAJz=ow%!K&YLb0TzisWedvB>zT7!wM~h56bh;Q zyki8X;sxjD9c&Qlr}Fa-LV-pQRIi=UIIFHv)nZCKw%j9OL)B{;V>k^VxL(U(gfInF zuVs)5G=`v*a&0OC?U18lNTrmWLpV(#IHm05gRlgZQg%`bG=!j}TD=0YX_2_v*acGj z3HP;`N~*C2aT-H#QjNt4VGb&(#-bHykf@lXTD_{ZrnH2TjHn#B&O^zxmHSXmY#S7jw+n69!Pwkp*WCE2hDBoYNr63|bQgc+=nI`8{z2JO5%>$u%D&J32 z2~>QS7+2GfO=e;VwFdMo8{zA$WG&1b=?%)DE|31~VVOzfB=6z-ahmS*fLMRkLoNy9 zYJCt^p!Ef9TpA;qswOLy4%n~l?)RvT3u6qY6$Nix7>p2xqBbrJQh~-0l+0>uS2Q(R z11l6sCGN5MQ^_pmC{BY2PG&J#AxuIgvzWvJjUuRO)YzfLGU`kvy~KTbP*o%Q08Uc~ zt{U07Agn-DjqG#+4In7NWpD`4(&6Ets05c|1g8lEC%7DJ5H_F^Tn<8kMi3MmH)b?d zNqDx#P_eO%p3?w=V`Cc=g!-x2*haPkDnHwj&cIE(y9c6`Pt$KF<~L=%4ogHadX@XcV(SX{v2>$NgwB8po8JDnD85o&tY7 zq3c>Ee*%>(DB;wkYMK)Bc)*5AI8oG`$`+h(qF5jlP9>ZuB7sU5lpiX1sbG9kgHLbWhy}*^R!elV?6)tZj^(mne8%=(=dw#J0cfu z2;-d0!~KqHpe7(;uMA`#xP1*|=O&kd?DPT+Bq*N*IW(TY@Z2j<`6R{|PO}KkCovcy zEJEdz7^DJ?A!<4Oc z4(mXVO{Ygz;y^OWU=QOoM!VPuiOmaPlKHtg7ibtk{q@at)lKfsp6ai+NI4B4xWC@| zd_w6|f4xN^P|<=KT$>Xun&Pf$s=<|@om-&kw5Qg*l4TFoIiNn5+p=+_~;c7F8j18^~!W!4*O`ZU`e$6+$<9fd&%PEiz}?Ja>yw-6EKh(*%OM zMexTHI;XltFo8fN3#xIivuRpUT}oGKPv<3OKIXqc*Tpw|T|SkTijbJTYD;G{>k zi+UP{Cg)VP;HP0|9tf3FPs7ku0u?VPvpXjiRe29uC1^QSE;zGGFhJ;=%Ip#(0+lVO zkTfTzWwJ`#2opT}1*k$2dl;t)1Q(Lnyb#u)3Q25gfrb%ONSYfjT5$pk9D&+)mzV7(Gq0*==+j{-m)flwS{O|_})Kuq)}D0h~s>0%O;d-a*W_KhhW#_V1uv( z<(eFX0*%n;R(As|jS)4eHmQjYux5LNNoK3N>ljW$2y1nBWrQ$=+3M~}D$p2x&dVE2 z!W@G4lRMVLF!S=>13AqiEHCfP4PhHIFYisi;~EGWiv8qH4g=W-ZeIi0xyfZ9JH0>y z35v9uYo=ynad7twXQXAL=QM}lNXy0qVFfDEvXKc?exILdFy^to_ zToX837iLJ@CkM3&Y_6f`IgKIQHBn3uMzFaiicFyL``koqq6Bsxx-=16lfrBwb{oQJ z0%1+WZhR0{Fq??oC@3==2S?r)e#;N4mzV!Uq*)sFkHBN2> zDlo#Q!1}n-)dEr$MtGSHgEpP%wT;;hc&S&IWKe%0SiLNxCgHv1gnk#k{LLH2ZR^x( zYad`3!??j5e~0R)uU}u%Gfmt050U(v_plr4x3fc_np$@4be2g9dUaDfk@)89f3t}c zo?_fd4F9ZZlugW6m{$2~^<8foR-xRCa|owhdf4@56Cy+jK^ex$5n&q2;W#M;8i%tg zVUsHyo7KpgE#S{gtCUs!xY@9Z*^6R;lP2f1NDs>qHqJv9=ae~URtQs=Eh#L91)5<+ zFWnX>zNeO^8^MWRQ6-*Asw|_xqBcduG|}e6_ITGYk=ZzE`VWu6oQuesKp%aZodr`! z%6_?oG#4MUoiw*>mTmL<>i=MQI?>gkr51x{tHLv4=~NuvzZITQH%$XS3&VQTd>Z_& z|G7S%ZHpz-;l_4Vi>KPqPrR^qKDBl3r?mQ|=9~L4QGNE{^ z`6q!&gU%cqmLF+VYPv(!KxP`$meXPCw_sB{ILt8$8m_P^KbZPC!rvGdT29rHo*c8y zk4NgmL)33H+orK_#{I0|8oOhq1}|3RSI5}ax?i;U^;^i--Xt_Jm|^jfm5!J=S6d9WxPkF|u8Y6c#F z8CA4sVKCo8iMK~{K0W<^m%RzS=rG&61qOiVd?ffE{)At8v<`o+0^bI%Hvf?Ap@tFj zA=}59%!dH;A)0vyC1k!k4}2YL@bMe)&s}yhes5@;Qjj+g@)pQDWc9FzevI6BTI-(& z+`eV#fLk`)K4!^%8~(FqLuKlS(OqA@vD*j7zBhWG{cFFx;*V?Yc;U*Cg9h%u>Fzft z)vTHJPJR2nhp(Bx%ZALG=ik0kTm9ct z^Z#$J8{>o4Z`*6lHKSXuy6LO~|NH$1W&2*PK6&T0_XP$6o^E|bRo6f9+Q2}gO<)T+ zhS`Go6USF(#PoDdh$&N)jHr0QyQLzvsU71ILw$1n1*vgF6<#(Y>Th{q4b2r z96&D3sX5KYoTckNugJFta_P4=29CPWy22*XE0svQ8jhqA!7R)R1v_JD(7~IIXt54> zarW^A!HQr3Qv4kKMR4@G@nR4b=)h9c0k4=(Mq(;hmr|KJHFHv|!`KT3?IUVZ$yfxu zjBS=zeD4&q|IFA6x(?AzxGMw{_#a}IJ>%~t16fa}YHA`xY9f?F6UexBxu7P%>Sk#o zgf(GAz^-EHn&<}N9MFe||1- z~;G=23pH5)G(IrN4rC%(I-d(z9lnZ4!ROIEC@3f}+w zMMD-mbmP^3(*4Dk8)mQj%@N0i1B#x1ag~aMGyqVrJh%5yqb+JlffB7KE>wzIOCnGu zcJHyQkLU&ui^r9gqd=Iytn2u~AY6L@3J|=(E);f$HCE0H>yx3w_}#+lpfis*vAP>c z5EyFknl~K$+-8TlEH!^@Mg?-*-nY$<>lWESN4BPkC$yUf!z%r@pty> z+3R@O_Hicjta#Z@$r~?!tGsvEY4M>oD_brqyl40eFCCt2JZf-_b)1||9#}K z(eV>rziqe2XJ5Rwx$xIB-ac>Oxd(l9(OoZItPgwcl=RaJx=Jrd66%Idc!?+0} zrk?y{=J=fqzm&gj)+cx0a_5(UMw=J}ilEuRf4SXKQN9u_ZdFTL3YAhtRihY1M7+$q zSw#t{Dm4*niz&%WxN26@Qg9Uz`e`|ux{i&RLyXjvNy8Z(_jJ38a#EP5kokG&C*;YD ziH|j3BJ{|s#$*<}i~dDVz_opig)`s)lT0cVPX{BZs2WLuJE=kUEC`7UgT?wb*0^&K zhxlRJ?=w}cO^sTLw?f^~Ov=E{=IjJJMEs@CQ)*9pu_%A+=A#CdC;UaMWU8E#tkcBKyN zf>vVlCwu#HE_Y~TR!@;=A=ghfL}P7a+=uXPX-+)*iRYFzT~oaNzI`U`mG{A<|K0oN ztrdBhful=r{qVWXs}>D>Y1mn(Hs5y11-DQ5;-?WWJ-BYtt$Y0M)`x$0V0`iUWkYIT z9q`?rCoD-mbm086ZYiI>U-H{ipTFcL<(RztzgJ(|_r>?0`}qGN`OkLmKV?nx4P(DL z`1uKAp4vR>!<(lR9X)R6%^O}hviv!HL;U=TQ9r+M)H|~S?&h^Xr`wq)5Q#*}S_+C< zTO-lJXf#?_gxuiJVGBQ%QDV2@1H>M&>)J*V%Or`@S@IV&GiMs+PDTdqHqyPQF zBYNC7-2Q$6m~4SxFp&qp*eF}t!_W`$AF_X*$-fg^1x`|4OkMY%(8zD@csE$T_L8df zcON}+PVWGGoeq(Y8Bh+}&`> znzP4z-8_Fo{S&KpYns`)_5LfX3yVMf;)@~YU-OG;_e{Gl5gA#1+un`!3%3>i>cWxN z-SN+hpT2ule%Zxie^LY473WVaIpVjiWrt<&(J{64^9h3n{&4;~fhN1i7L*Lz@nA`f zs7hf)ep!BTYfCvmlW7~OuGHtvo-?WHk{UL)5h#6UO9S9YAkWGb8_(?pT}E&wW`u3} zoN~G(k8{h}4GnRyca`(GH#SYWZsmu=_8+#R%f8vVC>FJ1Y&5!%nS zSXKU)+Q-H{tHbeu8_#{_k^{<~LRAYFQ&`y4Q*T^3oR$iupu9X%UQt+BP*fJNQp-dp z5I$3a<2U~B(^>O0+YZdU3dY(&M^vKrgWZkNqDjFS+>j5EU_SZdOlQ^8Y(^mXG$Z{g ziakQ#Fnr)~1#XD}c-S0fonOWF_N^%$dIe9jI*8ZafP0cgnAAZ`#i?KNpgGJWzkcm4 zUHIdPc<}@WZvvGY>z#6`tprNOP=5>>KE~)^!EnBB>~#$tx9KbNKJMgrtu|HzJJY!pYrO8w|;ziWBI?2ocGIfuHL=*t*54cJnw=d-{1204SziU z8EvC_?w~g(Uv%SX*|!Eg_|?FRKimD+Uo86VwFBS&BKmEm*q# zvd22#T7KBW8^`~v?c&b&|8&UxA0Ak^>WiBf{_~1QF8X-V#Fg#iZ`0SjZGma$ZCrQ3 zF9Jq4t&1TnC>8}_cD68gim|mIzo59ZT#15OeYsj-t$0M9c3od#*~d1N`AQ;gG+?;& zp;!bKcCGZhar20yxxpHw=ZGO@$uFn#xmOf^nd(69D0eT4#kfl|ibVj`VR|s*CKC@W zSl}s!+3CKl-$~9T25qINy{cX<<;pF^7m8nkrQge`@8T=MzOTR+-zz@s;RwPjm0T)W$)kKJ+A z;R{+O-mXp@_x)>=GYe8jeZ1|L3;#ImiOVM+y6<@-E7iTmCmy}Dc;-p3T&f3zcOAEA z)rd_)jt<25jATKW+d;SFgT~F)vetrvXi2_Oq!`f=o%G!fp`qbYbc{5p=~PyWfKFw@ ztJ`BISlR$B?gpM%p`meDgd-@T#&No)?HC=hG~yB(Qj!t=&Nz9(TM-t7dbi9FUJ#yu z%CpSao*S?yct9ISLdj%QBExg_GMwQViLxjb8K*7D(@!y*{Oh?r#bbRwq463gcYReb zv1L;^6^ueys=@*dmAeju7mQ8WZDt8(C{Z8486EHHOQNSMx^d`XnkuOn3_Ig(y70p5 z-(OgL^|G$uH8V=vZdz8GtZW=LxNX|Dt#7=3-6><%ANj<9EMh$tK=LpWogFo?Pk32j--7VlK2zd|V#o>;% zxZ*O3Drxj+6WGV5lALuH%(I!$nZaPyGDGi{ zXkrDC6xo?Uc-S7QO^c_N(hr~2RVwj_OJK)HGWe(Y3oXlJS<#8L^^xe`yI=_+xF>}bh|K*P)!+uxn0w}1m45CxCN78aIOl;qAH zyA|+y*`nv1w?W*FZDvAj2?cd9en@m*V?MA4a0Y&T?9p@1VGsVzY24_=wq=$+&*wh1 z=fDRdIooq|QoNEsUH3VwJqHqT28cr1a|r%(MTwaIZs-nj)Q0vxQ|^l!ht;7yHg&w+AS@Zpaa zqotAJf)b^$wWM5)DrJRG3&0^#?KyCFp)W_q_rm-_=rf9nTk*5SRZ2z)gT@T%#4qa{ zAY+_4mu=?&&4Z6;Sex~i*8j^q$H=@vo^>oxP#?rO$;mB;E`{My2`O-P5J&;eVxgqq zJk1D8L6u)TB(`kT=c(Sy)4%x4V_Yb2+2^ji{$tvQy8XgtRAUsUf%GZ|rDIMy)=PDEj7+_+>BTgD*dRCx~%*|agtI{nVZ2cdK0 zmMGin0+oIu-#P)#m@tl0)1qNbZ4HCxc0v0&aWIReW9vxMp~UNYD4}lvjMd7R(Qw(K z9<^&Ea!nj)CfEuAwn92v3O4kcsSKHVNmq)7x2nImxQTu~u7hbWeaWn!JA%d^0-kCm*jlk3eM&}QUOL-2PR zD`eQ&L#!B*m~hc0AwfeVhwQ9z<7vmLKrL`rwgoRev%mu{o~jdPfYSqbnME|vj0w(C z&cG*Puv@oKHNruKJBQGt2FMA~VCrE&L+}kxumRJ;6-*9}e2Sqahae<$;4|7BkIV8v zhx4#v!UVZIlgatiY-=l7h|05Yvj4C^xgjf$mv%`&;9cvYvO-n(-1)Q_N0~el! zOcTD4nQT{rvx|)9t<&J(tz;ytX=;+`b;fy)z+ghB7O_3h^4^C&d>+U{o^H6h=7^AX ztQAf1R5=Z`0uZa_PL%SvrndgT8e>@->6DfeRjK|&73AE1P@3aZt}OiYi?6CnCG`w@ zEW(PASiZ^{fl=ihdiSfZvbf`32X`!Ab&3;UK}#qaYh24BkE=@ehpTGrP$T-O4CJXh zR#degLvUgUC)if>rwb$4^C{X`D2e(8AIKn@f0aq8Pah69LjZsEYVsPPT z3&uF$i{AHX^1(%N)2?-y8E8eNHR=ld1(w0oYdj|A0 zKDbCFk|COKEZ?&)l9e?8dm``cWS8s!%Uv4(`K3i(3MXO4c@{5ES_~c%FD0-d4O6AI zWUZ^g2w$}qLt>p6!^?XMNuCxjC4yp0;Xi1h<0>5T*kC1WpSZL?a5W7)RXzt)u)z_~ zHObZ#D_%d4fiT-Jj5Y6|YE^%_G8>CNT`kqz%BS%sEcg=N&BYJ}Tr3A39b~SZ`?!;H z24nKNx!hUvDa;nQOGLs;U~nd_Zb|xQ&|n%_(geaY=FSk+E!iWmPa6nwVDJlvX;gcu z^tvURJD=hV)h*dVkx=8jWr8O_Th$*6DLi9gt`-A1FCA~Su{5~Jo}Bsbi;#_$3DI^p8)}ZkzY^Cj&4MdZE2@azXh_!*xi81!D<1_rAt=!qK8wg8^ zZpe(Us!k`ffCjBX!%EoxL0Y>8>AZDk*QlSzqtAaGD^>yowQINx!4UIyZ_?W}T-fue zM?>uzE>h8O6XwPGWxoL7M&6Y}BtlsG1(RHd8APTx%=&e|KuY32U&h)mm=clj61ZQ0 zr;EzTvT4dv2q{}(+2+X5wI)>#YEB#I^KG3%sVsQ!Pq7w%oX|44jk$ zE^SwcWAKR85CvW?LomL)o3f<`UM}qU6lW;#a*>M0o3OTQc(sF+m5~;M;k@=V=M_bW zq2=wm$V(lhtcMg+J_QtNlBHy!VIt4)yqI)4Az^NS^xc6kP2F3FuJ@Q*J-jB zM#>@te?A3TOAfWum=or@q_z0h%!2Jb9U7=Dk(b*N3nXgsrzv%K!O-6uUea6qX|8lo zp%YaBb9uNVF&O;vm*wF(dl$dIHh{bZJ(x5dJg|x9xy7^q;dJ5_F8#Z^GCPnoU_M4EV<$V0Pg~PN9Wi13i3Pu#M ztLb}cX5rcAou_G)?c7a1yWv#xRf@S5tCECSQ@8fL;go3yGJ5TXV=QKe+mXk#X&DQ(Oh z7^;dnsW|~Ay(;G9%%|u=RWYYPlAzTgaThpKO{BE0nF_e7ISRvmW-4&36_7gUIpMXe zA9jik-h2wMg&yjb1hJ?@h}FlagORP4q+ynvIt?e3;{5<6i)a6B9~*3Hl>`}?p?q^P zp(Mdd7d57IV@6Yzgg%>XiAN%oXO6*;+Ww(DlRuw&C?b?+ibX?CSSSy#Ba%{It&Js5 zWx;ExIhEk+I+P&%yaRRe8X_sxRLraYJX0N^P7)#l)1q;y5UE~<3R%oJX$&DBs6=8~ zPUvK0FKjw=2)=ykeNYpTT^vb}l9p-L`L9@+1Okfc}GX|8;VBvkRIg^>iM z7Fmm&5pJ_0q20};&7i>0@s5QS%U;k3etDvy9qR=3dP=1`hzEA zG94_ipp8AE;f#NzZ|o62KJ_tZV~@ljAtNw^mX^teeAg)n68)yP?tBU} z)H=r&iiDa#FD7;2t9NZw^Z%|7UG6d@*}FeID>?2xg3Dr^tPt zMac=Qe%a?)T=^7Hs1ipbN)nW$wVTvs6RHMJwVwlSsZFs@7D4SMc3K>1?QE=sE*%2W z+fD3z`4mv7-NY^q38{i$3D@J?9M7vr3)yG2ECyI|y=f1H>;xJ1OWye>=^;D8l20*& zwtR#nBz!;&CG42FqhRTE7?iN!3d^CnEPOh3a@e2OGgcCkrA!bxBTLE6=dHui%xwfZ&eu5AYB zYDKScoIsO*wW1f3K7}2+TG2~1Nf?xNTaaCr+E`nAW~mClv)tQ(4j&%WJs~lS6M@oi z3(6%~H{8hj>ii#cevXG^lHeyTiAsv%d2%31qA~|?LQZ-TmC2k>ogGS|GG+2H%)EPM z7%;O2?0_({nEU?+W|mBnU?wfW3Y(C#8o2Tdbko2hBx?ml306BT2AB6XQ+k5c&X-Sd zg%YfGacD>hEB|EWWh*R58ULE8KgG_()_5G9xeUS}^WKK8l%LCRVbG^&i{w%~4Lf0Z z*?#b3#;s?3p3I=dAlqR)86kuJqJF0*GsK}GCCrnZCe4#&lbKjT)lY5)hXQGhs@55U zYvr6+I;+GhSr9u6&8r+^IU#qZ^o#V+T_EsyYF8oshrz|1c94Y0h-^$U3ITi2BI^i) ztERV8TOxhsG-m?j*nc>hO)Hgzi@^N9w1*AR?6xi}U^y-Hu%VNh6GYMLWwvCyGjXqO?JK1+Hpv5B@5NVs*4DLI`@F#=O1Up~a|A(dg|CE%8W9@?J#9@#KoU!m1f!&~9U1f_Z2v zF08r@;zXhR!m1mCK1Clcth&i133k%*eCTWj@Vu}ROE3dLl;^XN;`P?s(Miwq+1T4KEvy7Nb5zr1!FHi6;q@XGp8jvF$alB)_6k)iSZxSOnY$$=s0~7%u>|@*RB#WVOL&N$1!E4t0P}Wo(jPfwGUro_p+^pxGSM&- zwhNYa5m%GCEEDwFeV~iDC_)S?@6(Z_U&KW*Xc+n6gd~c4Z~w!rB8=S(&@0c5oH5Tas?LxzE8woK7quyYB=ucBJnC^m+*em3VvUo06m3GvwT@tTL!tq8DM`nim zLu0UW^M;-Ljid{I+@RaB?xaIU?YfzYgq*-stF$L;2sv~^>1MG7XXwcqJ1vHocY;;= zlQnj}diN&9dVVl{-FcsEh-Em@0Cybf%6te+)io7is4a) z%Myf!4won5iP@zEQ1EdS<0whu2s4)e%1*1p2-14{BIyB?oiA=M?O3rn3ZU%bkdP9X zY?oG-hWyW~N=3k3P)X(y->5E45n`X@oz0S7m!_EVDUwiKnv#Wtk;vq`v>-|6J`wjq z5(<)Rq!>%yDR=2Xl8r5&q6q~_Hfd-)2}`smWYuy^_R-Ur?5KM$v$EhI#*p%MPg&Vj z90y}Q1r_S{bI3!(N?gKST5VaEpkB$e>z1&EPN=qwi7<}5U6b_MGG@r9_-Q03D%3uW z8)5D!CDk42uVDOK>EDz7w zyZHUJffEsZZ&Y7arj$fVN((BAiq-t`3gZI;LpqDW1TM-iDyYZ{2&-oR)tmDL9ub~O zf=#$_d#?U#I+g*wy)2ucRsi==oW>Gf)d0rglPI?pQPJI9NJ-{BN#M-F%Fvkk-l4?n zoF;3LFuw>cIHy=0F~mP+s8TWtYd#?}z}L6G88DZ*=Lj+b93sgK&EjVRj%%zF=5{gg z#HsuR^5y{KEw|ol40a`{e1UkCS82*pmnYlM-3BHJrwLSfCLnq3hU>4d>XhhK15=9L zK!hXu6Smj2LXetS`fV(lnud=Q1*d@3C8581p?OnNnE4k7Y_=LU^T_v7w)@y+-Cc+saj zt!g`GzokcC`0m>BXU6?~r}gRsh9>e*pG&A;I9Z5jjle*%W@21y(d__3=!Cp61zx&OSBaR$7ecj{gk>5T(c;^Mb*Hb|SkCe|@S6WvR zK#dx9ae4uxqJoyzqVkebC0bNktQM8P$P{E$smxG|ct_o&Dao`FfvF&-vmRyoI+BhP zK8xi!Y?2$!X+MV{NH5IP!r{0jgjg;U9EDimWlp0=46zW8-4M9G+Ek$s3rNr#NN|K$ z6879?Ek=jGt=5e8+$ISpG$ii1NnZU2547htrH}*>30?!1_8GftW%HKLDosu8^+PL2N$^`;H%