From 49f724f08a58388c912ce6b6049f9f3796abf052 Mon Sep 17 00:00:00 2001 From: Braedon Date: Sat, 12 Feb 2022 04:08:24 -0500 Subject: [PATCH] Testing jpeg cardboard box background in Rhythm Rally --- Assets/New Lighting Settings.lighting | 63 ++ Assets/New Lighting Settings.lighting.meta | 8 + Assets/Resources/Games/rhythmRally.prefab | 702 +++++++++++++++--- Assets/Resources/Prefabs/Cameras.prefab | 2 +- .../Sprites/Games/RhythmRally/Testing.meta | 8 + .../Testing/stage_tutorial_model.obj | 184 +++++ .../Testing/stage_tutorial_model.obj.meta | 102 +++ .../RhythmRally/Testing/tutorial_stage.mat | 125 ++++ .../Testing/tutorial_stage.mat.meta | 8 + .../RhythmRally/Testing/tutorial_stage.png | Bin 0 -> 41297 bytes .../Testing/tutorial_stage.png.meta | 120 +++ .../Games/RhythmRally/materials/body.mat | 4 +- .../Games/RhythmRally/materials/stand.mat | 2 +- Assets/Resources/Sprites/UI/You.png | Bin 0 -> 2645 bytes Assets/Resources/Sprites/UI/You.png.meta | 96 +++ Assets/Scripts/Common/Billboard.cs | 31 + Assets/Scripts/Common/Billboard.cs.meta | 11 + Assets/UniversalRenderPipelineAsset.asset | 2 +- 18 files changed, 1356 insertions(+), 112 deletions(-) create mode 100644 Assets/New Lighting Settings.lighting create mode 100644 Assets/New Lighting Settings.lighting.meta create mode 100644 Assets/Resources/Sprites/Games/RhythmRally/Testing.meta create mode 100644 Assets/Resources/Sprites/Games/RhythmRally/Testing/stage_tutorial_model.obj create mode 100644 Assets/Resources/Sprites/Games/RhythmRally/Testing/stage_tutorial_model.obj.meta create mode 100644 Assets/Resources/Sprites/Games/RhythmRally/Testing/tutorial_stage.mat create mode 100644 Assets/Resources/Sprites/Games/RhythmRally/Testing/tutorial_stage.mat.meta create mode 100644 Assets/Resources/Sprites/Games/RhythmRally/Testing/tutorial_stage.png create mode 100644 Assets/Resources/Sprites/Games/RhythmRally/Testing/tutorial_stage.png.meta create mode 100644 Assets/Resources/Sprites/UI/You.png create mode 100644 Assets/Resources/Sprites/UI/You.png.meta create mode 100644 Assets/Scripts/Common/Billboard.cs create mode 100644 Assets/Scripts/Common/Billboard.cs.meta diff --git a/Assets/New Lighting Settings.lighting b/Assets/New Lighting Settings.lighting new file mode 100644 index 00000000..c5c4b2ad --- /dev/null +++ b/Assets/New Lighting Settings.lighting @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!850595691 &4890085278179872738 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: New Lighting Settings + serializedVersion: 3 + m_GIWorkflowMode: 1 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 1 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_BakeResolution: 40 + m_Padding: 2 + m_TextureCompression: 1 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 2 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 2 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 256 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 1 + m_PVREnvironmentMIS: 1 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 diff --git a/Assets/New Lighting Settings.lighting.meta b/Assets/New Lighting Settings.lighting.meta new file mode 100644 index 00000000..4c548bb8 --- /dev/null +++ b/Assets/New Lighting Settings.lighting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a58de5f6b45cf44a9ad7f94458a63e5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4890085278179872738 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Games/rhythmRally.prefab b/Assets/Resources/Games/rhythmRally.prefab index fafaf62c..91ed99c0 100644 --- a/Assets/Resources/Games/rhythmRally.prefab +++ b/Assets/Resources/Games/rhythmRally.prefab @@ -32,7 +32,7 @@ Transform: - {fileID: 8145851341164007221} - {fileID: 5184658146293876446} m_Father: {fileID: 3337760827311893485} - m_RootOrder: 5 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &6371738825610660614 MonoBehaviour: @@ -55,102 +55,6 @@ MonoBehaviour: - {fileID: 477357762692682030} - {fileID: 5809779899008930493} normalizedTime: 0.5 ---- !u!1 &1533608749823241845 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4367797717584319458} - - component: {fileID: 4158712790441062650} - - component: {fileID: 1555626676946623595} - - component: {fileID: 8540253482634749505} - m_Layer: 0 - m_Name: Floor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &4367797717584319458 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1533608749823241845} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.003, z: 0} - m_LocalScale: {x: 100, y: 1, z: 100} - m_Children: [] - m_Father: {fileID: 3337760827311893485} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4158712790441062650 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1533608749823241845} - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &1555626676946623595 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1533608749823241845} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!64 &8540253482634749505 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1533608749823241845} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 4 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1668061868608559892 GameObject: m_ObjectHideFlags: 0 @@ -183,7 +87,7 @@ Transform: m_Children: - {fileID: 7059330671292263157} m_Father: {fileID: 3337760827311893485} - m_RootOrder: 4 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &1621474196642630351 MeshFilter: @@ -326,7 +230,89 @@ SpriteRenderer: m_Size: {x: 1, y: 1} m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 - m_WasSpriteAssigned: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1871413452992259420 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3771850753172461723} + - component: {fileID: 9026084987714405832} + m_Layer: 0 + m_Name: Shadow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &3771850753172461723 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1871413452992259420} + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0.6960001} + m_LocalScale: {x: 4.08, y: 4.08, z: 4} + m_Children: [] + m_Father: {fileID: 7291063904195614871} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!212 &9026084987714405832 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1871413452992259420} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -2413806693520163455, guid: ebe73ca9363db456bacf42c025bb4847, type: 3} + m_Color: {r: 0, g: 0, b: 0, a: 0.33333334} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 --- !u!1 &2081744100163324485 @@ -347,7 +333,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &7507773749086299537 Transform: m_ObjectHideFlags: 0 @@ -455,8 +441,105 @@ Transform: - {fileID: 7291063904195614871} - {fileID: 397144130134918796} m_Father: {fileID: 3337760827311893485} - m_RootOrder: 6 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3340141389927785323 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4058529208700166209} + - component: {fileID: 700762190870762456} + - component: {fileID: 2518849484836853667} + m_Layer: 0 + m_Name: YOU + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4058529208700166209 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3340141389927785323} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.0258, y: -0, z: 0} + m_LocalScale: {x: 0.02, y: 0.02, z: 0.02} + m_Children: [] + m_Father: {fileID: 2075964892847120759} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} +--- !u!212 &700762190870762456 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3340141389927785323} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 12c4cedee97763e4eb060ea17141982e, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &2518849484836853667 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3340141389927785323} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8654dbb292a4f514e828520d366c7395, type: 3} + m_Name: + m_EditorClassIdentifier: + fixedSize: 0.0002 + constantScale: 0 --- !u!1 &3667855830336901894 GameObject: m_ObjectHideFlags: 0 @@ -706,6 +789,88 @@ MonoBehaviour: handleType: 1 leftHandleLocalPosition: {x: 0, y: 0.8176588, z: 0.45496285} rightHandleLocalPosition: {x: 0.22773409, y: 0.8552635, z: -0.3745283} +--- !u!1 &7041748797742148697 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8607121892173193526} + - component: {fileID: 208025096677240600} + m_Layer: 0 + m_Name: Shadow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &8607121892173193526 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7041748797742148697} + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0.6960001} + m_LocalScale: {x: 4.08, y: 4.08, z: 4} + m_Children: [] + m_Father: {fileID: 397144130134918796} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!212 &208025096677240600 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7041748797742148697} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -2413806693520163455, guid: ebe73ca9363db456bacf42c025bb4847, type: 3} + m_Color: {r: 0, g: 0, b: 0, a: 0.33333334} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &7207398029238753263 GameObject: m_ObjectHideFlags: 0 @@ -819,10 +984,10 @@ Transform: - {fileID: 6509993024069972873} - {fileID: 3078425781313688086} - {fileID: 4228713593463920381} - - {fileID: 4367797717584319458} - {fileID: 4959957736091286558} - {fileID: 1845910055258765698} - {fileID: 3001474442492713424} + - {fileID: 2651138408829433753} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -951,6 +1116,84 @@ Animator: m_HasTransformHierarchy: 1 m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!1001 &2540035873589776498 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 3337760827311893485} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_LocalScale.x + value: 0.25 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_LocalScale.y + value: 0.25 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_LocalScale.z + value: 0.25 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_LocalPosition.z + value: 0.68 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_LocalRotation.y + value: -1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -180 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7635826562936255635, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: f3f78658b140a134b821cb0406e1a881, type: 2} + - target: {fileID: 919132149155446097, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + propertyPath: m_Name + value: stage_tutorial_model + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} +--- !u!4 &2651138408829433753 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 8103cc38c4670444aa1d4d4cc3a0be68, type: 3} + m_PrefabInstance: {fileID: 2540035873589776498} + m_PrefabAsset: {fileID: 0} --- !u!1001 &3256800228231493117 PrefabInstance: m_ObjectHideFlags: 0 @@ -1084,6 +1327,74 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: -6769896382464703305, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0.00000006940255 + objectReference: {fileID: 0} + - target: {fileID: -6769896382464703305, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -49.51132 + objectReference: {fileID: 0} + - target: {fileID: -6769896382464703305, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -0.0000013357969 + objectReference: {fileID: 0} + - target: {fileID: -5638422680801571198, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0.0000025691716 + objectReference: {fileID: 0} + - target: {fileID: -4658481867008508289, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 4.2600107 + objectReference: {fileID: 0} + - target: {fileID: -4658481867008508289, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -170.93277 + objectReference: {fileID: 0} + - target: {fileID: -4658481867008508289, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -13.7603 + objectReference: {fileID: 0} + - target: {fileID: -3069176169067373216, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 14.5046425 + objectReference: {fileID: 0} + - target: {fileID: -3069176169067373216, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -132.63899 + objectReference: {fileID: 0} + - target: {fileID: -3069176169067373216, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 1.579031 + objectReference: {fileID: 0} + - target: {fileID: -2783740592144870621, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -26.358994 + objectReference: {fileID: 0} + - target: {fileID: -2783740592144870621, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 18.605848 + objectReference: {fileID: 0} + - target: {fileID: -2783740592144870621, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 127.53289 + objectReference: {fileID: 0} + - target: {fileID: -2221419009283400776, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -0.0000027612941 + objectReference: {fileID: 0} + - target: {fileID: -2221419009283400776, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 105.25209 + objectReference: {fileID: 0} + - target: {fileID: -2221419009283400776, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -0.00000093262673 + objectReference: {fileID: 0} + - target: {fileID: -1851684669048352328, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_CastShadows + value: 1 + objectReference: {fileID: 0} - target: {fileID: -1851684669048352328, guid: cebeb8610d89fb34688750080a285ddb, type: 3} propertyPath: m_Materials.Array.data[0] value: @@ -1092,22 +1403,199 @@ PrefabInstance: propertyPath: m_Materials.Array.data[1] value: objectReference: {fileID: 2100000, guid: 46d08bc7bd1c6e94d899e9bc785d439c, type: 2} + - target: {fileID: -1602082621819993790, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 5.1535463 + objectReference: {fileID: 0} + - target: {fileID: -1602082621819993790, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 70.04633 + objectReference: {fileID: 0} + - target: {fileID: -1602082621819993790, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -102.36227 + objectReference: {fileID: 0} + - target: {fileID: -1255978639517888672, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -0.000026220732 + objectReference: {fileID: 0} + - target: {fileID: -1255978639517888672, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -98.810974 + objectReference: {fileID: 0} + - target: {fileID: -1255978639517888672, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0.0000009682373 + objectReference: {fileID: 0} + - target: {fileID: -62205341849489460, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -18.960232 + objectReference: {fileID: 0} + - target: {fileID: -62205341849489460, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -84.253456 + objectReference: {fileID: 0} + - target: {fileID: -62205341849489460, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 47.668594 + objectReference: {fileID: 0} + - target: {fileID: 768905234129948352, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -24.959923 + objectReference: {fileID: 0} + - target: {fileID: 768905234129948352, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -176.12473 + objectReference: {fileID: 0} + - target: {fileID: 768905234129948352, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -49.8888 + objectReference: {fileID: 0} - target: {fileID: 919132149155446097, guid: cebeb8610d89fb34688750080a285ddb, type: 3} propertyPath: m_Name value: Player objectReference: {fileID: 0} + - target: {fileID: 1232208323244174431, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 26.66876 + objectReference: {fileID: 0} + - target: {fileID: 1232208323244174431, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 9.864107 + objectReference: {fileID: 0} + - target: {fileID: 1232208323244174431, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -5.601802 + objectReference: {fileID: 0} + - target: {fileID: 4165527938283785817, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 6.5189013e-12 + objectReference: {fileID: 0} + - target: {fileID: 4165527938283785817, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -5.0115277e-12 + objectReference: {fileID: 0} + - target: {fileID: 4165527938283785817, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -1.1777758e-11 + objectReference: {fileID: 0} + - target: {fileID: 4555812242332519561, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -17.08822 + objectReference: {fileID: 0} + - target: {fileID: 4555812242332519561, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 101.40766 + objectReference: {fileID: 0} + - target: {fileID: 4555812242332519561, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 1.632171 + objectReference: {fileID: 0} + - target: {fileID: 5010849817123168669, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -44.884426 + objectReference: {fileID: 0} + - target: {fileID: 5010849817123168669, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -29.665192 + objectReference: {fileID: 0} + - target: {fileID: 5010849817123168669, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 24.067127 + objectReference: {fileID: 0} + - target: {fileID: 5040510316994141049, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0.13099147 + objectReference: {fileID: 0} + - target: {fileID: 5040510316994141049, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 33.399418 + objectReference: {fileID: 0} + - target: {fileID: 5040510316994141049, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -0.22932288 + objectReference: {fileID: 0} + - target: {fileID: 5065163503074476973, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -0.000004324399 + objectReference: {fileID: 0} + - target: {fileID: 5065163503074476973, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -1.8046877e-14 + objectReference: {fileID: 0} + - target: {fileID: 5065163503074476973, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -0.00000021895687 + objectReference: {fileID: 0} + - target: {fileID: 5550206296151129101, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 1.305027e-14 + objectReference: {fileID: 0} + - target: {fileID: 5550206296151129101, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 3.9174755e-14 + objectReference: {fileID: 0} + - target: {fileID: 5550206296151129101, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 4.4373527e-13 + objectReference: {fileID: 0} + - target: {fileID: 5709030807910776104, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -90.000206 + objectReference: {fileID: 0} + - target: {fileID: 6995237456201057473, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 19.103691 + objectReference: {fileID: 0} + - target: {fileID: 6995237456201057473, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6995237456201057473, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7285903814042492837, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -9.35192 + objectReference: {fileID: 0} + - target: {fileID: 7285903814042492837, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -37.14043 + objectReference: {fileID: 0} + - target: {fileID: 7285903814042492837, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 165.48477 + objectReference: {fileID: 0} + - target: {fileID: 9109367605909020171, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -0.000000009408307 + objectReference: {fileID: 0} + - target: {fileID: 9109367605909020171, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0.0000006658514 + objectReference: {fileID: 0} + - target: {fileID: 9109367605909020171, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0.0000000051318043 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: cebeb8610d89fb34688750080a285ddb, type: 3} ---- !u!1 &7954728381481796141 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: cebeb8610d89fb34688750080a285ddb, type: 3} - m_PrefabInstance: {fileID: 7108288251017691004} - m_PrefabAsset: {fileID: 0} --- !u!4 &7291063904195614871 stripped Transform: m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: cebeb8610d89fb34688750080a285ddb, type: 3} m_PrefabInstance: {fileID: 7108288251017691004} m_PrefabAsset: {fileID: 0} +--- !u!4 &2075964892847120759 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 9109367605909020171, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + m_PrefabInstance: {fileID: 7108288251017691004} + m_PrefabAsset: {fileID: 0} +--- !u!1 &7954728381481796141 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: cebeb8610d89fb34688750080a285ddb, type: 3} + m_PrefabInstance: {fileID: 7108288251017691004} + m_PrefabAsset: {fileID: 0} --- !u!95 &9089436218394572253 Animator: serializedVersion: 3 diff --git a/Assets/Resources/Prefabs/Cameras.prefab b/Assets/Resources/Prefabs/Cameras.prefab index ade78f78..ac87d839 100644 --- a/Assets/Resources/Prefabs/Cameras.prefab +++ b/Assets/Resources/Prefabs/Cameras.prefab @@ -249,7 +249,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6234653028453841298} - m_Enabled: 0 + m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 618b0e3f6c65dd247a4a016150006c57, type: 3} m_Name: diff --git a/Assets/Resources/Sprites/Games/RhythmRally/Testing.meta b/Assets/Resources/Sprites/Games/RhythmRally/Testing.meta new file mode 100644 index 00000000..8b411578 --- /dev/null +++ b/Assets/Resources/Sprites/Games/RhythmRally/Testing.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b1a3cf61403b3f04e83a51b4475e332a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/RhythmRally/Testing/stage_tutorial_model.obj b/Assets/Resources/Sprites/Games/RhythmRally/Testing/stage_tutorial_model.obj new file mode 100644 index 00000000..83ffe9bc --- /dev/null +++ b/Assets/Resources/Sprites/Games/RhythmRally/Testing/stage_tutorial_model.obj @@ -0,0 +1,184 @@ +g + +usemtl tutorial_stage.png + +v -0.0064822 -0.04263997 -0.518223 +vn 0 0 0 +vt 0.493232 0.99584 +v -0.0064822 -0.04263997 15.02848 +vn 0 0 0 +vt 0.493232 0.500214 +v 15.54022 -0.04263997 -0.518223 +vn 0 0 0 +vt 0.00712277 0.99584 +v 15.54022 -0.04263997 15.02848 +vn 0 0 0 +vt 0.00712295 0.500214 +v -15.55118 -0.04263997 -0.518223 +vn 0 0 0 +vt 0.981337 0.497034 +v -15.55118 -0.04263997 15.02848 +vn 0 0 0 +vt 0.981337 0.99266 +v -0.0064822 -0.04263997 -0.518223 +vn 0 0 0 +vt 0.495227 0.497034 +v -0.0064822 -0.04263997 15.02848 +vn 0 0 0 +vt 0.495227 0.99266 +v 15.54022 -0.04263997 -16.06492 +vn 0 0 0 +vt 0.00769209 0.00892594 +v -0.0064822 -0.04263997 -16.06492 +vn 0 0 0 +vt 0.493801 0.00892594 +v 15.54022 -0.04263997 -0.518223 +vn 0 0 0 +vt 0.00769209 0.504552 +v -0.0064822 -0.04263997 -0.518223 +vn 0 0 0 +vt 0.493801 0.504552 +v -0.0064822 -0.04263997 -16.06492 +vn 0 0 0 +vt 0.499997 0.00892594 +v -15.55118 -0.04263997 -16.06492 +vn 0 0 0 +vt 0.986107 0.00892594 +v -0.0064822 -0.04263997 -0.518223 +vn 0 0 0 +vt 0.499997 0.504552 +v -15.55118 -0.04263997 -0.518223 +vn 0 0 0 +vt 0.986107 0.504552 + +f 1/1/1 2/2/2 3/3/3 +f 3/3/3 2/2/2 4/4/4 +f 5/5/5 6/6/6 7/7/7 +f 7/7/7 6/6/6 8/8/8 +f 9/9/9 10/10/10 11/11/11 +f 11/11/11 10/10/10 12/12/12 +f 13/13/13 14/14/14 15/15/15 +f 15/15/15 14/14/14 16/16/16 + +g + +usemtl tutorial_stage.png + +v 15.54022 15.50406 -16.06492 +vn 0 0 1 +vt 2.00666 0.495196 +v -0.0064822 15.50406 -16.06492 +vn 0 0 1 +vt 2.49175 0.495196 +v 15.54022 -0.04263997 -16.06492 +vn 0 0 1 +vt 2.00666 0 +v -0.0064822 -0.04263997 -16.06492 +vn 0 0 1 +vt 2.49175 0 +v -0.0064822 15.50406 -16.06492 +vn 0 0 1 +vt 1.48993 0.495196 +v -15.55118 15.50406 -16.06492 +vn 0 0 1 +vt 1.00484 0.495196 +v -0.0064822 -0.04263997 -16.06492 +vn 0 0 1 +vt 1.48994 0 +v -15.55118 -0.04263997 -16.06492 +vn 0 0 1 +vt 1.00484 0 +v 15.54022 15.50406 15.02848 +vn -1 0 0 +vt 2.00203 0.495196 +v 15.54022 15.50406 -0.518223 +vn -1 0 0 +vt 2.49175 0.495196 +v 15.54022 -0.04263997 15.02848 +vn -1 0 0 +vt 2.00203 0 +v 15.54022 -0.04263997 -0.518223 +vn -1 0 0 +vt 2.49175 0 +v 15.54022 15.50406 -0.518223 +vn -1 0 0 +vt 1.49456 0.495196 +v 15.54022 15.50406 -16.06492 +vn -1 0 0 +vt 1.00484 0.495196 +v 15.54022 -0.04263997 -0.518223 +vn -1 0 0 +vt 1.49456 0 +v 15.54022 -0.04263997 -16.06492 +vn -1 0 0 +vt 1.00484 0 + +f 17/17/17 18/18/18 19/19/19 +f 19/19/19 18/18/18 20/20/20 +f 21/21/21 22/22/22 23/23/23 +f 23/23/23 22/22/22 24/24/24 +f 25/25/25 26/26/26 27/27/27 +f 27/27/27 26/26/26 28/28/28 +f 29/29/29 30/30/30 31/31/31 +f 31/31/31 30/30/30 32/32/32 + +g + +usemtl S_stage_shadow.png + +v 2.863274 0.05493999 -5.532344 +vn 0 0 0 +vt 0.439467 0.282166 +v -2.610526 0.05493999 -5.532344 +vn 0 0 0 +vt 0.439467 0.0370988 +v 2.863274 0.05493999 4.383356 +vn 0 0 0 +vt 0.746512 0.282166 +v -2.610526 0.05493999 4.383356 +vn 0 0 0 +vt 0.746512 0.0370988 + +f 33/33/33 34/34/34 35/35/35 +f 35/35/35 34/34/34 36/36/36 + +g + +usemtl S_stage_shadow.png + +v 1.285722 0.05493999 4.058956 +vn 0 0 0 +vt 0.806366 0.0908651 +v -1.538878 0.05493999 4.058956 +vn 0 0 0 +vt 0.928506 0.0908651 +v 1.285722 0.05493999 6.602176 +vn 0 0 0 +vt 0.806366 0.234508 +v -1.538878 0.05493999 6.602176 +vn 0 0 0 +vt 0.928506 0.234508 + +f 37/37/37 38/38/38 39/39/39 +f 39/39/39 38/38/38 40/40/40 + +g + +usemtl S_stage_shadow.png + +v 1.285722 0.05493999 -7.171004 +vn 0 0 0 +vt 0.806366 0.0908651 +v -1.538878 0.05493999 -7.171004 +vn 0 0 0 +vt 0.928506 0.0908651 +v 1.285722 0.05493999 -4.627784 +vn 0 0 0 +vt 0.806366 0.234508 +v -1.538878 0.05493999 -4.627784 +vn 0 0 0 +vt 0.928506 0.234508 + +f 41/41/41 42/42/42 43/43/43 +f 43/43/43 42/42/42 44/44/44 + diff --git a/Assets/Resources/Sprites/Games/RhythmRally/Testing/stage_tutorial_model.obj.meta b/Assets/Resources/Sprites/Games/RhythmRally/Testing/stage_tutorial_model.obj.meta new file mode 100644 index 00000000..26e82583 --- /dev/null +++ b/Assets/Resources/Sprites/Games/RhythmRally/Testing/stage_tutorial_model.obj.meta @@ -0,0 +1,102 @@ +fileFormatVersion: 2 +guid: 8103cc38c4670444aa1d4d4cc3a0be68 +ModelImporter: + serializedVersion: 20200 + internalIDToNameTable: [] + externalObjects: {} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/RhythmRally/Testing/tutorial_stage.mat b/Assets/Resources/Sprites/Games/RhythmRally/Testing/tutorial_stage.mat new file mode 100644 index 00000000..f4286a86 --- /dev/null +++ b/Assets/Resources/Sprites/Games/RhythmRally/Testing/tutorial_stage.mat @@ -0,0 +1,125 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8211273501459147519 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 4 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: tutorial_stage + m_Shader: {fileID: 4800000, guid: 650dd9526735d5b46b79224bc6e94025, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2000 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 2800000, guid: 756599dd7bd5c1746b1d89b4562a9561, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + 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} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 756599dd7bd5c1746b1d89b4562a9561, type: 3} + 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} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AlphaClip: 0 + - _Blend: 0 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _SampleGI: 0 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Resources/Sprites/Games/RhythmRally/Testing/tutorial_stage.mat.meta b/Assets/Resources/Sprites/Games/RhythmRally/Testing/tutorial_stage.mat.meta new file mode 100644 index 00000000..8248b0c6 --- /dev/null +++ b/Assets/Resources/Sprites/Games/RhythmRally/Testing/tutorial_stage.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f3f78658b140a134b821cb0406e1a881 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/RhythmRally/Testing/tutorial_stage.png b/Assets/Resources/Sprites/Games/RhythmRally/Testing/tutorial_stage.png new file mode 100644 index 0000000000000000000000000000000000000000..f59395ef353fe444e5853d3e44b35b393ed66eb5 GIT binary patch literal 41297 zcmX`Sd00~E8#jJHN*%|2CMV6UEN9+IZA{G-S|;nOMl;T2xnWvTxlo!5Doa^enORx6 zgH1D83YKY_3YH7*m?EgCCP$F5x;i=XuWkxj)Nu@AN5e-S14l z0{}qxV3FqXo!+$1+PATQJv3|KD2{PK~=et{WYxbV`{(Gw`AoEGh zp+9%+zg1EHUEI%^e}DIL`gfhHOWP*4K|XKY^`JyeZ;&L-3&&g|E3uS0JV`QaS(z8X zKE&>RoX;$fv@xgUWVyXssUFP6&oPv%mP!+KE=&HBCMBqHNu;kBbqh`IO_P=4mwKM- z(@1KGdI6;tC<4f9LF#qd`mL__YVh-4EtNFYAbib6-A3EcB(vYtX0X*Nit@4Tz*oNV zU--sLn!1;;;jNwtP*qSOdejR6>dnDqE1{o@7_Q196OPokpV7lEsD&)WZA&FVJwg-S z>QeQvRGqeKCsky1WS!y#MWxFr(HYS&+k4i(Hi}6>N($+JPjkTc#GiqGZ@3iWs9?0=nrzuR_F;QAsw+S0%aLKK%z?XP6lBTjHg-xMDs^XMy(9)bB zvb0mcKNl-4RleOK|37E=qdCLu;DLEkm8ztxgw>^1*{g5Zs|cHAq09M>A-HJn^nYk> z+eqo1c)aV811Y~sNc(>kUi&EOeRO4MxOtXYH`Z?c(A%2ld-x*xD0Jjm9-^pz{!H zNpaGKX!YFlX^`qN8TO7z{UXZ5)D+b8<4-lA2TV+|(n8y{N^m5eLw0b_QbbFkBbM8? z+Ga|ZcCHWRTu8P2GOtZBLgbo4Hnz^}2Oz$GXoaZkgh5(ip_>gx2%RW}C+uqJgx0mN zY14d6gj2Y2`;~#_A)ak2)k(M;>OgC~V3s((2jYto6={y&Xxv3i6YnTn6}I2eGbZpZ z?Mu4@u-&z-Je$V*>=R{V-G$Pw;8&ztL?KaCHu0PCHwx{nfyY>@7|l#9i&I?fM(hgUmfW ztXU0sieT!_#=Z=l8^Cm72EAUtZ@dIc{IEqcoP(j`4oj^6425bfJEQUB;=`@|LIhz4PO#8bFsu4lf=e)!q)PWvw^4b)tDt?0H8`d@}6>*56Y z-Ef57HSU%l_MT!5)k=cY6nI{Fufh}UDPTKtPqQ4Md55%1$SRgC(*tB&XYC;K zcr5ghZIG;(e4Jx;@Wf>FXu{FTtb}&_3FyzUmUlf-rx{o+=aJuj&c&8~Uuq8N{zy%& z))NP56SGC@@Rd$yd-+g$GLIy^xqg9H-!)w82Za2iC_sy2#PVQ!OMI_bY1l5FfDM=i z`W)bpMf;ZV@5}jnA&LsPyaj*o^Sn1;jWt62dLjPvyZKi%iLO;s2NyWAnW}9y^>qAJ{*D&-*pTuJ^lXzjcy=r& zXm3bs!eH%RgF#v)+#>YXX4MqmDYk8dku-)+h9WL}yH(h>koj*57XZzpDE(id)C+vq zRv8)gt$>cv`VwMsY``KV6@LV zwzn;7Heij$?zowbJcxKb`QZ9eFw(TD@a>Twm>tej~7i8bH1QPGxvIedVz&%1%bM50* z_Q?9SP^$l{-ZE9Zid50@Z)xU4f<3f~BFiNt9|w%HwTP3qy|mjmy|t_c_W#_}?=G^k z3lf+^e2e?wm+opnrIRry7&A9pp8-^hTYRu&rtUSw^ie?Y_727m5cDRgo}P;e>dxIC z62cViM`;eFG^p>Z_dyzGWV`FD!_x!VO@or(0_&`rPorcw zq|gKPF&=uBx)-DRYD0|ov^PY=MU2%`N0`RcEf99pDyiEm1Zm0ySFYMGkJcc3b{3MK)WQ>=G2rd!3aT}uW?aNvK0T4rJuLxYt8T#Qi4?57Gjg3mcfJ9 z{fdoR5iW+abok0JxjFpsu2Ras8*unW47#4NVI3xgoCER zm2zDzQ=X4qb5YN{4>fjK@DdqREhJV^8ik1REPt1=E;nE#eq=D-{3p>qn#`h{3DH=O zD@ySiUTps&x;9Z+m)W2SfkRJs?CEo2B}~n~$-bVbdS~HRl)$I1)MeC8KZ+)i&U63e zTf)j1dn@Z++bjFPg=^%IorGkkjQrYC)v^oGK35f>X7lmQ3M7MXhXWtxt6$+q0fM@v zm#o?jbqKZ7c}WSjH%2(brgP@?(YqvFcF>CHSKJAIJ~N_lhj6)7q8+tx=2-ay&&kFc;6&&6d$ zEs|Bt4Q#;oIhC89>32-*q+mz6n_n!A0rf_{3zjb_ATR}K)R7Nl`@SM;)`kwG-G=Cm z0dj!u9H2SPm}LTClPAwMeSq&IZZi{mlpPSPW})!sov=>Rti0~}V^ya-1lEt?Z z^ys2oAKLvJAuQ4R`If5G&d`V8pD%Z|D7V>q*Dsw(J;AZ3NCW7e8I3{ECFd%~sQcg$-zYra{5vVX4YtT+GN$i_D431{^V z9eF#Yfhe4rHt&9hSp;FJ4}Xq1$spMq63-eWRm>@2024pTiy}FF{HWdDYFv>{a2+;1 zLwEi7iC;v`2k=6BMW1o-X4g%7hNWy5erVPvq`b{w#73RbUCC|lT?W4#e` z(%RmL2!T!pV4~nDi<|ccNe4Q8h{~7da=Fr^hJGNAZGTM zmnUi`abRcaPQc_4%PRM{kerzH-E2_WoZ_Ibg{D=LU!Iv+=q}=;;Ar8BN7S@8EKJq3 zK99X_CDe}d*a-;eEgQL7GqIjYJmbQ&afwF&wA*E^ST*v@v&l1hsz;WyBNCHZBPnY8 zp00}uW4xMf!Ass!x97I<$Wddr;yKo2;UHftOzcgHu3b$r1N%m@QF{j;z|WfyWA@QbzfHz zTk&y4Fhl@~8n4U&IGZm;Ma|Nqg3BzSM~cR1Zg}PXpx5wso0F6c;UDt9W*&LOybGR9 zDi&WJ+mJ66wvN2QH=#+t6f(yZp@>aQ)D<}IvE<`%fYJtOJq{=z7wO1NA-5z(h~^#a zWxcIa?{kDc^p75M?W{pRad)`9GyNSCgPNN3AQLOl4U_wQsx8|?3DpA6_Qz1A( zZ#obtS?--mdEexf@Lnh?`xVUTC38`;M&9rG?imS8Ck;_5QQ5~A5D}m zVO0)M=WtKpLldiv5hiuv9!~i`Ks9a;t^x|0_%5Ab0E1Y;Ow|k_xgx!8Zp6d+7%u+d zRf~2{)+dUcW`9>fDsyFKUsbOTXG*rSBHoj0jmGHqfDMp6_|SkvSZv_@j7k0HxSRqX z3!q+v^RzaiS61Nioh`&=&)Qtuoxi@a9Morr;G;a{v#a(~dm>SV$hM^r}nZ&H&z1*T4=)JrQPv$a5C|*b)lSXyZQZfB7|<_+qT%Da{G;Pe2Y9 z;Ux>wo_UP3cw}XNmNmli29~djy;VU3UtmmFhk8flWh-m9%F1L6Y~vRs%t0hL zW!V@+$&3u)O5NmvetYp1d`H+-CIu@^Unif1E(mr3xl}*0i3Q{*-kZ;Y%cGx~T)?3# zuiio1>Ze?8EzF9s3%d3c!(7h;M!GQ2pW!VU?<<|LhwT^TC82W+k!OwjBkO$pc;_x+ zO1QoVEk*H$$d@s#b)^iq^W%x;Et)N*Oc!FlWW$p=_xHKn#wzi=E99VEY5aK{njo2E zsy_GbM&(r>o@#)t_0rZRsG%|ve>XAB(hy-L*#><*+TsETc7^237y9X&dYSzhEfnb5 zLdpvgD;Y*WVb=48z@Z_3uLNJH*2wfLmygqICz?lAi2etKSQG>X*o2|z6)SXShK8Nu%XTX|XsUQ5 z!k|keUls;`EYI|OG!ev`ic(e5?Gsss3}Ed1-&~7o7%eY~nWu?q zj$f1q)Rn0fU;BKR_Ed(}43E53amxVk^=#^7Cxsg!;w!7UurQ0Pxg_V;oX9x_19HOo zIc2l$yaZ-t=Xwye`8}k&dUnL@qttjiNsiK|Uxw?Kr0ID;!^kFSa$j}XRI8(8N2)#K zEy}avD8;Nc+rI&?T3YsVfEqYPdGSJpZP~zw6ED~5uC@ffT|9yaE#hNIcj z3Jxh3K6=URF3T)+%E6>HnR3G?G%B3z%5Alxi3X*g2%!&RXrWgR%?&48Afz=FIyhB@ zvnmRYpCI&X%$96+^%pCH+919Yf6+n_LNBG^RFa$~SSd(#c7B&=)Lw2|B%F~T{qx#Jhs zc8vdrQ3sQ>(8|(u@kMI8opWDP*5e8?2_yJ4X3COm4Xa%G?n-dR!v6s2e_-<;F#eKR z$n%g34WTFMPc@~|u@6=@|B^7>Xrqc>ZZuQJsUB!*yVwX)?zPze-}%*}f*=;K;3@Re zTN;mQ7MHoc4}dN_k&9_8=rQ2N^83=3g%>C-!S0d+6ctEE!#p*>N6T(^Q0KkhqvuS+ z-x+rzCx#5^yFAsT+Wf)etSp*E-r~d{B!6LTO~ZA^)r^^qiMh-fc8mL?y_BO>S_lQb zRxrYBxpvG(J!S1<|LW*5{hlnwq&p|&_hCB;77>z+BDqy@e#MWR)bEjnlStBn40`1% zyTmel_`qDPQvmPUjbi<4W=yZA9YsB}(%uO5aDtd$p4wln9u34}S-%1P1bv9F5dvU) z!`dmOdu+L-$(gsZjQ|#DneBXu)4YplH@2O-=6C(jW=y#Us0BdA<|Hr#IV$w5G;{c4 zJ}UII`Xr!0XCFBLPB>E2ATRPRAfceQ(QV#S{zt4+pVL8a?tP1zLR;4&SbHqaJ@)H< zSXIi4>5s6grBL+BL*NL0MOlvS#3Nx>@vuCYfi(!Pnz;%?$iUIK-!ygLk1HA%ZR>B7 zOh|Sr8?$SAzD-|TAj|!ImDSc`U3V^MUh9IHT{mj?XxGtGxdDzyq;&YQswEqksF&?Y zdc=PS)I6glyWU?kNVq56gJz(p=E4qxcA-~r%+i&IViG-xo&$b^!GP&7&m7==zPbVh zjqLrnIjR1Odn7Jl9GU2fRtwHK{mIjSHp+Vu{;F#R#PxfF(}U33%QN2EM7TNRABM(! zd%MREJ>~-rA9G`320#fcJZAYBKqR~M3ymOuHnfISfcLI>{%1}FYygy*v_P5@XXet- z8XubAYnB?{dJITILLWtus=rk+(pl`8Je^Siwpg6Nwq zMk9NO|MI0HjjgkS%eq|^J%rd6+O1&N6+Ev-(g1V#`UNTVgtaFb0jYk3W5ADv#g=C; ziKE}mjs}em9gU-!+FDL|II28gJ&M#LZY)r>GXvF>Q7j4dea5mOWaCe+Ii%cUFX37e z?2*?2rW?0_>K}lvY4fdD)lU0+&1I!$9*|(djfhPtpDubF#5nak+GKleccB#7LPqsd zh1;N)ic?qYjoX_f(!YFa@c+_4Q1X*i6ATwxd{kN?Y|L*!_B8O`-nxOY z1{P|z;FDkmUqI%^j*lp{D2Os5>YlXAPWcj`*h2)l_QPM?0n?&jU$2-maZ)5SjK7_I z?R1z006VRhKy+*1f5JSBHy`xk5%USMG8z|qW7sJ|^fFZFJ|`>{^2egC92g6E5PcXw zKygiqua|^#yppySZIRX#D@RS@Brj}HqOD5ZxV)n{OKTvNL1~&lz$(?AVGUhf(sn}?ig?%W^@4MM`<%KZ;WlX-!glA;>j zn#Z`$%&i0S!<%Vlny8vfSFeSq7I^C=_~AY&^<=k>UR7lnb9&Lr_n+LXI3&$it=!v= zwy!nb6*=XM%?r;xK{lm}7@MajZQARea|!vk+tAV-mv8|cV?HTf_@C}w<}ag=Tuj#) zp^ZgT&Z4n2h=A{z=YOB@eB<+G-!C8U2l2+Zi-wSWZNYI*hO6T$@jYmApW08WLI1zimxs>YzL*&|e27xM?c~4m7>GG}Ov}3@F#yA&?Cz3lc&@ki~Z${Ii z?I=|h^TD1GHV85!(cUtzoJy(WhSZMV7&bh(dCM($t)(Exd?-O`0x6f)BdbT?bLq*{ zsQm%ZL)=hNs5YXQegm7!PZ2H&CQy0u+?Arz0wh$cKce#TgfbM%7U!hNwyYa>);+&_ zja-WRD!TNk|93C0vQKRUImkK+z51DT1o&DD8@OF~>HPkmgBaehl4^hb*_wX?j#@e` zAQ%CTsU+AVvc?~};ftvqtJ>{d;_o@n=9XHvn?}o`FaTyZkSJV9>t%KRk&#@}IPfB_ zYV%fjzqQLkMj9u8OfIr}RFtiSDE3@IVug$QigKS9Q{!01?QeTxXzm@JLW~`C$)D!B zdHa{l!CV}v(nK|cCeg3P{ml9#r8zR@t>C zbh~K3T@L_7M<3Y0Zu~Kz2hmt;RmmsfOL2dCHsi%tLw$42gnv|v9a>s z%-$rj zv)j1f#=a+vvx3Qz?L463=v%M9FD1q`agRs6_He!wx*0xn%o`XU3^YX4pUVy$it>_q zXxaYfUr}nOKa}&!AUDd({X#tA#pDvE(!3W9YD~k=cYx{_G2!U?;ZV6PC2*m34GAs^y z_8tF{`ie373qyCdrOFKF4M@iqF6jD&*4G`jh2*{D{+9sCoERVt?YZP+sr1ki8tj38 znZJ?p>--yJV;=h?&@+FA5I^4#7s4_a`k*c!-l0`ey*#2T+l@)BPf1kL?<~*WxqxM0 zdxxnDl=z4?5bmSnD%();&ZqPR1L=X>CSNa!=To5*^!1%CvSB+#na`5mQpKHiST(^< z%M430ml>!K!J~=*mEG?SruPTirw9GimRCR9S1-mN#SC@GyhU1#hHk>iW7;He-KeBjb#|SAG`Q6kmUgxlF zD~qzosWe^?+^Ua)N-1Uae=efu6fEB1+{tcyBKFRUyUDh&yVT)f(|~Uv{F6n#Kw2$%N-yjr@Y*Ugey}P$- zvq_TW#Ihm&NKkLB;xrny7tEQ%23XLvy^zg0>IR8yO|-L9?uK4{hkm)RoK#N|l3_Xm zH!D@1A?HSZ6FcH%)N5V-+UuafQaf(bd5(kn!3vhn4PP^+I1ApmAJV(4;CdWZd|{me z4i^hnyjGg5l#Z~HQ}H>4l9cT^Nwk{OJ1LCV@^L6Ds?tx;GyDN%k%EugQ=1?b*_~TP zYgvt=np1|PvCxv1&1|ibOmOEVSwfm0Y-AfCvWgO~-g|!%h~qRYGqg)uoqdB#&@Y*% z3#$s`UeFS9e9<*-n%y1ONWH3uU@e&4#0oxRBr8AH&YqAEtLA3|dxm1BPXanoUR1|b z8)6r7s+GSRh`$v+>LyRg-6yso`n9tP09k1}t%LHA@Wb`c%{NJ(HNqFdkwv#=dTDH} z_W9%As~0kNSQrv@qBY(>m710Pe)#C9(*sL)=y+CWqS;799!OANN76t;zoXwpQv!ab?$I^tzUhZQ{Pc!$4azD># zhE_?h`Y!NFaTjbh5(5OoPR&y9WEmnr|IhXxVQEt1DX5m^Zeny2%poc-&(Ai<%u`yP zjiQPbN<) zCN>LlL49k~5aFyEVe4jl9T1k+RZRE0ZY+WR$|-oW+aL%lqSy0B0Hlffomu-Eu#Obe zcc-8yRA6sBz+PmCe}{H^*E)T3r=7iAeOV;EMxFFSefG?Amc>&X5^ScVuO=x-X$Xb z;9_sDw0Uq6aKx)_6;_eXWoT&i4}-u{;xgM0-roKOL6g?-Gke_pc#{Oef*JI6u-pbE z16eocbCEQf)_AUQ3jFN1vtLlhd`=5AX$0}KnpO{w7uXg6ed)N%Nv<{y$ zHdl;YTAy7o?_Rp*z|e^a$+7xmTbebIu+sm1e5_y@8IhE*M^i-d+879Z^rDHoB{q7# z#g_P2s*=V2DHyh{sBkIH!pREIyuEtX`>^WEou)ymeq(y8KbJM#09P_+k?rymP5nC~R3e^v-U&U}HkjBRWp7AZTySOXsYJs-gCa3sNJ9@AHUK z&|*S023Sz+5&><0sgohrlC*iTmbnB_OE*7yb4vJ4NdT+d&ziF>*0g2l9h_JG3#q zksbGCz6e~mYV9!8!wbUx9gd~V{oJdGZ&I9N`;$cN8z(D23g|m7Wc;3Xt?W6^EIUn6 zo?AI>PLn5dL21?&;xVs?`xP#Y+fQ~ndC!$SpPE}~k=f9v zLDTtDlLTY9l(5Q);%_bl2p-^`0Z(ip$r=l@9Z}%J1-&ZeYa#s2$hnh$@7uF|GwPVG zu4%IK%#a~5S-0TzXNqBaU(iE#-FnO7SMXts)H~4QJe`&UJQ<^>L{dvsX&YyPofA_` zFc#gjXZB|TkBC1Bi{ioOQ)($K`wcV^+iRwb5wgIKb(GqNq^K+jY{0)w(KGwN7CE&; zoZ2&H0b;)r%zd2Jy>jq*>^={b*4or>e5@u#1@1}l$*nUrpeVw#0T$Z-IyA61aU3K# zcPfrHfZLQMj_SDYX*MLBEE#w~7hi9`FE!#F$#k5K?AQ6?xK@hR0ejO|OW5zV>G~rF zx4f*4q~mM)hzJwkfbT8IY;gs}t`g?-vr`a#nvAANrQa&}}<3IjVj zpLp&3{CIrzge|rYgW9ZKIV5zF?Cg%hja0W&Mo*jHz>`V^`&&{*6k@W<8hS~w8%lH) zheE4}8|?2$i7A3xTPt6A?IET)O$B>0?o_uBQ+HVyxBD;WR)ZVFe_FkB;6I+nrL1!w znSot91Pl?f&x=iAQ!YUqGPUHnGCMz= z(C0bnIU#!nIIn73VL8>bjSyC75)$v|W#jS@OA6#KQ#@91@)HDONRis_>>=$Ly^zGU zz3;#qb8@D2X6(tLtu?za_MK^Cfox?Ocz~Snfvruu5J#RUgACf;&hmcExRB7pKQcI9 zi0ektY$5*$J>{1zcw859d}Uf8FHIw?VH>uzGU@QN_(E2Q+%7i-*`iv-V}3o0r6{Ll zpr0(5&!Q!m6+y;I59HW$WgxRjqNdU0ToMVT-HukB1lV}4+J?xq^YYjU z%q`j_-wvocpc95!-?;GeDUGNzB{Z&XJIDf@zI+W&-3!^b+;}xM?~sXLGFf0l94=*Q zmsC3vlJ`O`%#n*R1IT8PFEsCTkl;Uphz(9XVAL$O64XH2m)%=Zk{Hi%;uKM;Kxp2dIxxe$MTW2i}{a zXvq;B(cR_t%YH6uD*Ihy^CJ7NUMF;o^grn$Qj1DY>i@_(+(Yv7itph<8JXoKWz$pH zBabJMR7aE$h85_xQ1I6-iw+~%`JUg6>~2U{87(9282YN{-mCxj7?zn5v8eB*YU$GAMqT#T-$Zac$W>aWfIrnh+g54Z{jXC}b#$N}d}zgI$Ld#;w% z4*?plLM>#`uN2W2U~9*qtg+|;?2MCYH@FQmarXdIoh6R==+F{*IF~8Gd-(pF_C; zh7B0uSAGbo9R7z3L)Z%4?VoIQU+ak%g3u{+t%S|Ip$jh;4+MjOCPvy_A0%Cob+Hg^ zbLtSaEUL_mXR8SPSZBGYWwpjlH3Ak;@c|mIqhu89MtqNSEr?nOEF2D1J`EsAjEIV$ zq|izsLs@u<)WnrVPR$bgRm;*!X{`2)HpYr*w+iw)JIU0RjA(A|&HLP(@-ROwVHT0H z^?J$sF@vl}>2{2_4b_T;u1(xtsDqj${2$=JgeUNBamI5A!%SI!(n!cdR};0=u;iNO zKfOty*YZan{-30;5=8(C*3NR<;4kMkzv365DZh-Rx$~(+on8`VfRWabkLE3<<^$bJ zx*Ud=1oJnRGi{eJe!Ki@enLufD&YP=GYL+Qj6kgz&8% zaHwzJ7RH`QLt^?I;xa&U&ZND%<*nHk>6xOdqu1&oH=uZ+i!@sGH@#rzV^6z&svD^p z@nDjJ^`G+v@xZ5R6`<*KU6@-YWuslZL{6+wa*FNd?H_5Wky*o~BoKKVacK1d+B_-s zZ5opg@eQJecjkyNven?IKF7Pm-h})`8=^3Hp-pzAMmn5h-$&ZhAZdB%SK`UQ=jq?K zSKkIgRa#)G(UwkDUC8y^4tlf(2>b>qZLHS`jGsB^{RH(_T}5dm%TM5b+@4BL$W85}`U0M4J7po&@wu-_ zDclxv*Ok$^jEe)i$HrU9(mC{p9Z_x3o($=y-&HPPiw1oN3uWYtIpimwttr2m4wkTM zwF^2_M-AGCSi-HRCw*XH)RK|7x`*ddqk1gw_fne7tz46)|7GX|kWNou`F^Ae#ad{o zY@@Di;EretG6^**h6a}TvDQL)63#8CX6vBsjBJ)+0P2P?XDauGEu?Wd2YB@m2wrpe z*i5|92JL8NBN&ms^vn9+F28yCyJF>2>24%STH3bG9=@)L$6U_?BS>uNjdSoZruF7a zlzPs<#G8IDs=J|M4)B{0h(0YmlaFU$4Qpk@7>zI=NrAxQ}OSupW*iol8c zgxO4Wfv(-cj)jaMXuF7d1Fh_?Q%zfjf4a7qX5mC6AH6n?bhX5X*Y?6!vTRWQEKS~MlpF6{vuI)1hIk#z z4=)9aqk(KyIr0yu>3FqgXMPTq1&E6{Az0>Qv?I45V*Xq`7j{~)q!tu{-d-vXJ55e9 zBKCS}Tgh#REtyErAA;ph)ZWfKNvhxW;S_&6SfQ%%M%m}{pB(Fh1;XCQ2$Se#r)=y( z-0IP*bebN07xd6OJ@k~`P|!5+oR(QLvWpeUa%+?wSUJyV&?3^3RTUo#Qb0&u%8P0m z>}gqL7_~px&#cMZ`!SHB0>2%}onMeTQHgu%U8MTVkdh)qQz?;zkpegZ2w{VeK%V{~ z7@xfHFKY-1eLb@V1}3(3b+Lq%kOHQE2bgd&oyys9zp#nTjVg-WRgW*u4xRiDEl>9_ ze*}IwpRPAgN^n1IX-%{uH>Y^*Brc~?xiEuGG7ozXfKH9R-Hk@tvC!HG-MzU^_940) z1RxL;@?utFCUC)xU5hMN*2YBqGPWEoj;N4=bH4E-l+qubAY~lxI0<;#8UOlQiam)O^iPYXWVql@Ye6`t|f&nOE+Wel#9LPjz1=u*2c1>pabZ9zttk^Uv+4 z{_vD_d!QlipeA8`cxdssIZvS3dsuZ9ny1T5HBEsXfmI zF=(@?IzBzR{F{Mb(jc_M86oE6g<^U7ar#J+BL*JQTq&lnOkjfo!CShCzSp@|LpKTxQ_(5QP(zLTWAGKqw0PYK@WPB-;7_uo% ze5BY8uJAx(R-f1TeW}Q%(bWwr(DxJ+ntd6)GBlwTMvc|Pa<)2or<~9S2m71-!Pr%; zu#hiNQ&Raaco(%`3>KC~eXa?!BIMP0^tW(Tg8M})Z%Q${h*yF{70FUdFjA-@iTx|% z3B%5Fbf?b&=4K+ys*hlM>Z;ltayCe?%6l?DY#V>CP?&M$PqcI0vMXr7P_`u|5bgub zlXwA0?Lv-U-5&CV6mzzu;p*HrpZc>0vgRi~YEl<(*tfO5XzX%2HXYvqPB$DJ^>EbS z0{jQa1x(iUbxf30Txt9t9W-wCf^5*m|vw9N6*k1NZ^TdbvAQ~r{OLJK|n^F5Zch9i{!kX4@P2|v0E z841XIb+HABvso$O_>o1o(t3MyQ9nNn2~~P%<5qD70aRD`l+?h5t2Oe}56&@lf$WFU z>qn}WK*xM$ah8??ShPXXZUIk@>Q=Q=auu0M8^G)ELof-IsefG)OrTpD5*4Ms4PU=L z1p4epAb)3E+54*BAB}Vfh->>FLjnRXvT4Utb~p_KJuxE8RGYMB0Oi8B+tW*3yKXyD zQWgXQ9p;ccA9x4?htq)|WZ>$ii(t|xE4bt=pig}ndWZ!m4p>1ES`L<94CHkQ{WxIUQEK%Z*(nyuC z&sl z2Y#SoHgZKALKB`OrGid`lwC@Q|CZ(S0hZ?%7S(#bmFKrj)^;8gvy%*fmNXD(U6(bQ z^tLF2j1Yxajfg3n+a7Z_-CkHc64{I?*ddGvsMgXU{rhz*b)n20RCOs`?F3HEN7mzG zO6(F=6IL4xVSw}$Xmra#aL&87yfgqhLTj%ngWE!P0*;~0K(`UM{%Gtwg>c;DH zH!2@r$KIcJ7joV8-+5W}R-U4aGMT&(mzzGZ(VN8R&O=%LhSmE@ko=1K6w=<=q;!9C0!IZ-?&?vlrvBY&4Ci&N6u@li3$ z+0l#Xw~Vwb=62m|B&~STHaLy$aIw9wdIM?P-Z~Q!X(BtNnR{ShFLld2eC6G&^e+!j zS1=fmbM}7JJHe&9*Q5)2|7-<)s1Q=PlQbS!gD<5 zHb0N$a6JT{93yhLp<6_U7(ErglTPD#uO^s|C^096Y1W?V1-V9D zb7N9dv;u42WP0o5`FAzwjremcHr>DOL7@ zzEO5lz&r3@4h-ANY%UL>E%WjjX^u$QQRs=)S-DYFriG%z3LFkdq0*3Kx0?%@Gza@e zpXu7)YzFraa4vGu@1lDg8E++h8I$3)nZs7Bon*5i$AcD|4EviY^!}n6jVhe^(!VW4 zL9|D1>Z?&Q{xbj&JAH=}e)<%#wU%ADJBx6fkabRdsc3p%!1;{8SvTE)G%;1x|{x#}e z)d2_sZwsmN14qd6Yr;=x!n~D<LCG>QIq93EI zwGhQ%L#hV7?No;uPq@MHtJv4v8&8>O(olVw+kiEeNmaCs-%L9%r8i_Ke_sbPI{5)$ z`XDIOMBxYqhW_GZ!tWn$KAo)52ul>f} z|3mG{okIv8<{_0{_sgsV!~*(dL;r6o7xF;zj1OFRx7N#Rp@qB2-@s5*g|tmg+Bgy=tb0|0 zr>=Zf%L)mzQSiv!1#+X_z4 zn{)5&WDPbzN=-*t>+Ri|I!>`i2eWRU1m-VJWGQ=Wh@MpEQQ79X3>h2F1y8jHp=aAt-61v&vGsAEe7FQKjAgROiSj$F6ew&!(XNo0ATHuPk~l#} z&(@{g2TZ}x&-qV}iP;d(keL=8xM=xD%;bAho$F>%M;DjD5KCeN$o(D`{Agha5DvLS z%PYG;p?l={KIFA`vJb_g9{Wn$Zp*}CFczVIMb=lU=Ty+q=myRYc^RSmwXDvP6`bOz z{DjxSw>(yMI&h?(2rSHsv8fgTxFsm>wxBQJHO8p@zxWk?kv%)8uLU%g9s&<`0f)4S ztKgoWNebO`H{aK+OOlN>x>`_0-o%7UWMd*D1mqWoymc!Y-h3oz|Jl7;EBfKVYna->09wR8-FvfI!K9!T*N!OZTvW5vXH<*{*va zcZ2Fb!VHGC#8-%uNavklVUE7onrg8qG^5?Ve9Nu1yFlgY`~P`#Yy=+p6u9lbW#=A)&XDD#>=G3bdufjoCal zv^~&K{l=v1l<=+#X~%}7&r$wn>(#G?83fsVuH-c}2N2t*Y*8NKQaJe0r)5RG_1Z+c zY+CSjG5;vc!9ES_HP;tGf2s#%FERl$a=QRk)|4Rt9#DEjhd13BwQ_6H)lx|A>|1;0 zg8L*d!4(1TNox6SVBMU)MKeua467309s-+;Hs^*k>2^4?joBm$A9kIq-OkihdJ31Z zXVgO{8A&4a;kF6M?>NjZ0Grc$uAj9Rl3d5f{(a3vWpj&RfKbnTG=~h`>hd}YY|?#dR>S)VA4@fHub`aWr(PHHz7Fy#s*&@N6)Ib)_K?1OMZItk`Vj$ zd~ZCKUGrjDdS{7_wj7Xav)+lfhF(8IT_R3QY=?o4pV?EJ5` z`RLq>YC9vGn7|nmwq^m#IPq<7(YL!-P0Il8Pr%k@EMbe5I=ZS~AFbcBBjlPlkAeoW z9WIyF2{ZA!VE@XVKYr}>rg!t5$1$&4OEH<4qRK_R@B6yebX)!nbQwk$+K80FA3n3P>$Bi>$<}w{?o$u-Xon~Dl$XUuD&MoC@Ap_B6kgmsNxZt3(~B$e?U` zYbJNy5ky9~tP)9PuDDb|k`>2|K6)=7Gn~8|01x(g<1?O=>M_n1tf33RiB$d!;Dp-HZUbKo+v|DUPZv*BGfnH2_kds( zQ_HHzQlI)Gr13R438lOr%0ae)*~Ehu*o}j^8kajh9QOOtjj(_2A<6+h?B@563*Jh~ zRhL=u!TPVIbPx@0=>!&yMzv<9DzlI8Ku{I^|AN~5ndM5kBL=XGb$U}w*8;a}naX^6IbSK&+n!uZ~fyFMU zxwT>>N&R~_XtvzDA9Yyy^i}QU(}^b-wpG?YXy%ajkelx;AD`$J{oCh}Y@CG6S&Uw) zJuE*Gth87hxn}fb5seq0URh2HNtX3}#C#I5(|nqjc&Fd^m!~j9@;^ScmT?214oQq~ zVXc0)j49)ie%h50&H2l+(6yeGfLrQLTuo?hZSne$B6`M@8hMkco+32QuG)i{!Y<@K z-#~IIU#4UYY#Z_;L@@(-I~**~IC;n0?PE!Arf{KCC6Y`@)qWm3=L|Alw;s zS0F`ru_*ST;J*kdMJfmZ!(g?~Yf+_k{1z4vx|6s;HBPpN{27d_-?-0naDGnr9!x#b z9K7w!J~K7R^!ifE;R4*0LGz*JanqcJBEg*tc)doA_h^}&GzPZj5!+K+?_4~YoPuR? zl~Fjf^7^l85<844F>3cJVemJ61-;D)7uii&}VAj|LS^E;03-yVnD z+}!tdo!9$(zh5WfLl-h!P;WC_-J8`-*zR47^&5>=!>+CWH5YIHxcS8m?2(Awjcr?UF$QE4Q)piAWM2K9ik|;3S=jB}&GOXWc5A7h+&-B`_^;%QPn>6lI9gpl+<&f?%U3Gc& zr_>K3Gi4r+Js56Y5RVGShr=)3)7f}{1LW=~6b^Ib-Ie(;y+&J^^=n{eOQ0y`WrssAt5G_cuE>OJ8M zKbS(3BG={6zUNv2^HnI3^})&^^T$dV0TdAe8NBNG1=L!7NHLBGY#LI!6SQDAJP>*> zP9#L9PQX`pP{Gggp6vxU?((@49MdT}!751P_$@u$lV2#zfhDbj`HRbWyqoGtt+jPIP!;HJ+1~yK zLtep|gPl(FYOB5bnOWp^*zVE4k-D&R!SvSMxB>dyd2n!YhQD0N)d*yY_rdeNyS{%z zTel{X2gzPVg4jok!;_4{2qf{dMvIH6xJi0l%3(QrtHe^Izkp3g;D-JxpP#RPD+@Uvyo-ILE)a&Kw{@s9e|yk5L)qVq0bh@L1FGK;;? zH2{e*FAsNpTKz{*%7??3=5$!C%=)fYE8I|6Mlx`Yi{cjWuHr&;a6I4x9bH?~)+maS8zo4Y4kVCCFpLXW z%3baYIvfl{Tt+3$vDnRFdj*R${fde(KN-2~V~~gK3_r4ZCpiNustdG`Gz=a(FTCGr zg^pLB195greT~i!3s7A8u1vpywz9>`V1eUc;fd3XpvUN7Y2gRo-ooU87F`SLnM(-O%CIS!mP@_Wq7?{9F~I_e}j3a}+=+v3r`tH+rX;K`oymB)wa%L(2?RWdkYV|QFB)W;ZxA%Lq<9~knw7Qdz z@0e0IW^ZP1={c0^%^uuB??6ZJCFW%cvSSYWcgWRDVL7>-1Z2(c9taX*2ILj*fNFk! zh(SAuZWXQn{w<>KzORwQ6t3~@UKbxu42SRhqo)%{c_`_H@&s`rHwZ;h_yhwhW{(H^xanzsC1)!_v zLQOx`x4oQ=(g1jt1-oVF7U0`{$$ zKR_MsOAwP$u1TD4=gXUX(b5k+4iJ{<(qhTJ&raTZkzl)Wk}B?Y%}=JXYZmA?tuN+c z2dapz=PBg`beI-%P1sJ!8uOd~*4t2;Nmvn(^&tHj=|;H522!2$4^T&M%#XA`SO{8} zljct5d+b$NO_fH!PW%b64vZJbdB(~3p8luq@E_Nl;z=K@O%)4tBfdw*{o@me?WSmzt#i;U=hDTy#F`*zNesj;SPFT#S35$ z?%%Ecc6B=`=JFeDMv(a?mAA;mos@n8{`MiB8ho#tW?*)Uhepvg@V~2O9-m7YM~2D#{uHkn%gDNa<+S2QD_ zZyaaM!1e{D_f)--CmYq6v`cAUG@WH-m*>u$HWi;>12&TROK=s7+MpchP5IMW9Vtsk z^r2+zRV;(2Y3&4>JS535WJ9S;_8xnq@_C>vtyBCH1H<|bGK4f2cvoR&mS6ZX+!xUZj3}KuM$+1F< z&Y@xy+$r3ULzVGYms-%M+%q&#BfCy2ync*3o8D4By)?dAmK{t$;J#b5fHUUGZKw*I z?LYg^fi^(!;fzZ#;O!2hXjgx4y=~w;HCSg@$`lc)r*k@t!riiB!B6Y`4me>1ad77dMX#u(4}VjrD>- zR_j&AcNonU+3NSwDCIA_8^*1UwaJ3=wXOtygak2(0`1&DdMZ8-O3LO%t*1-0CpW-C z$cPFZ^oa(#_z%7O-D|0qpgzrSLk`53#&z;f<*R_po}OeqQKtq%kF9w`$#+0G@UOz-DWgLkg|Dp04(Bk* zkN2p!`z6`sfMl~`n~5uFmq`z$B!kK%eWX`W!A=&SElK{&1ch?{%4P7V%kX+F$!y4p zB*3YiOB3va4MQ0Rl((Vma`n*2H`=Z?i}hPgt_lBA5C*B)Z zOGvMFdKavZjO<7@1@2jLcuz9}NBy4Rn8m&Z4f=r)H+vcN0$i6B$Y)(#+yQJ2;TcTP zU)ROk)8_H-Sq{;~1d1=;Rq~!7XlCe>>Hz9u#ljuE+=E8Md`i(w^nhG}{N71lzJ6?L zh?WKnR@VnQReR!r5Yl>nc%?BQQQLZGBx~T9_Ceiyn;KlC3toxzC&1X-Z5uf~k4J60 z5FT0j>4j?Q2eam2h0cxl@;9C6=_eR&;f;`9?!LwJlKNZI+@%~4Zv&Yik=gS=blOz| zf8 zB{10ZP~OO#bYzW2_fj5eipEWL2Mf&fNe-kT4U*gxBxg0i>dBHE4zMIucTgmVQ)OGq zVfOba#vck~BJFcY^~EmYs|oHUKGu~%FG{PMbD=WDu;Y8&(w1=3DX^(yKXF{vmbbw0 zCMx~4+YlvbWkBf&f7v$pL>>S?$T>shqXs?cdn0?LV`+dFbBn&iO0|U-|bWeRe4Yapmdpw8`_-gX(u8&6t;%|X=b~Afz<@RKGvaM#|!oY;+ zCdU&)bbuw=0u#j@Yk>(YR>~Hx&&mjRYWE0LbrduLgId#{)n0AL_~i(u_G?Hy?xZUt zW;0O>)(7}uJ>nUw-_=9)NkCQZR*P+Oh?fCBcL{SCY&HsDMf7HuuXsVb*bNo7Tzh3B zjy015Ew6_?L{n@94~v@%c)HiCZOG6(M%h~dI+wulx|Zw#B@3tqEhPy(mG}(WI02zy zEtBpjBCf~JJ@t&5cSV5E2=423tsK8fyEuKQ(ErFuc%IRIL-x6v`sl6Xx_`>?jo)8K z+y5RB9D`&rT%14X6pRcEB&FM#9X9U@?_SSz9L|==*WQ(B;bqpNNI4%VLGT}%UA}!h zz%T?De0QSb;$eehYguLW5}Ue?*JjK0W%W8!z%wB#wGA|jm&c8N^EO*&YG>C>0bV1#}ib|vTMi1g9`9q}sAyBKKsgx3p2!A1Z~Yh#F9ZCe_eR zDz~yZ451MSPwW*fuKo=o4o&j6%A55dx_c5=uG$Cd_{a1mO7uDTR!ldx`^CwIxWC^2 zdo&WP3|GW274^!%Q)^_+NqMVTxk_XKXh_z}79hO%6-0T{p9ooX8^!vtb4wP55tLG3 zN0!G{@>1_W@7$J#w9pI7lZQ(Rz(ZG|+fq&EiIA40zt^f%b($o%p@9OfopKATTdVe) zcj2-}G`4K>Q2u9*_K+C44dOR#qgEs_lK#+{FGj*AF(!oUF7ZatGxnu95_cmewE-Pv zKm7I{6mW1cT6eoxkys?>kYKB>T5+a93tnxn6(bB~2mQ-GlV`G+duN7Rn@O0g@ z1MqgmT`+N>F>wG{aRBH4@qTA!5`1?7kmN3vr*yN%#c*d=He1}`t8%!(-ACNR}Aa$uy z^xU;BMN2;=oN0nB_X{Esd)uX~*qZv;1X+j@6s}gom!jQsEpWYW-5laGN*%dd&Dkae z)AiPdVQt;U(?f%_B-aHqD-wQs^{GZtB3KP57}e(l;^43eZ2N0wlBh5cOOP~_A)v6% z%<}VR$HWDR*kS&8@wk4A+{+yh6i&hei;eiKUBJAq37R0Jzn9y>5f#xW$lg7;S1sn< zt=o>@&C|MAl8Nr*J&nmSDex)J zS1S};b`UIkQPwKM{6x)Sh~a0RLzoMCi92rmR-5K5 zaAM3w36e+5&Lykx1VWe{o%fKp4)~WE9ALSliMJ8lf2hLRZGbgFSk`W-yS4oDmL{V& z=2UIRt(nx-y$+X5%+;}}84Q={!A>{67SPb2msh)5k*-Q|EL8Frg5wbW-}*%L?hE7R zzGJnqUh%?uA$$j?9x>y$+09MdgzF{oA} zIQ%W3uF3T@!JFy)FUm{DArpML827;co!je(P zyd^X(vHyMf>TaCLm#{+`t|kGv78(9G&i_&g)Hre!lOgP9Dm!a!R>c2()$Stf$M|<< zysx6N=czYdB8Lczva`lW?5Eb1rct0w6npvQRj(&tO;S~3Yj!I?!B#s}rtq06A{r66 z0c?Jg;RtuMBM4x0IM}F!qZ#v#WL)I@XK*{efm1<_w~5aAsROEU9 ze9F4o2_Q#IxDVKeo*0@Rm|P-TXc+a9 zRQ%w7Ffmh$Ip6CgyV~al8i5WLrMyY4p9J)@8=z}*j1Gb{wqZ9yFOSiO0XT$L9?dxs zPcr^#C2RLY>OtL#2DAmq5d$n(9V{o{KIx~OQ(sxsCNZ;zTJyiRv5!Eq=WJ)@$Jflk z$!(bO$3vQd(pSE&&g?CyGTyi8VSY3BDbGQ($R#FM;76Pq!bx1PW+%s$k3}PyI9x(x z@f9F!=F!XbNz`Rvyt}=2+zPr%0%kmC<|AlE=V!*L2_WzFbvY1|mJfI|sDVw7)j9?; zLe=W!M8qW%8cNn2V>4{^Qb+v@9-}JDjUM{vig+F$?y?!yZ9I=LmHEBT7fm6q_S&vF zX$JO2w>?1l-?L@Lk2m6n==nTQeT-10g{Z5aTpP!l7f~ty)A~69F-4^3k;s%;xF0y3}lf}(e&mD3{u8X!W7Ni9b_z|Y|*buGQXjh)>gQHo* zU=QF$(i|X=F$atKv~+Bvp*ezwrnt@$9J)c#z?vOeAnpP8k*si?x+WfNIuN$9$4P|X!QkY z+ha`Rpz@ydHZ)B&blaYLWa11Jp=W9U9riP{@DHHj8y4SpL{;e2 z&@vC{_B);QeZ{B`; zO4Ra51z2xzvzuLjA9lxhgF|7o+Xk|8ji${7x_f+OKJqM7ySUV(jLU z-YPsc;ae}?lebz@4X>D0q^xGQrpK8B6Faq@Q(fQq;!%RW`wH*In`Iz7+jyj0eLCH9 zc77b@S!U1QNwsSr6)#?+py3;B(4xn$9g{%s!IV!1lw)o&SldvFZ{p3v31k1JmydiL zFsAj+&pi|1N{OrNa)xaU=N+q4Nmbdi?0sv)o>g5P;iP$r`yOaN#bG%X$pTi z(-(Aa2YUnbOVoE@d5+la?0R4be6;j6XhDAjX-*BDP~m*KY*zTnrrvMvDh!o^CYd2& z2P`S*W1)tUV}?^Dug;|Gl1NYx&nekjdJ(?UZF{;``~+n~%Q$-dPydevJ*1S%bo~<% zBt86WZiZ{!lEx%M6^>jp8O$ZgS5^!r%q9WQTiIqo*jkh;4 z$fjMsB8)pT2>VZN1{!!QI+ho3gZr?O5I{{HJ}=r<#E-h)bMTya{=4+d+oo88Gdk_E zsxtR_ud}4bgcT)=3NJtaPQ~ZO)yZ$D zdQX5^jNQlB0oz@2i$&U)tWRny{lhgX47D;1O3_38t!W`LvECR6=!{~ogzg_b4qY%= zYDb(Z2&lAk8@e*lmMx9+(`=~|pEGNe0-F+!kD1^B)BqF`6)`~9oE+f|P;;R3N2&-u zjZVFUzEa*Bq$K6!ZO@vr@PH&NFd3=h6l~502gTwFfs!%MK9Ck6?Ogk@qU1m`! z;p5QluXdo!f<}exTCqwfb8d_l%|4<( zvfWMPd*sWWq2~graXrns=`P6^QVt<4VY{UuPF|0i`#9k;%R1Ye4DUcuo;<7c;R~Aq zR9%S%=c`fDq>Wnr7eL=?UDRSIpY^phELp({&_6Xy(&gc>)aL(fNNqhy?yA_>7^HT% zGO*IVJ<+SLpr}*l&@o8?8Bp~X&aC{Cb<4=XhJ8l2b6{laF#6ULv(vj>vj!;l_10GP zOL7Wyron6JE{2hYhQ5yYdedC+@W_i+e+v?%z0_LoNiOnyYWP$F_M_ zc9leAyvO-7eQ}-7Lg&-!6}2qahaP5Mh>IRdX(bii@b5TYJ`;G^!+Xu zb0}!&+D6!Itv!0MzSiCht$Yi#(WliX%$(*wP>yT&fGTRf$swvTV@J8zPd6(A?AJQR zDQ$U3;9wX;l__$b>;e3|Q1tY#y1?B3#UiQZa_z~3iZ2_oXQk#4(tVh0u!R~YDKSkM zNoM^q!0xWILXBcxO#YS`~ zAmzmntv4&~rtB$I1_*r*McW}MC-!8Icf<;Y4g1j~pSJ~F>OYn|Lv>$o=95omL~lUB z_fmTf1Q_%>-dl&0hHpR7=*1(0MU!>Q&NRE!3aS19$x0soC7Pm!ai0D+1eRt0Y zUkW{MRG~8h7JN%{I;I1;Jr~Q>u--}R`O})Y>{U~_+<%g7^hVgYH+?y`YE#M zpwYr9r^Fb5bY8fBu zvUihA7#+%bul(F9j&KvZZifunfJhD$=@tw)tbdub@34F!3V*wC9NU)bdwr($;|9Ny zd9XEEhT3NI6j1COI#g%jdbQ%}Pv4B8w3e^A&nhD_(vCyBcu9ZTWm4T*OYz|W%2>LP zKn3@@i($$cmCvRU=|Ll^OmLjA9&$nrr9^34kNt@4CeLFLMXI+l?ol1AfOn7)7Ny;9 z&AW>hvm_1-Sf4*WCU3WJK z5K>|dnYoFb8P!ksjM@C8&{avzQr?Z+;~DMgZGBRcwWoWSVz;Bu?xg>$Z7%M-M@%JU zE0qLAywQ$1Wfr+<+{yTj&yiura*#WO9EWbEWI)15Q^&3c%AIW7*MZ^Ts?vtx9y>np z2J?z_`!1lLS6V+$w96hiEhwm-Zo4ME+c^aCWZi>_dPAFa=hKZPx;i*<+}fV(poFhv znk()kA(PMULenoZTW)+qc>g5S8MtM zx=@ZIu9+@sxR;o|VA7`Wcd<1&Lu20Xmu8%5g5AYNK-ZP)!+v?aQOcRAmk=b(0-CPb zHYgWFak>EH>N4dna&|eKWe(Xw!6;03d*6XzDi&+a3^dD(3?v?hc z?BPY^p`_(U^tBp#LeC01m{$a&E z^FL-7K62I=UT6BSv>aFJ-E8Yo;U-h+hZ(r@pNP=BdIp5&utmGqOtzk!iN-R&FNggU z%RF_WGK16aRx6P!psGwowy*5|5y+ELpEK~tg{i%UQ~-L_HNs3z6M5&5apsC-zFal~ zpvXU(=)i4iotTH1ET-=>Ec-ED#r%Nf&^;z<3S-Qk&S%?>n!pfo-HFnOkSbhQS;j5y zlNCzPtbApCnakR>60ddYTX9!pAp5$|Mn!k~Gh`df(z-{^o@hSL$k_mULkTM9`$V77 zO->oYf!;suHUJAQ4NPtJEVEp@Sc2Kv<~E%(HsRa8orIrtUUY7w{eVFJiG zc+;Iqw<(bwiXMi#vinkpJy%jYCo-xag}m78B2F%J8;O ze3F5L>FP#jQGR<<#zmSN4j{t=f!EUA9?N;%wwXMJ4R8tO{?_JpW2K(<4)n`DAIdo7 zcP!Mw#(y58Iaz=r_8bCzX@*>jv7iZd1l3vayo!Ie&WKKm0a_+*Lw~sWfi?#z$b5)+ z#iujCl$}2#Vk)r#-=+V$;vAC90ITxiJC|?SBHB~oK|R~{k5YS}wgFV!sVD*WV(kkG z;K4g+l2W+iacJF_;ydB;?WC{};_r}jon7xa`~Bp)<)HZ^$F2xwf#uPk<{*4HCvK)Ng*SK=iPSaNtUm zU@p+0eUbW0ct$5@u7Kmrn952hOYQM_;zShnVxJj4&7;WnZFuYB(0#D7*oBu!!IlTN z**(rsF8$~nNH;Dq*1`3hFM0vQ!^z-b?jJ8OIhigBPFRWGY=r$*5T#Te+#ZgcbM#H5@Vz~-)^{yX$2^+GK@I9 z3|8=~EI&c|`ZC3+d6Mj+87NS+Ymkg7yf19NoBazUYvKe%0*TlZ#M0@vH-Qy!5FB? z*QSNvZOw=%a15XOsq{j5RL?%$@rR{1DSjt!)bI&~(8r6&Ew#1%6D}9H6rmrA8B>VJ z+Ec&fbvQ#i^6;!9mV@N|7ZXoU7MK~3#;$TxOcTc6JEBqcPPfBdT!3cw?Y#w@1ZLg< zW8jZg#gY%aD7}AEO=HG3h-u8`<4ILw)UZL33f;eAgRnnk!Sh?cr-|8}p#QKQK_r zxvtEf&BeWxMlQd-qeurQy?aqzI`Elo@;2(4D{AI5HA<~h8Pj(h%+Oj( z%$f(4;ip;a*IL>-r?l$((H4-GB>gab`{jG37~I|C)SCRyiRZk0jamal*=ACv-&ZrG zn40|VW3|omjK3KLu|~t^_QRLPNz&CGwU|NL{E&1*_H}37r4qD1PZr-T_Iyc5S`Vl~ zgGbqMvu@wA6?7qM*<-@oaP;?@`nKsL zgAKTi4*aAyrjCk>RZnP`>VFg3?r_#D;Tm)VJ_BlyBX!_?OS4qKOC{jn18>Oo(bb4U z7Oe2;?l|$d`aKXI&y{Q^$s_u@!{2v^v;%wFnQc{)pJV#KYZ_Basi#*2(~0nxQFHo& zYfHq~3unPGW*=*FXH7Ceq4B&e#tS~I+%=K^p{F@50-Mn(UJturTQ0u6Z^D)V{D*Vj zK2$Y7ftuDWdmc_e^u0#LzUuv;-_nNdvTW3LK;(D%VD+%epfBFfHHMrykIRW*nB4zp8lcz_Ghh?yPjF7)$Sh=*o-T77kfBzz*If&TGb!fBIIV`sk2yAX_k|7v0J78#Wo;%8IMG z5a~{5MQ%#ro_q|vSIjoIkAim~C;xQfcDN4pbjCW-R#4CU-8}GLlLS$Rf%1E~V&356 z=J>+VTB$hN;D%GYiW7>o8*4Q`pVaR6oY28NI2KY?9!kgZIWvVwZI@U0- z9cb+9t41r9aqeg5*EHRg5xd%JL7R>13S3Nmc`qAnN_uO}#3N?j2NVTQV z2hS=8Z$QJ>q#(BR)cC9K1_&*7{VWv_Dic-)+c&LM4<;*iZe!NdS!-a|FZClsNi`CA z|MiBMfxjXDX0EH&rtaURM zw(3-e`LTVEox^cq=jecsU`q^l(k#mFk(`DXd`iL9k#E@3u1BC-}J(ZYI|2;Fr$r9m#>X3=Djz4u_dMm!!NwUMb1~} zv^#s6ld1u;fnV=j$E^*JSw3!dORku%j#r|>O~U^w))MR$6?Y|MjAI`?^P3F|A+KQ+ z^bqpY+xq(S!UmVQnfl&fc7lRlY|8aDt-qGC^b2_p!>ca6rS#Vod2$4&Zc%X)B8XAS zMF#`-TyoD*fh~in$oO%PSki|9Zb9e9Sb)bU!gcESF$b3TZI^0XW-*jmbWV4z{p6oe zW>ETXgCM)a*D}$_4fL-GFSPF?-*#zht=Aju1=GjkK$rC+lDO@>4Z1;!^4~M(=O{^y za#cVBVq0hVidfCoy1PQ^5qk@u>IIogB0AC(Qz=TsG+{vBJ@D_<_sZ3OW4hoe0iC5g4t`BY=zpd5p#!wu>i48tm#ys+J=_;O6$j3 z`+|9?Pq51XpW2;gUK`Ed$C&6F`1fR-WPS;#BFPiU@CqHf5eqRhDOIr9SqvI!o1&V- z_CIbCxdEG3dbqz-$a4;sQUNXaLjji4R3>_lxSB9q3=BcwhhOX{x^?R~gmrl{=^-oJ z^YGcN?hL-8L&!&#u&3NhHzN+PJirKqM*GLsLyo$QF0C&9cVqCyN2aV`zZiTp1K(pF z|K%8FG|pe_NDPiuUn)feMjCN_5T_QOQ2jFoy3<_vg>+!bF^Bk_4oDu;cph5@*fPN& z$H(cS3hwnFUA6(KXT(8qo!>y+;C{@F_?c+~^A}RA4xR8#T(E$~{AG?@Grzo*K-=?6 z2&3i~u|BPr^R!C#;SbSut0*-C&{g~BbYwz z!|bI^EBxO%$%WTl%mWlcG6S=-rg}CLKd5Cbf7R9RM++d#U+8JnNTu4m5B2J#70(Xl z{M^sRiygb0fT?z|U2FmDnokNRXcOd|MbGd`l$nG+yil7TN-1&+9OX9*S~2&)TpqL} z7$&2acEMUK;C0DriMp@?*>Pxo&zs^NZR~ZY+t#?LZ^eRHYFTu~<(QaYozy0Seup}D zDJCJ1a0z}&H^r>P3mSNCjdQ=BGMOOAK4fYybs1RLYl%{nT@kNap@jFOLnZIm^=0CV zPvka6=iz$1n=f#Cn5L%FB41opwRAxSXgmGQgVw}7%Wb=fB1A`^SJmTCg*a>i> zE9T1$+(DmrcoxJ8vQj5P3lV*Z4V9-1R%tie4)_!tA?;qZ6bUx_nG$cL2a?6vJU-0|{%eV!w!G)~7 zWhPBOrP=jv>}~3OK=2E1aCTsV)@-oZglv6aKo+k6**x+^UD&j`{{MJFfh^=75O4KH zdLbSl^EGT{_u!S!L!X78^qNFQX0Yys)SQ}l;ta;uaHWqCdX}(<7G^u!Bzm#cCDS2NDKpSKCd_;RTCH&ZvG2!RoD|c2w?1(;p$Bv-|cUd2NPxuf4u7rEmpAAMwmea2?8ck5@TJw`#a$LP`_X1 zgFTXMm+fD6Cf6e(dR9JTTfS-1`77iF&m#caUyNdQ*8I~3l0#}^L#R&5dN&|?P7WkRGd$^^VZHM2cSl$r2zq~{xi$1iB>{jj z13(_f7LN=5R>_YRYLn-|MOKv4CfJj+G?OaZ4R&>qQ^^{hpJX=4}jGe2S&30C10)#VR9a zZS-5p2}>5h!qc~IQOFZ*fz>Uw=DY{@32@*ZTH&tzQKbcJzuB*C>)T$aHwXe|bQy@{baxQ%*P+mO%~hHD zw$IWVUJ(D?iN*qaanEbw%UeDk@im)i6@+i)@84+V7Vg$%x#%1~V!LL|ohNNk!*Tu$ z#9xfMn7A29Qkh}E*gfsFt`BSIH&1R*B8Z&mvW`KcLDNz#29Gs;knf~crc`A&ZH3}q*hxXdg!fuB=Se-`6ZUi+jt%%kXFzDcj<@IDe2fC z0+EHDY@Zl@NE=u>Q~snY!K7tg=g`#EIr~ed=0*p3nmu1z4p6{eoss(t%u*$mzT=(E_;M!ZLv9NG64;XJ=i3M^0kllw?&P~0!b;L_}ZrA^pIWR zM7RGzQZb`16s3qsV?L_JkymdP<7NRdGyp~zVMtjNs9Ra)614-$jR*5puGfLaXs=PX zQ7CcZ2=vtt2;w10ZrEn-KEep^qL+P?+d^}kQ@hL}*O4>hDB*$;$H4v-e^t7n<@ox} z6vRO>#b0(D&Jd5Atu?1X*{H)yx!2CeHV};;Hm|=iYq)y(z;h#KPGg22nWp=8v#&O5 zmP^$m<9j`$u#Ll=J)m!k%XZeom`1mCL@2Ae#$_8RW(CVZWTw-HlPSF(i~AcUg(Z$d z9(N+%67TUWqW3|dYP#T&+f=agTmNpRQ@Pw}dpl>uU;<+O|7N*_KL=plW)-W7% zG?8;?Q}4bt+=QuE^~QBgf9X>>oau>j6VHOrbs&L`fH3j_7^k5ZIyD>_an1+_$eu~n ztiUGEi`^vN<;Fcz=uOdqdP?X;=YoO=X$ulI)f_3x~`16c`j^tGusJPBe z2gA>)M-p>VB6aH5qYB4c-<-DfRzK+uk?U5Pv4b^YN5>6f2P zpHEx(69W1U!W>gWVe!^K8FG;WHiBx|`h3=zQjqK<>bt8Zz5-3y0W`-B^$2@p894id z=2s|TRo63J4R=bLQwj18BFi|N<5S7McJUeQHOPw=S@Qyvj_Bm_0GzP1Msu?3;zF%V zIYM2XwW^zDC_Rx1MDALXoKVHA6lt4p;v3=*2M4Snh3hBX)290w7_Fla{?OD5{9GsJ z1#q`>y;vw_eYDiMXs%K-2#nsVaU^HK+2)ziHErh;lEf8VRM!)}%-CR_EGe5aEVdpk zyix|>M)e~8Qf229iP`XC+y?Gi^_mDgCPQ?0`rwrQbEX#BTE;53jUS1h|D0pd8y4h2 z>Q#T&II1$&C5lPSIp~zZ9UkElwH*pzcKNYN0Q#*Kc>6`Rs$>mw*0m%1lhZl5;4B$v zD!clzeAbn^Maq$y0`w!_8=iQe+=W*cXXT7wO*2i0|1IUs+EDjZ88=RZE56Ne!{@tS zStHza0qW2ey}A+1q(Uiz!Lf@58Y_1T_p7G+2hR}1K8C*Gs?Z;WO-23uENd9`qkf#x zYg{U(oIrvQttk8}0F8C*6I1NAUwZDh>|Eh$C+q?WLg4%E;4>daiY^1`;k>V~q;{XZ zzy9>? zz;^0y;L;|r_RYeRfZ$>p)J#{bh5NUxM<`{a3WEVt~VS z-ZPXR?%(u;QP5>?!)$<9L&oXG)85zdL9AK&@6X7^W6trd7|{;PZAr0j6a2gG=Pd^@ zue+2Px+L4nx(g#Y0sPl5yr9?2-cQG&Z*x(57mf2QoZY7Sv5#H z>b(%W1A&YJw-j3Gm;|A>r~!4Oi3<;k5zWDIf}=~d%&Cm4D#Hk_nqh_wvMwe}}zh(LVK+FFoP!Cp@9f!Tj#bW=v8|%odbR z>#a7Y?K(d_Prm@J4sRugx{eppln+nt6#b01)NyBkqx*=;N%g4vkYarEmVPV?c}8%b2u9j ztn&;sHzMbV8PH6o5RASCUZ1_XjX>h?@j$7Q=^PN0-uNX6lmV!!yvk9!jh}3JPdtZk z0{XU$2~Y+Kq(a)D#}szAbQf$s6JjiMi9p~yoG6pHeVxs{_Cs-5u2qe*6$rx#^hPJm zmYY_<`6SF~Eb%8GCT+CpKe%@8ZFgaME)Hl8Pv^;;j?q}*28-6eG-Kk8depb%Iv3!E zBbMD}*k98#Z8om0Gg+bN^yL#Xx}15M5AKSKyO2Zv+SVU%Z}mo$nL7uM{+*8J(kQO% z1VcgkMAGmU-LQDQp7+XM);P1mIw)e!Kl~gPuyo(Q*+I5q%zB<>GywpOt!atJcnppI zIwf#4t|WTxY1G^ul4XBfnUpWdJ%o_nt9v*VGO4^EmU`)eeY_O|JX()eY6LaiJljZHo zt;_j`nVE|1*+q8}ZtOKm8F4pVp>PZ7K^e_Q33s4u6OCYdI>nBmHchHO#k!Vg7;4fB z#=&>$&Rw0^Ksqv>c*<5$oi5FTxF}{LLs1*jfP0Zr)-G#)asqH6w_u`5BQR#m-`;$p zy=HHTH+gM2m5kibdiS(VqpbUZan)ARV2UU7)inwdeO5Pv>A4%a!Vexduakof;T0nn zGM%+{!Odk|Iq|F*Riy<0s-()_sIo$1<6mm}6U_4Lxb9Do)VQncKOh}HN09C_oui1k zzYXPzJ>YWVjx!FZG;DyM%maut4|{A=&g&xipbN(Z*4wHcSB=X}3(p`ZaqcS1~+O~d$Vof}#`PKvGzFuQ1a6B0J z_Y&4UDLn$}g_+Hv7CE3JN=j*WwIt1YUYYu_;!M_xy&yTy$v7{reuekvcby_F67<4G z)q*DAdW&(hgIfta#U@x?kv!B@i){ld_@2S+a!Sc1G!G9pu2pKbG)!w_sJ+ss-^~~Q zhC{h#Alch@&K>F$NnqTY42vJ^U%*L_{cxe!eFb#N|F5L8ab$Y$|Nq81xOQ?=r?V0v zPU>`;%9Xp!$SJv;sN*ViF(Ybqx&&SjLQf5{E;nfHfFr_)a{6${p31?<2H+`rnTXn4@v6RyD zc+|uQ9*#9?cc6cyK)+#imZ;d@2Z_lxWZuC*?{|4p*fm_=>GU*z{?{luK>jmz9*@)0`EKby)Ku*o@^um3M(-oHU0oY-4lv33 z5ZrM4)MoCPzLE|ezyHu8P8oAzKR&4bhyM_z#@QP%Juau{o!3QYj-6b*D8K~yIbxdE zxa;nhv=w1voCKyNsdfV0)<3?T-=fle<=`(Qo>anjF@^cLgCWwR-lCVkbd){q8d-CZ zQQF&}P)u%nQJcQsha>E>w%1H3^^!G*NX87O{McX#bJLCo0o`HS9&VHdXy&`&&J6f- z&p6yo=hi1w?fCM;A}+DLaO^Aa@!oUK;2!#xfAr_<~wzWw>6DEvU$&bc}$cn8K`-WfvM zzXqi^Row6p@FE7Q@7gQSR1@w%?D#pncpO`Y*wt~KoZa^_0GG8?_bV<>TgpXuRd5+NZe z!$`QRYmIsNW^_-HNqhZFW-{~TPd-_ylesI65>L8%2(k~hXu#MU61hy3`!w`9mY?+P z`QXO=%@?u=FR3gLD%=I9Kgq%K?z+;!g3jqydebnR*lAj>9)*xEA`Cw@4}yf`ET}w97bNeJ;}H{ljd>4+mKEw~ zP-31pb8%-R!MWb%EJ!OjNmVw5miQXY7JTlYLU@##&CR$`ya&h9w$oqm#QDktH!xkl?Za* z+mA(K1L@cMMZsY*NG|^8j2S-sW?}C9LGYty!Qy*t7tr6rI2`@Pit23UPYCHWlzA42 z$a>3*x7PmXhRJ258DETc(rsSKt!&(e2WRkwiw5x^(@qK|8~;~JNzu$ccPHX+qGkNW zb}GcYPqD8YFGrs%-jSMbL+*0OVa}iO38KW#`Sp%4v+4MI02R=->J5zZ(I|aD;D~JF zzrOAWaSGx=s0LO+ley8paKn|qcQ-68&1){t?oFPco}X5wUtm*~!*QZ0pvCr46WB-cU02^L*h= z^~URS_}G1F$_CrWD1)4$9Lm$ydfp(WKc*~2ubgw5eu?nDnvwB~kLVxbtp9u)tZczO zP{yAk(Atl<9hP09##~teaK?Np;>qRNisbzo3*OcCgi@H(U8QpU88&D9OSvO{B*hMM zL`<&DH*c>esZyIQR9JulWYaGfEu#q8PCnp{DKSyi<57 zY^G-9u{6FUjxHZZbx(RHi*K%}bAk-2#< zrYH5U+5pf3aOavON%ngCO~zLzNM>Ky9hOhh{O&vyEfoUt!Eop0Eq`cTSDnx}ijhO_ z6-(}6W8cU}5N%(6>JbDBtfRu=ls6?(XZHR$6IacjVW4))580N;-oCiR{teL+xg0ex zc~Y2D_>z``*b;}zR#U++m_Y&Jz}u>$r-%PZw%Ja3fQYGuA$V+NQTV{;j9(-dLJ%;= z42_10d1Zo|t~v&60^JF61~*ZYoX=qsLqeQ`Yh=a;7I_nQ@ zR0bOCG5fzio!K8-+0;6Acf=w-1s;c?>;GkdbJqKtBa&Y_miP47iON#)McpMP$YQbR z65DU4mn7o&zw%ioFep85XXOuZ>1@_z|9xlCvSXdIxbl4RgV{`?&Lf9y$Y|F-iv^s1 zBbkr0^!rDeGa|B8H*@?(KfdtN*j{on(t(KCfV9xsa}^Vzy2qpwhckXD5nDv*pS_sT z>&X4_&C4d-RG`P%LN8wqaOrL!ZY2xh6b+U+QYNnCN1{x7*8G`@Ar)sKZu|7M&700c zu+ck35B5O`B^YxJOPl_E;rX&^y4;cX2W9yqVL{W=7La-su ze{e_pWM-~;EOqJl`jH`;2ySRuUOFlh?}{KC#Ta@5Iqh+dO4}6Y8+6fI{XMe7k+)}C ziS6A9-9yXdrg`lE*-dn-uJ7TSz$9iW25$ax0E0LJO`G3E#f`Xm&zPg9=aVdv+u}RI@oo59LUf6hCj!4(IF>v z`r-5H5S>vg)eG8~jxxckVL4WH=8?!JvB0Ar!q+z@Y5RGiM!#n8smHWE_wRLQ?ya+* z!(KYaUW;x`t9}&V&8ZS$?&%{4{(CHuK#kH3AO89=G0`}a5D+=8m~cS|xynDY^7?z4 z>Zs=*TrxgXDgNnU;-sl`?*|twcJol+V~*xwMh!)fsTwPZ*>}81(fa)OAp0-bUA7h5 zXH2kjN#XG;0cC%HD&u?L;({gU->>5H+h56QdTTEX2(F)gZP8UKuM`l+Q-OWU%=Nw< z*P*^0#KJ?`u^MpJZeWVZ4{d@g2j^9rI+W!owy`d)e$ZyTM>I&r0>TcwRyQAjK5O}9{KAu7Lcuwe<#izi0;f!Hh6+1hA(f*@jud&3ud;& zMeh=o_>@8kYIP_Mn`cSUDF_~0;U#y|2_VeOUxOaaL_NjC{yQ%OA_ZVm@`{Zd43u4u zSfuha>Ip0E-@#Jv)0b{+VD)CnyTnGuTJS{b-pU3Rorr|~+FZf)lE2y-Pmz`+%JL9B zO=J@&5QTZrlLh+I|6A`(tX{r098uzsR)mQ(7I-vbeFRY-V0OsUfztHomB&612;sb3 zy-Z2X+F4uk<{1MNE!|9@=?VI?;l17p+<}|Whv@qSWYe>Wm|GAC(t!rvZq2>jVk}Gw zoc&Hlu)l$()o%gb1J@wkQ&*&hEL%RYNSf?Tc7$p4UnnDz1lzr4?V?x@R-AslX)wjM8Q?<}q)jBkxs8D!Ih zLw>#Di)E+kvAp{T%F~ok!oQXO+)xbYEvA{HYHGU3eZIb!ZZ>Z*^@z_%L?Fp)HI2%t z!ZS?PtY@f4R0m}MN^O#f8r@|kg?Z!+Y#lm#u#Y{OuIx0iI##W!vXnXNACpy zZ!8xsg6=6pfJ4RG9k>!iGI{f%Q!6dmS7SBv1Fg&aDLxBD*;Ex)w;%--F{@r@f`ORE zM$lR4Sz-RN8yHUGI}h%n`Y&uMx|4;_Fd4^@biv(hYQahLV1|}2 zXsK5{(Xf&<{4ZXVrlncqh^)Lppd)HdEf^WINUBZO4&>#antH3yM!f6PzuF@PT4xSu zw|HIM5!=-ly6(->WL?u!jPSfW@qVYrjXz}!nzcsO{U#_49(UChWb9HKmoumA-fMD0 zx&-^;TI%olQk*k{o4qbSlkvHcEKyY8(p`{@QkOD_4D%;F(-F-8ri>Ue zi1%9^HiP$L@NN^d{T}d8PygEqXt5_@oU!{%^6iGiDIFFz-H#G^XCGLMOO^Dw(+Ljz zD9p>S>WMKg&MU@K!R^}ioi=j63jx+=>)j$_t^|Rx{M5+Yc(dLiMEwuJ$yo@Bh4#(Y zlWg;({X<@p=WDr%9^01{hsP2)sl#gk8JX^p`|VSflqp>iGOtYk&P2I@^llrn(c%`= zrLYQe$-{pz&elCBHELvt0vsB9U8C+>P9Ui>)~a(1w@59MKFc?iJgz#)UhIMI@)Q1@ zf@R=K7rpeBn_`~eaMgRrX-pB0*jtQyXhkcty^(B!gq>}iEsT)ftIJUfCva84;FbxM zanOu9yP(Q|zcWiF-lt1)A;HgJoLLv7-q zbzWHi+$_aYZtr!N#H>GE#ANpE@FF}z|E1U1>qx>+gC+ZB)T%aglC(W*9%`i|w&3H?1QnY%4&7e>=j&WlNa*%(EaYMtN2CR?k^yYCzYF2#{Ka;Dp(&9zyUo?j0~E_xk^PI~_r zaVbpSsER?!tP9IqW~|rEe)W(`ZFYMSOm3ZW~MVULSW5*`W%Amf1-Tc zXYCbkC?Era6!$UbP|G1oauQ#+TtE)$MHcY&dv;p*Pd>(<_y^pob3Di`XRUs zXp7l&puD7zKZtVaBhhxWmwj(qMEo9auS*A&UqDTI1gy-hph&6kJ z`Sof$k?dVgLE?X)1Tty5hSLeyV&UXsRGW&Xv>ONyBGNd1>%V46zr(y{ds}+dR@IW9 zS)O83A(2CH0XMl;IBhjzO?QZ75W*))utDW50e-U;M>hI=S&DVHl$^*=WgsZFFi)v^ z&7Q_X{vXyK^egP+mQ2*b_R8Uc|{rW@qnwbM12&E-4>ZAN9^-cG_ zUxl&YA@`~ud7F&QTS+OY*KAOcRFjq+eUB~&X;1BtjG;wBW;P9Fcsr`Jd1+Vr;(Fa5 zuIMN=+8r&^)B(hc!%^&xm9LRW+o^k zN@YtXhdef`_EQg40hdx5$WuHYZ|KRI(gL5ZnmwH!EMqGI2VR35o@vk=g{kn^Jf|J6 zbXU#&PJMe5cjho&2k|L?@J4K`J1^^dmebu!{;Eb^0K?w6h7lF&44Dghx)W|TC8>ME z&wyoTpv#YCbauF9|GjVqm+551t7yfvMGO$$a7WnvLIc~Wht+c#CBwoEB!Ag?x+{+L z?ZZl;6Q~DEhe-`uptVa!ji&3sjCeZJ-%2U_{Y85fqZh3*tO0nM0rIK~5}7T!Yy2e6 zKYFh*ayH_Zgohw4bwzM#E&0@fG(D1MnWmO5@18kgZ-?s!Png+sYFf7R?HDoc5e0bR zvZpQ^kL8gDVr^`CU$@X&z9Xl#hx68w<}Kf}@9J^9mS)sNEzOV9S*Gh&N(9DEcT%Zqv0%l&TpTBNvO@+7)k4L_U4l=JEW?SQWxc&m_*^`v@mLAGdN90!RDgm!a{ zzjZNNjxkUR&&Lv&L99B>y?d-ax+4l)$I_b3+#^Gc%6hMARpv!$Wte<1&sT$Ql=|6D zc@3Xm5|)iJ#YjJ~DC?Z-)Z3AR{Zo^A;VNhKZe+ArovvEItCQ3d=?W7oyVl0HlA>nT ztcK&8DBA4GhA5}?B~p{+tlge@NlQNJZzE)v%`2H|cRNwTF>@_cxQx#IX{}{o-FMa|uJj$P9f8GmWBc8^h zvJNT4blI_&zB9E|R%9`qZc+JCi+J~EQik9-Mp?nE%2k6OaX}jcO*+v$zWWSKhoycq zbY1D7T7zkrU+Psr=Ofpix(;XXKDFpT(Ik|RyThVdiOrkThHw|r%%+eb*4m9o4Z6u~ z3HKX+gCtExMm8buNgNkgT@CI2IN_=~elr|9e)oLB`6T8pcFT||ByhEjoC#)c#YH- zC@5G_6srdmg;q|^M?KULy&In=K8kuO98Nt{aMGSHuu8q#08)FSZRaxC?0uyvBP$5agqYR>d>tkC|ioyQ7$2R_KKp%;`N_bP@$Y-u~{x1KL)_h9J+g zCfy=>kv0a!Nedq%NIl>?EH(xWLE#Y&8-`~9nxhA4CaaSB!;#}$j)_om7fQ8=))onj zrf8=fBsgPrxHAJ+5Zs7aoNx!q5Lf_>aU2%2l|mg#?f@^!tlhT-T+RT5&QNk^y9GIm zvBWYb91$WC3WUs80t-c`7(pc>&d`U;$k_=48n2o= zB*t7Rxkj3{p#nixRu(@?%qQ(>0--{o5FjFfNCYzon98=&m;<&_A+H!zfWqx28*L)3 z95*ATCo^d!m$5n+gT*#XYo&(r#AHn1z-$5`A92St03`5XoGsIC9uOyR0Wbp#u+kKR z6%J!= zjLi^tG&VHS4ltUu>qyf4s!|JHS>}kud?AOo&}1dZENa?o8-NO^H##jv7e21!Dp>S+F!9uvyc%oZ&R0 zk))ZlGs28J@qi1h7S&iO8nfa+qf&C2nE56Xfy$(M+#n?Y3=jndOK^z@mdoUNST2+h zKminl0bsB8t4KW4U0L`3!7e9AoZw#1VOT-cxESD$%+nbSf)@QGDDbDBngwayLq5N z&}b9IlrDSd{YU`IhE`@1XP_rg40rdsl8d{G3<&PfZPOd_@w=3V_GcLZL;5SlA5^DE z1D%E0!R$09cfZ+Og14Ecu;ssQ{r8n}(9>J2|J;oKkM*In;6}`v2AIhy;JSkmxJS%j zQ3U^6uYqT;jiXm^X2!Xf!_$?y7@p6-%23;x>6?4kuMUDniZrU(I^zmga+AFV@y%;r zQdXW@Xs8;qF=EB{@#U>BICcH7wzB+OSa(b%efUXYT};t=R&UGHmf-uv>@j{bHX_T; zbR4VP@wa`+dnbOSHg>%`>EFQ}&w6i+&JF0Fdd|1=K}68$%iR||+M%tG9D0_=3h;*_ zGMqWk@llVS>N($*`FWb!%s z(&qksZNbWP?h!ij9YktcAL!0bss+Yg|PktHIwWh$+O}kpyA)4>1 zHa*AKH)FIr%&ZZ2Cp^zlA9sO}FGn(jt)FrBjenMYko$CT-O}KshA{^s&(K%qG%gcu z86T*=%yz`Fh^Wu46(F*lelICrrSWbJ$)6D74f(3aj$5~?_I5KrxAU~~*sK)qLa6b9 zZ2i^Do~7$g^yMu{P2JQtqt?`L&;zQX+B-USA}V=z1>yODqYAQ z6V~2Y7CkS`aXPu13ppEKHaN1gP4}r*Y0C1D_y77& z%f(ftJk!&l(?Z3)wEZ8j@vRpOB{?98TZ(tzbh#{K)QY}b-9^Ecm8E;q*Fccccw0Fs zEom+~zii&*oW<))cpp{f_egpQt<4R*^M2oUvr6wo`>D$k3xZ2z)wOxGp_+~N{!(_i z!@8!!npV5LZd!fDi>0&1r+irDmsA(`sK3Ac`p(PM>v+@Zzk&OE*tZURFd{`Yp>zav z=JC-@Umr?*xNx;*+3ezmMw9eVyNDIDw)|0>^Vqd1Ps1;kg`V}zFBx6e)i5fF6+``F z;mT=oSGM)ITqQbZUY^p;8yMGI-xoIJp;rO;@>x$$@zMO&scpOcyRs+dc5Z1Dp0X7b zblx)fj`Z1HMTLilKRKjv*+v)bME2Z?3vR#HlG$;>@~NbH^%*QZ|7e^2Uo}N&TY*`& zegFEn;Jbl~Z+kgsY}Kvms%W@5`qFi;BfIM3cOE+y^CLX7_wS2~t^@?FJ;~eEc6-V7 z0F0gNqe`$;n0wNTry$e#^31~I)+mpUyRJSCcYKl6Tp3!lO)%OKk&sw6^F(Hfzub21#Q*>R literal 0 HcmV?d00001 diff --git a/Assets/Resources/Sprites/UI/You.png.meta b/Assets/Resources/Sprites/UI/You.png.meta new file mode 100644 index 00000000..4d87f089 --- /dev/null +++ b/Assets/Resources/Sprites/UI/You.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 12c4cedee97763e4eb060ea17141982e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Common/Billboard.cs b/Assets/Scripts/Common/Billboard.cs new file mode 100644 index 00000000..f3d57008 --- /dev/null +++ b/Assets/Scripts/Common/Billboard.cs @@ -0,0 +1,31 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace RhythmHeavenMania.Common +{ + public class Billboard : MonoBehaviour + { + public float fixedSize = 0.03f; + public bool constantScale = false; + private Camera cam; + + private void Start() + { + cam = GameManager.instance.GameCamera; + } + + private void LateUpdate() + { + this.transform.rotation = cam.transform.rotation; + + if (constantScale) + { + var distance = (cam.transform.position - this.transform.position).magnitude; + var size = distance * fixedSize * cam.fieldOfView; + this.transform.localScale = Vector3.one * size; + transform.forward = transform.position - cam.transform.position; + } + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Common/Billboard.cs.meta b/Assets/Scripts/Common/Billboard.cs.meta new file mode 100644 index 00000000..afb85f41 --- /dev/null +++ b/Assets/Scripts/Common/Billboard.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8654dbb292a4f514e828520d366c7395 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/UniversalRenderPipelineAsset.asset b/Assets/UniversalRenderPipelineAsset.asset index 9501a920..c6963a30 100644 --- a/Assets/UniversalRenderPipelineAsset.asset +++ b/Assets/UniversalRenderPipelineAsset.asset @@ -34,7 +34,7 @@ MonoBehaviour: m_AdditionalLightShadowsSupported: 0 m_AdditionalLightsShadowmapResolution: 512 m_ShadowDistance: 50 - m_ShadowCascadeCount: 1 + m_ShadowCascadeCount: 4 m_Cascade2Split: 0.25 m_Cascade3Split: {x: 0.1, y: 0.3} m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467}