From e6c9c143f194a567a58721e9f067dee04f7b93a3 Mon Sep 17 00:00:00 2001 From: StudentJW Date: Tue, 13 Jan 2026 15:42:18 +0000 Subject: [PATCH] Work --- .vsconfig | 6 + Assets/Plugins.meta | 8 + Assets/Plugins/Pixelplacement.meta | 8 + Assets/Plugins/Pixelplacement/iTween.meta | 8 + .../Plugins/Pixelplacement/iTween/Images.meta | 10 + .../iTween/Images/iTweenNews.png | Bin 0 -> 22219 bytes .../iTween/Images/iTweenNews.png.meta | 153 + .../Pixelplacement/iTween/ReadMe!.meta | 9 + .../Pixelplacement/iTween/ReadMe!/ReadMe!.txt | 3 + .../iTween/ReadMe!/ReadMe!.txt.meta | 4 + .../Plugins/Pixelplacement/iTween/Sample.meta | 5 + .../iTween/Sample/MoveSample.cs | 10 + .../iTween/Sample/MoveSample.cs.meta | 8 + .../iTween/Sample/RotateSample.cs | 10 + .../iTween/Sample/RotateSample.cs.meta | 8 + .../Pixelplacement/iTween/Sample/Sample.unity | 445 + .../iTween/Sample/Sample.unity.meta | 4 + .../iTween/Sample/SampleInfo.cs | 16 + .../iTween/Sample/SampleInfo.cs.meta | 8 + .../Plugins/Pixelplacement/iTween/iTween.cs | 7194 +++++++++++++++ .../Pixelplacement/iTween/iTween.cs.meta | 8 + .../{SampleScene.unity => GameScene.unity} | 0 ...eScene.unity.meta => GameScene.unity.meta} | 0 Assets/Scenes/MenuScene.unity | 1261 +++ Assets/Scenes/MenuScene.unity.meta | 7 + Assets/Scripts/StartMenuController.cs | 20 + Assets/Scripts/StartMenuController.cs.meta | 11 + Assets/Scripts/TitleJuice.cs | 12 + Assets/Scripts/TitleJuice.cs.meta | 11 + Assets/Settings/URP-Balanced.asset | 53 +- Assets/Settings/URP-Performant.asset | 53 +- Assets/TextMesh Pro.meta | 8 + Assets/TextMesh Pro/Documentation.meta | 8 + .../TextMesh Pro User Guide 2016.pdf | Bin 0 -> 694398 bytes .../TextMesh Pro User Guide 2016.pdf.meta | 7 + Assets/TextMesh Pro/Fonts.meta | 8 + .../Fonts/LiberationSans - OFL.txt | 46 + .../Fonts/LiberationSans - OFL.txt.meta | 8 + Assets/TextMesh Pro/Fonts/LiberationSans.ttf | Bin 0 -> 350200 bytes .../Fonts/LiberationSans.ttf.meta | 19 + Assets/TextMesh Pro/Fonts/full Pack 2025.ttf | Bin 0 -> 6716 bytes .../Fonts/full Pack 2025.ttf.meta | 21 + Assets/TextMesh Pro/Resources.meta | 8 + .../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 + Assets/TextMesh Pro/Shaders.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 + Assets/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 + Assets/TextMesh Pro/Shaders/TMP_SDF.shader | 317 + .../TextMesh Pro/Shaders/TMP_SDF.shader.meta | 9 + Assets/TextMesh Pro/Shaders/TMP_Sprite.shader | 116 + .../Shaders/TMP_Sprite.shader.meta | 9 + Assets/TextMesh Pro/Shaders/TMPro.cginc | 84 + Assets/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 + Assets/TextMesh Pro/Sprites.meta | 8 + .../Sprites/EmojiOne Attribution.txt | 3 + .../Sprites/EmojiOne Attribution.txt.meta | 7 + Assets/TextMesh Pro/Sprites/EmojiOne.json | 156 + .../TextMesh Pro/Sprites/EmojiOne.json.meta | 8 + Assets/TextMesh Pro/Sprites/EmojiOne.png | Bin 0 -> 112319 bytes Assets/TextMesh Pro/Sprites/EmojiOne.png.meta | 431 + ProjectSettings/EditorBuildSettings.asset | 2 +- 107 files changed, 22548 insertions(+), 9 deletions(-) create mode 100644 .vsconfig create mode 100644 Assets/Plugins.meta create mode 100644 Assets/Plugins/Pixelplacement.meta create mode 100644 Assets/Plugins/Pixelplacement/iTween.meta create mode 100644 Assets/Plugins/Pixelplacement/iTween/Images.meta create mode 100644 Assets/Plugins/Pixelplacement/iTween/Images/iTweenNews.png create mode 100644 Assets/Plugins/Pixelplacement/iTween/Images/iTweenNews.png.meta create mode 100644 Assets/Plugins/Pixelplacement/iTween/ReadMe!.meta create mode 100644 Assets/Plugins/Pixelplacement/iTween/ReadMe!/ReadMe!.txt create mode 100644 Assets/Plugins/Pixelplacement/iTween/ReadMe!/ReadMe!.txt.meta create mode 100644 Assets/Plugins/Pixelplacement/iTween/Sample.meta create mode 100644 Assets/Plugins/Pixelplacement/iTween/Sample/MoveSample.cs create mode 100644 Assets/Plugins/Pixelplacement/iTween/Sample/MoveSample.cs.meta create mode 100644 Assets/Plugins/Pixelplacement/iTween/Sample/RotateSample.cs create mode 100644 Assets/Plugins/Pixelplacement/iTween/Sample/RotateSample.cs.meta create mode 100644 Assets/Plugins/Pixelplacement/iTween/Sample/Sample.unity create mode 100644 Assets/Plugins/Pixelplacement/iTween/Sample/Sample.unity.meta create mode 100644 Assets/Plugins/Pixelplacement/iTween/Sample/SampleInfo.cs create mode 100644 Assets/Plugins/Pixelplacement/iTween/Sample/SampleInfo.cs.meta create mode 100644 Assets/Plugins/Pixelplacement/iTween/iTween.cs create mode 100644 Assets/Plugins/Pixelplacement/iTween/iTween.cs.meta rename Assets/Scenes/{SampleScene.unity => GameScene.unity} (100%) rename Assets/Scenes/{SampleScene.unity.meta => GameScene.unity.meta} (100%) create mode 100644 Assets/Scenes/MenuScene.unity create mode 100644 Assets/Scenes/MenuScene.unity.meta create mode 100644 Assets/Scripts/StartMenuController.cs create mode 100644 Assets/Scripts/StartMenuController.cs.meta create mode 100644 Assets/Scripts/TitleJuice.cs create mode 100644 Assets/Scripts/TitleJuice.cs.meta create mode 100644 Assets/TextMesh Pro.meta create mode 100644 Assets/TextMesh Pro/Documentation.meta create mode 100644 Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf create mode 100644 Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta create mode 100644 Assets/TextMesh Pro/Fonts.meta create mode 100644 Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt create mode 100644 Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta create mode 100644 Assets/TextMesh Pro/Fonts/LiberationSans.ttf create mode 100644 Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta create mode 100644 Assets/TextMesh Pro/Fonts/full Pack 2025.ttf create mode 100644 Assets/TextMesh Pro/Fonts/full Pack 2025.ttf.meta create mode 100644 Assets/TextMesh Pro/Resources.meta create mode 100644 Assets/TextMesh Pro/Resources/Fonts & Materials.meta create mode 100644 Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat create mode 100644 Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta create mode 100644 Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset create mode 100644 Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta create mode 100644 Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat create mode 100644 Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta create mode 100644 Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset create mode 100644 Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta create mode 100644 Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt create mode 100644 Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta create mode 100644 Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt create mode 100644 Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta create mode 100644 Assets/TextMesh Pro/Resources/Sprite Assets.meta create mode 100644 Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset create mode 100644 Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta create mode 100644 Assets/TextMesh Pro/Resources/Style Sheets.meta create mode 100644 Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset create mode 100644 Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta create mode 100644 Assets/TextMesh Pro/Resources/TMP Settings.asset create mode 100644 Assets/TextMesh Pro/Resources/TMP Settings.asset.meta create mode 100644 Assets/TextMesh Pro/Shaders.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader create mode 100644 Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader create mode 100644 Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader create mode 100644 Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF.shader create mode 100644 Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMP_Sprite.shader create mode 100644 Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMPro.cginc create mode 100644 Assets/TextMesh Pro/Shaders/TMPro.cginc.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc create mode 100644 Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc create mode 100644 Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta create mode 100644 Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc create mode 100644 Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta create mode 100644 Assets/TextMesh Pro/Sprites.meta create mode 100644 Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt create mode 100644 Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta create mode 100644 Assets/TextMesh Pro/Sprites/EmojiOne.json create mode 100644 Assets/TextMesh Pro/Sprites/EmojiOne.json.meta create mode 100644 Assets/TextMesh Pro/Sprites/EmojiOne.png create mode 100644 Assets/TextMesh Pro/Sprites/EmojiOne.png.meta diff --git a/.vsconfig b/.vsconfig new file mode 100644 index 0000000..f019fd0 --- /dev/null +++ b/.vsconfig @@ -0,0 +1,6 @@ +{ + "version": "1.0", + "components": [ + "Microsoft.VisualStudio.Workload.ManagedGame" + ] +} diff --git a/Assets/Plugins.meta b/Assets/Plugins.meta new file mode 100644 index 0000000..644cd1e --- /dev/null +++ b/Assets/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 220d24ca496136e458c07292ac0cdb19 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Pixelplacement.meta b/Assets/Plugins/Pixelplacement.meta new file mode 100644 index 0000000..f2e7dbd --- /dev/null +++ b/Assets/Plugins/Pixelplacement.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 87a8c8ad331190c4782b4c0afd5b9736 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Pixelplacement/iTween.meta b/Assets/Plugins/Pixelplacement/iTween.meta new file mode 100644 index 0000000..de7cf0a --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ea3afc6eb46ea547aa054ce5c9ee8fc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Pixelplacement/iTween/Images.meta b/Assets/Plugins/Pixelplacement/iTween/Images.meta new file mode 100644 index 0000000..f0843cf --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/Images.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 20f5496af0a1a4ac1bcc8850db15c00a +folderAsset: yes +timeCreated: 1516932782 +licenseType: Store +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Pixelplacement/iTween/Images/iTweenNews.png b/Assets/Plugins/Pixelplacement/iTween/Images/iTweenNews.png new file mode 100644 index 0000000000000000000000000000000000000000..5388a54cef62938c4584625d49732b1fd5db0d3d GIT binary patch literal 22219 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 literal 0 HcmV?d00001 diff --git a/Assets/Plugins/Pixelplacement/iTween/Images/iTweenNews.png.meta b/Assets/Plugins/Pixelplacement/iTween/Images/iTweenNews.png.meta new file mode 100644 index 0000000..58e43fe --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/Images/iTweenNews.png.meta @@ -0,0 +1,153 @@ +fileFormatVersion: 2 +guid: 70ae88ee4c1a745d0819de61ec68af19 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 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: 0 + 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: 1 + swizzle: 50462976 + cookieLightType: 1 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Pixelplacement/iTween/ReadMe!.meta b/Assets/Plugins/Pixelplacement/iTween/ReadMe!.meta new file mode 100644 index 0000000..64d1649 --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/ReadMe!.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2d2cb0af9aa924b12bd57127320643a3 +folderAsset: yes +timeCreated: 1504197499 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Pixelplacement/iTween/ReadMe!/ReadMe!.txt b/Assets/Plugins/Pixelplacement/iTween/ReadMe!/ReadMe!.txt new file mode 100644 index 0000000..7cb81d6 --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/ReadMe!/ReadMe!.txt @@ -0,0 +1,3 @@ +iTween can be used with all scripting languages that Unity supports including JavaScript, C# and Boo. To install iTween create a folder named "Plugins" in your project's assets (if you are using C# the location of iTween does not matter as long as it is inside your assets folder). + +For complete documentation, examples and information visit: http://itween.pixelplacement.com \ No newline at end of file diff --git a/Assets/Plugins/Pixelplacement/iTween/ReadMe!/ReadMe!.txt.meta b/Assets/Plugins/Pixelplacement/iTween/ReadMe!/ReadMe!.txt.meta new file mode 100644 index 0000000..e27a250 --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/ReadMe!/ReadMe!.txt.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: b68b11cac1ab04f95985e32ea67b8435 +TextScriptImporter: + userData: diff --git a/Assets/Plugins/Pixelplacement/iTween/Sample.meta b/Assets/Plugins/Pixelplacement/iTween/Sample.meta new file mode 100644 index 0000000..03fa169 --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/Sample.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 2b4957ecfb9d44cb59b99d2305c1848c +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Plugins/Pixelplacement/iTween/Sample/MoveSample.cs b/Assets/Plugins/Pixelplacement/iTween/Sample/MoveSample.cs new file mode 100644 index 0000000..d51fa8e --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/Sample/MoveSample.cs @@ -0,0 +1,10 @@ +using UnityEngine; +using System.Collections; + +public class MoveSample : MonoBehaviour +{ + void Start(){ + iTween.MoveBy(gameObject, iTween.Hash("x", 2, "easeType", "easeInOutExpo", "loopType", "pingPong", "delay", .1)); + } +} + diff --git a/Assets/Plugins/Pixelplacement/iTween/Sample/MoveSample.cs.meta b/Assets/Plugins/Pixelplacement/iTween/Sample/MoveSample.cs.meta new file mode 100644 index 0000000..53997e5 --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/Sample/MoveSample.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 93cb45d44c16f45a4bbd5099fe096c20 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Plugins/Pixelplacement/iTween/Sample/RotateSample.cs b/Assets/Plugins/Pixelplacement/iTween/Sample/RotateSample.cs new file mode 100644 index 0000000..068eb45 --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/Sample/RotateSample.cs @@ -0,0 +1,10 @@ +using UnityEngine; +using System.Collections; + +public class RotateSample : MonoBehaviour +{ + void Start(){ + iTween.RotateBy(gameObject, iTween.Hash("x", .25, "easeType", "easeInOutBack", "loopType", "pingPong", "delay", .4)); + } +} + diff --git a/Assets/Plugins/Pixelplacement/iTween/Sample/RotateSample.cs.meta b/Assets/Plugins/Pixelplacement/iTween/Sample/RotateSample.cs.meta new file mode 100644 index 0000000..e579dc4 --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/Sample/RotateSample.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d6bc01eb564f142a1ada6ced5215636a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Plugins/Pixelplacement/iTween/Sample/Sample.unity b/Assets/Plugins/Pixelplacement/iTween/Sample/Sample.unity new file mode 100644 index 0000000..2651bea --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/Sample/Sample.unity @@ -0,0 +1,445 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 1 + m_BakeResolution: 50 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 1 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 0 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 0 +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666666 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &795364717 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 795364718} + - component: {fileID: 795364719} + - component: {fileID: 795364721} + - component: {fileID: 795364722} + - component: {fileID: 795364720} + - component: {fileID: 795364723} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &795364718 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795364717} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -4.489832} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &795364719 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795364717} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.28235295, g: 0.28235295, b: 0.28235295, a: 0.019607844} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 100 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!81 &795364720 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795364717} + m_Enabled: 1 +--- !u!92 &795364721 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795364717} + m_Enabled: 1 +--- !u!124 &795364722 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795364717} + m_Enabled: 1 +--- !u!114 &795364723 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795364717} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5273cf41de20842a5917d8346dffe707, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &807515953 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 807515954} + - component: {fileID: 807515955} + m_Layer: 0 + m_Name: Directional light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &807515954 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 807515953} + m_LocalRotation: {x: 0.310826, y: 0.19056995, z: 0.060003437, w: 0.92923087} + m_LocalPosition: {x: -8.505982, y: 0.6730433, z: -8.146198} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!108 &807515955 +Light: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 807515953} + m_Enabled: 1 + serializedVersion: 8 + m_Type: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_Lightmapping: 1 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!1 &829696789 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 829696790} + - component: {fileID: 829696792} + - component: {fileID: 829696791} + - component: {fileID: 829696793} + m_Layer: 0 + m_Name: RotateSample + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &829696790 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 829696789} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.319066, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &829696791 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 829696789} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10302, 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_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &829696792 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 829696789} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!114 &829696793 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 829696789} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d6bc01eb564f142a1ada6ced5215636a, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1595025699 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1595025700} + - component: {fileID: 1595025702} + - component: {fileID: 1595025701} + - component: {fileID: 1595025703} + m_Layer: 0 + m_Name: MoveSample + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1595025700 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1595025699} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1595025701 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1595025699} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10302, 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_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + 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 +--- !u!33 &1595025702 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1595025699} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!114 &1595025703 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1595025699} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 93cb45d44c16f45a4bbd5099fe096c20, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Plugins/Pixelplacement/iTween/Sample/Sample.unity.meta b/Assets/Plugins/Pixelplacement/iTween/Sample/Sample.unity.meta new file mode 100644 index 0000000..b0b3741 --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/Sample/Sample.unity.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 17c6d1d46ed4a4cd19bb7f7a231386ba +DefaultImporter: + userData: diff --git a/Assets/Plugins/Pixelplacement/iTween/Sample/SampleInfo.cs b/Assets/Plugins/Pixelplacement/iTween/Sample/SampleInfo.cs new file mode 100644 index 0000000..e0c9107 --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/Sample/SampleInfo.cs @@ -0,0 +1,16 @@ +using UnityEngine; +using System.Collections; + +public class SampleInfo : MonoBehaviour +{ +void OnGUI(){ + GUILayout.Label("iTween can spin, shake, punch, move, handle audio, fade color and transparency \nand much more with each task needing only one line of code."); + GUILayout.BeginHorizontal(); + GUILayout.Label("iTween works with C#, JavaScript and Boo. For full documentation and examples visit:"); + if(GUILayout.Button("http://itween.pixelplacement.com")){ + Application.OpenURL("http://itween.pixelplacement.com"); + } + GUILayout.EndHorizontal(); + } +} + diff --git a/Assets/Plugins/Pixelplacement/iTween/Sample/SampleInfo.cs.meta b/Assets/Plugins/Pixelplacement/iTween/Sample/SampleInfo.cs.meta new file mode 100644 index 0000000..f3b5700 --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/Sample/SampleInfo.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5273cf41de20842a5917d8346dffe707 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Plugins/Pixelplacement/iTween/iTween.cs b/Assets/Plugins/Pixelplacement/iTween/iTween.cs new file mode 100644 index 0000000..4c03361 --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/iTween.cs @@ -0,0 +1,7194 @@ +// Copyright (c) 2011 - 2018 Bob Berkebile (pixelplacment) +// Please direct any bugs/comments/suggestions to http://pixelplacement.com +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +/* +TERMS OF USE - EASING EQUATIONS +Open source under the BSD License. +Copyright (c)2001 Robert Penner +All rights reserved. +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#region Namespaces +using System; +using System.Collections; +using System.Collections.Generic; +using System.Reflection; +using UnityEngine; +#endregion + +/// +/// Version: 2.0.8 +/// Author: Bob Berkebile (http://pixelplacement.com) +/// Support: http://itween.pixelplacement.com +/// +public class iTween : MonoBehaviour +{ + #region Variables + + //repository of all living iTweens: + public static List tweens = new List(); + + //status members (made public for visual troubleshooting in the inspector): + public string id, type, method; + public iTween.EaseType easeType; + public float time, delay; + public LoopType loopType; + public bool isRunning,isPaused; + /* GFX47 MOD START */ + public string _name; + /* GFX47 MOD END */ + + //private members: + private float runningTime, percentage; + private float delayStarted; //probably not neccesary that this be protected but it shuts Unity's compiler up about this being "never used" + private bool kinematic, isLocal, loop, reverse, wasPaused, physics; + private Hashtable tweenArguments; + private Space space; + private delegate float EasingFunction(float start, float end, float Value); + private delegate void ApplyTween(); + private EasingFunction ease; + private ApplyTween apply; + private AudioSource audioSource; + private Vector3[] vector3s; + private Vector2[] vector2s; + private Color[,] colors; + private float[] floats; + private Rect[] rects; + private CRSpline path; + private Vector3 preUpdate; + private Vector3 postUpdate; + private NamedValueColor namedcolorvalue; + + private float lastRealTime; // Added by PressPlay + private bool useRealTime; // Added by PressPlay + + private Transform thisTransform; + + + /// + /// The type of easing to use based on Robert Penner's open source easing equations (http://www.robertpenner.com/easing_terms_of_use.html). + /// + public enum EaseType{ + easeInQuad, + easeOutQuad, + easeInOutQuad, + easeInCubic, + easeOutCubic, + easeInOutCubic, + easeInQuart, + easeOutQuart, + easeInOutQuart, + easeInQuint, + easeOutQuint, + easeInOutQuint, + easeInSine, + easeOutSine, + easeInOutSine, + easeInExpo, + easeOutExpo, + easeInOutExpo, + easeInCirc, + easeOutCirc, + easeInOutCirc, + linear, + spring, + /* GFX47 MOD START */ + //bounce, + easeInBounce, + easeOutBounce, + easeInOutBounce, + /* GFX47 MOD END */ + easeInBack, + easeOutBack, + easeInOutBack, + /* GFX47 MOD START */ + //elastic, + easeInElastic, + easeOutElastic, + easeInOutElastic, + /* GFX47 MOD END */ + punch + } + + /// + /// The type of loop (if any) to use. + /// + public enum LoopType{ + /// + /// Do not loop. + /// + none, + /// + /// Rewind and replay. + /// + loop, + /// + /// Ping pong the animation back and forth. + /// + pingPong + } + + /// + /// Many shaders use more than one color. Use can have iTween's Color methods operate on them by name. + /// + public enum NamedValueColor{ + /// + /// The main color of a material. Used by default and not required for Color methods to work in iTween. + /// + _Color, + /// + /// The specular color of a material (used in specular/glossy/vertexlit shaders). + /// + _SpecColor, + /// + /// The emissive color of a material (used in vertexlit shaders). + /// + _Emission, + /// + /// The reflection color of the material (used in reflective shaders). + /// + _ReflectColor + } + + #endregion + + #region Defaults + + /// + /// A collection of baseline presets that iTween needs and utilizes if certain parameters are not provided. + /// + public static class Defaults{ + //general defaults: + public static float time = 1f; + public static float delay = 0f; + public static NamedValueColor namedColorValue = NamedValueColor._Color; + public static LoopType loopType = LoopType.none; + public static EaseType easeType = iTween.EaseType.easeOutExpo; + public static float lookSpeed = 3f; + public static bool isLocal = false; + public static Space space = Space.Self; + public static bool orientToPath = false; + public static Color color = Color.white; + //update defaults: + public static float updateTimePercentage = .05f; + public static float updateTime = 1f*updateTimePercentage; + //path look ahead amount: + public static float lookAhead = .05f; + public static bool useRealTime = false; // Added by PressPlay + //look direction: + public static Vector3 up = Vector3.up; + } + + #endregion + + #region #1 Static Registers + + /// + /// Sets up a GameObject to avoid hiccups when an initial iTween is added. It's advisable to run this on every object you intend to run iTween on in its Start or Awake. + /// + /// + /// A to be the target to be initialized for iTween. + /// + public static void Init(GameObject target){ + MoveBy(target,Vector3.zero,0); + } + + + /// + /// Returns a value to an 'oncallback' method interpolated between the supplied 'from' and 'to' values for application as desired. Requires an 'onupdate' callback that accepts the same type as the supplied 'from' and 'to' properties. + /// + /// + /// A or or or or or for the starting value. + /// + /// + /// A or or or or or for the ending value. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed (only works with Vector2, Vector3, and Floats) + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void ValueTo(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + if (!args.Contains("onupdate") || !args.Contains("from") || !args.Contains("to")) { + Debug.LogError("iTween Error: ValueTo() requires an 'onupdate' callback function and a 'from' and 'to' property. The supplied 'onupdate' callback must accept a single argument that is the same type as the supplied 'from' and 'to' properties!"); + return; + }else{ + //establish iTween: + args["type"]="value"; + + if (args["from"].GetType() == typeof(Vector2)) { + args["method"]="vector2"; + }else if (args["from"].GetType() == typeof(Vector3)) { + args["method"]="vector3"; + }else if (args["from"].GetType() == typeof(Rect)) { + args["method"]="rect"; + }else if (args["from"].GetType() == typeof(Single)) { + args["method"]="float"; + }else if (args["from"].GetType() == typeof(Color)) { + args["method"]="color"; + }else{ + Debug.LogError("iTween Error: ValueTo() only works with interpolating Vector3s, Vector2s, floats, ints, Rects and Colors!"); + return; + } + + //set a default easeType of linear if none is supplied since eased color interpolation is nearly unrecognizable: + if (!args.Contains("easetype")) { + args.Add("easetype",EaseType.linear); + } + + Launch(target,args); + } + } + + /// + /// Changes a GameObject's alpha value instantly then returns it to the provided alpha over time with MINIMUM customization options. Identical to using ColorFrom and using the "a" parameter. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the final alpha value of the animation. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void FadeFrom(GameObject target, float alpha, float time){ + FadeFrom(target,Hash("alpha",alpha,"time",time)); + } + + /// + /// Changes a GameObject's alpha value instantly then returns it to the provided alpha over time with FULL customization options. Identical to using ColorFrom and using the "a" parameter. + /// + /// + /// A or for the initial alpha value of the animation. + /// + /// + /// A or for the initial alpha value of the animation. + /// + /// + /// A for whether or not to include children of this GameObject. True by default. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void FadeFrom(GameObject target, Hashtable args){ + ColorFrom(target,args); + } + + /// + /// Changes a GameObject's alpha value over time with MINIMUM customization options. Identical to using ColorTo and using the "a" parameter. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the final alpha value of the animation. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void FadeTo(GameObject target, float alpha, float time){ + FadeTo(target,Hash("alpha",alpha,"time",time)); + } + + /// + /// Changes a GameObject's alpha value over time with FULL customization options. Identical to using ColorTo and using the "a" parameter. + /// + /// + /// A or for the final alpha value of the animation. + /// + /// + /// A or for the final alpha value of the animation. + /// + /// + /// A for whether or not to include children of this GameObject. True by default. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void FadeTo(GameObject target, Hashtable args){ + ColorTo(target,args); + } + + /// + /// Changes a GameObject's color values instantly then returns them to the provided properties over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A to change the GameObject's color to. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void ColorFrom(GameObject target, Color color, float time){ + ColorFrom(target,Hash("color",color,"time",time)); + } + + /// + /// Changes a GameObject's color values instantly then returns them to the provided properties over time with FULL customization options. + /// + /// + /// A to change the GameObject's color to. + /// + /// + /// A or for the individual setting of the color red. + /// + /// + /// A or for the individual setting of the color green. + /// + /// + /// A or for the individual setting of the color green. + /// + /// + /// A or for the individual setting of the alpha. + /// + /// + /// A or for the individual setting of the alpha. + /// + /// + /// A for whether or not to include children of this GameObject. True by default. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void ColorFrom(GameObject target, Hashtable args){ + Color fromColor = new Color(); + Color tempColor = new Color(); + + //clean args: + args = iTween.CleanArgs(args); + + //handle children: + if(!args.Contains("includechildren") || (bool)args["includechildren"]){ + foreach(Transform child in target.transform){ + Hashtable argsCopy = (Hashtable)args.Clone(); + argsCopy["ischild"]=true; + ColorFrom(child.gameObject,argsCopy); + } + } + + //set a default easeType of linear if none is supplied since eased color interpolation is nearly unrecognizable: + if (!args.Contains("easetype")) { + args.Add("easetype",EaseType.linear); + } + + //set tempColor and base fromColor: + if(target.GetComponent()){ + tempColor=fromColor=target.GetComponent().material.color; + }else if(target.GetComponent()){ + tempColor=fromColor=target.GetComponent().color; + } + + //set augmented fromColor: + if(args.Contains("color")){ + fromColor=(Color)args["color"]; + }else{ + if (args.Contains("r")) { + fromColor.r=(float)args["r"]; + } + if (args.Contains("g")) { + fromColor.g=(float)args["g"]; + } + if (args.Contains("b")) { + fromColor.b=(float)args["b"]; + } + if (args.Contains("a")) { + fromColor.a=(float)args["a"]; + } + } + + //alpha or amount? + if(args.Contains("amount")){ + fromColor.a=(float)args["amount"]; + args.Remove("amount"); + }else if(args.Contains("alpha")){ + fromColor.a=(float)args["alpha"]; + args.Remove("alpha"); + } + + //apply fromColor: + if(target.GetComponent()){ + target.GetComponent().material.color=fromColor; + }else if(target.GetComponent()){ + target.GetComponent().color=fromColor; + } + + //set new color arg: + args["color"]=tempColor; + + //establish iTween: + args["type"]="color"; + args["method"]="to"; + Launch(target,args); + } + + /// + /// Changes a GameObject's color values over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A to change the GameObject's color to. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void ColorTo(GameObject target, Color color, float time){ + ColorTo(target,Hash("color",color,"time",time)); + } + + /// + /// Changes a GameObject's color values over time with FULL customization options. + /// + /// + /// A to change the GameObject's color to. + /// + /// + /// A or for the individual setting of the color red. + /// + /// + /// A or for the individual setting of the color green. + /// + /// + /// A or for the individual setting of the color green. + /// + /// + /// A or for the individual setting of the alpha. + /// + /// + /// A or for the individual setting of the alpha. + /// + /// + /// A for whether or not to include children of this GameObject. True by default. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void ColorTo(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //handle children: + if(!args.Contains("includechildren") || (bool)args["includechildren"]){ + foreach(Transform child in target.transform){ + Hashtable argsCopy = (Hashtable)args.Clone(); + argsCopy["ischild"]=true; + ColorTo(child.gameObject,argsCopy); + } + } + + //set a default easeType of linear if none is supplied since eased color interpolation is nearly unrecognizable: + if (!args.Contains("easetype")) { + args.Add("easetype",EaseType.linear); + } + + //establish iTween: + args["type"]="color"; + args["method"]="to"; + Launch(target,args); + } + + /// + /// Instantly changes an AudioSource's volume and pitch then returns it to it's starting volume and pitch over time with MINIMUM customization options. Default AudioSource attached to GameObject will be used (if one exists) if not supplied. + /// + /// + /// A to be the target of the animation which holds the AudioSource to be changed. + /// + /// for the target level of volume. + /// A + /// + /// for the target pitch. + /// A + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void AudioFrom(GameObject target, float volume, float pitch, float time){ + AudioFrom(target,Hash("volume",volume,"pitch",pitch,"time",time)); + } + + /// + /// Instantly changes an AudioSource's volume and pitch then returns it to it's starting volume and pitch over time with FULL customization options. Default AudioSource attached to GameObject will be used (if one exists) if not supplied. + /// + /// + /// A for which AudioSource to use. + /// + /// + /// A or for the target level of volume. + /// + /// + /// A or for the target pitch. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void AudioFrom(GameObject target, Hashtable args){ + Vector2 tempAudioProperties; + Vector2 fromAudioProperties; + AudioSource tempAudioSource; + + //clean args: + args = iTween.CleanArgs(args); + + //set tempAudioSource: + if(args.Contains("audiosource")){ + tempAudioSource=(AudioSource)args["audiosource"]; + }else{ + if(target.GetComponent()){ + tempAudioSource=target.GetComponent(); + }else{ + //throw error if no AudioSource is available: + Debug.LogError("iTween Error: AudioFrom requires an AudioSource."); + return; + } + } + + //set tempAudioProperties: + tempAudioProperties.x=fromAudioProperties.x=tempAudioSource.volume; + tempAudioProperties.y=fromAudioProperties.y=tempAudioSource.pitch; + + //set augmented fromAudioProperties: + if(args.Contains("volume")){ + fromAudioProperties.x=(float)args["volume"]; + } + if(args.Contains("pitch")){ + fromAudioProperties.y=(float)args["pitch"]; + } + + //apply fromAudioProperties: + tempAudioSource.volume=fromAudioProperties.x; + tempAudioSource.pitch=fromAudioProperties.y; + + //set new volume and pitch args: + args["volume"]=tempAudioProperties.x; + args["pitch"]=tempAudioProperties.y; + + //set a default easeType of linear if none is supplied since eased audio interpolation is nearly unrecognizable: + if (!args.Contains("easetype")) { + args.Add("easetype",EaseType.linear); + } + + //establish iTween: + args["type"]="audio"; + args["method"]="to"; + Launch(target,args); + } + + /// + /// Fades volume and pitch of an AudioSource with MINIMUM customization options. Default AudioSource attached to GameObject will be used (if one exists) if not supplied. + /// + /// + /// A to be the target of the animation which holds the AudioSource to be changed. + /// + /// for the target level of volume. + /// A + /// + /// for the target pitch. + /// A + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void AudioTo(GameObject target, float volume, float pitch, float time){ + AudioTo(target,Hash("volume",volume,"pitch",pitch,"time",time)); + } + + /// + /// Fades volume and pitch of an AudioSource with FULL customization options. Default AudioSource attached to GameObject will be used (if one exists) if not supplied. + /// + /// + /// A for which AudioSource to use. + /// + /// + /// A or for the target level of volume. + /// + /// + /// A or for the target pitch. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void AudioTo(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //set a default easeType of linear if none is supplied since eased audio interpolation is nearly unrecognizable: + if (!args.Contains("easetype")) { + args.Add("easetype",EaseType.linear); + } + + //establish iTween: + args["type"]="audio"; + args["method"]="to"; + Launch(target,args); + } + + /// + /// Plays an AudioClip once based on supplied volume and pitch and following any delay with MINIMUM customization options. AudioSource is optional as iTween will provide one. + /// + /// + /// A to be the target of the animation which holds the AudioSource to be utilized. + /// + /// + /// A for a reference to the AudioClip to be played. + /// + /// + /// A for the time in seconds the action will wait before beginning. + /// + public static void Stab(GameObject target, AudioClip audioclip, float delay){ + Stab(target,Hash("audioclip",audioclip,"delay",delay)); + } + + /// + /// Plays an AudioClip once based on supplied volume and pitch and following any delay with FULL customization options. AudioSource is optional as iTween will provide one. + /// + /// + /// A for a reference to the AudioClip to be played. + /// + /// + /// A for which AudioSource to use + /// + /// + /// A or for the target level of volume. + /// + /// + /// A or for the target pitch. + /// + /// + /// A or for the time in seconds the action will wait before beginning. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void Stab(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //establish iTween: + args["type"]="stab"; + Launch(target,args); + } + + /// + /// Instantly rotates a GameObject to look at the supplied Vector3 then returns it to it's starting rotation over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A to be the Vector3 that the target will look towards. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void LookFrom(GameObject target, Vector3 looktarget, float time){ + LookFrom(target,Hash("looktarget",looktarget,"time",time)); + } + + /// + /// Instantly rotates a GameObject to look at a supplied Transform or Vector3 then returns it to it's starting rotation over time with FULL customization options. + /// + /// + /// A or for a target the GameObject will look at. + /// + /// + /// A . Restricts rotation to the supplied axis only. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void LookFrom(GameObject target, Hashtable args){ + Vector3 tempRotation; + Vector3 tempRestriction; + + //clean args: + args = iTween.CleanArgs(args); + + //set look: + tempRotation=target.transform.eulerAngles; + if (args["looktarget"].GetType() == typeof(Transform)) { + //target.transform.LookAt((Transform)args["looktarget"]); + target.transform.LookAt((Transform)args["looktarget"], (Vector3?)args["up"] ?? Defaults.up); + }else if(args["looktarget"].GetType() == typeof(Vector3)){ + //target.transform.LookAt((Vector3)args["looktarget"]); + target.transform.LookAt((Vector3)args["looktarget"], (Vector3?)args["up"] ?? Defaults.up); + } + + //axis restriction: + if(args.Contains("axis")){ + tempRestriction=target.transform.eulerAngles; + switch((string)args["axis"]){ + case "x": + tempRestriction.y=tempRotation.y; + tempRestriction.z=tempRotation.z; + break; + case "y": + tempRestriction.x=tempRotation.x; + tempRestriction.z=tempRotation.z; + break; + case "z": + tempRestriction.x=tempRotation.x; + tempRestriction.y=tempRotation.y; + break; + } + target.transform.eulerAngles=tempRestriction; + } + + //set new rotation: + args["rotation"] = tempRotation; + + //establish iTween + args["type"]="rotate"; + args["method"]="to"; + Launch(target,args); + } + + /// + /// Rotates a GameObject to look at the supplied Vector3 over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A to be the Vector3 that the target will look towards. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void LookTo(GameObject target, Vector3 looktarget, float time){ + LookTo(target,Hash("looktarget",looktarget,"time",time)); + } + + /// + /// Rotates a GameObject to look at a supplied Transform or Vector3 over time with FULL customization options. + /// + /// + /// A or for a target the GameObject will look at. + /// + /// + /// A . Restricts rotation to the supplied axis only. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void LookTo(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //additional property to ensure ConflictCheck can work correctly since Transforms are refrences: + if(args.Contains("looktarget")){ + if (args["looktarget"].GetType() == typeof(Transform)) { + Transform transform = (Transform)args["looktarget"]; + args["position"]=new Vector3(transform.position.x,transform.position.y,transform.position.z); + args["rotation"]=new Vector3(transform.eulerAngles.x,transform.eulerAngles.y,transform.eulerAngles.z); + } + } + + //establish iTween + args["type"]="look"; + args["method"]="to"; + Launch(target,args); + } + + /// + /// Changes a GameObject's position over time to a supplied destination with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the destination Vector3. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void MoveTo(GameObject target, Vector3 position, float time){ + MoveTo(target,Hash("position",position,"time",time)); + } + + /// + /// Changes a GameObject's position over time to a supplied destination with FULL customization options. + /// + /// + /// A or for a point in space the GameObject will animate to. + /// + /// + /// A or for a list of points to draw a Catmull-Rom through for a curved animation path. + /// + /// + /// A for whether to automatically generate a curve from the GameObject's current position to the beginning of the path. True by default. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A for whether or not the GameObject will orient to its direction of travel. False by default. + /// + /// + /// A or A for a target the GameObject will look at. + /// + /// + /// A or for the time in seconds the object will take to look at either the "looktarget" or "orienttopath". + /// + /// + /// A or for how much of a percentage to look ahead on a path to influence how strict "orientopath" is. + /// + /// + /// A . Restricts rotation to the supplied axis only. + /// + /// + /// A for whether to animate in world space or relative to the parent. False by default. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void MoveTo(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //additional property to ensure ConflictCheck can work correctly since Transforms are refrences: + if(args.Contains("position")){ + if (args["position"].GetType() == typeof(Transform)) { + Transform transform = (Transform)args["position"]; + args["position"]=new Vector3(transform.position.x,transform.position.y,transform.position.z); + args["rotation"]=new Vector3(transform.eulerAngles.x,transform.eulerAngles.y,transform.eulerAngles.z); + args["scale"]=new Vector3(transform.localScale.x,transform.localScale.y,transform.localScale.z); + } + } + + //establish iTween: + args["type"]="move"; + args["method"]="to"; + Launch(target,args); + } + + /// + /// Instantly changes a GameObject's position to a supplied destination then returns it to it's starting position over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the destination Vector3. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void MoveFrom(GameObject target, Vector3 position, float time){ + MoveFrom(target,Hash("position",position,"time",time)); + } + + /// + /// Instantly changes a GameObject's position to a supplied destination then returns it to it's starting position over time with FULL customization options. + /// + /// + /// A or for a point in space the GameObject will animate to. + /// + /// + /// A or for a list of points to draw a Catmull-Rom through for a curved animation path. + /// + /// + /// A for whether to automatically generate a curve from the GameObject's current position to the beginning of the path. True by default. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A for whether or not the GameObject will orient to its direction of travel. False by default. + /// + /// + /// A or A for a target the GameObject will look at. + /// + /// + /// A or for the time in seconds the object will take to look at either the "looktarget" or "orienttopath". + /// + /// + /// A or for how much of a percentage to look ahead on a path to influence how strict "orientopath" is. + /// + /// + /// A for whether to animate in world space or relative to the parent. False by default. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void MoveFrom(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + bool tempIsLocal; + + //set tempIsLocal: + if(args.Contains("islocal")){ + tempIsLocal = (bool)args["islocal"]; + }else{ + tempIsLocal = Defaults.isLocal; + } + + if(args.Contains("path")){ + Vector3[] fromPath; + Vector3[] suppliedPath; + if(args["path"].GetType() == typeof(Vector3[])){ + Vector3[] temp = (Vector3[])args["path"]; + suppliedPath=new Vector3[temp.Length]; + Array.Copy(temp,suppliedPath, temp.Length); + }else{ + Transform[] temp = (Transform[])args["path"]; + suppliedPath = new Vector3[temp.Length]; + for (int i = 0; i < temp.Length; i++) { + suppliedPath[i]=temp[i].position; + } + } + if(suppliedPath[suppliedPath.Length-1] != target.transform.position){ + fromPath= new Vector3[suppliedPath.Length+1]; + Array.Copy(suppliedPath,fromPath,suppliedPath.Length); + if(tempIsLocal){ + fromPath[fromPath.Length-1] = target.transform.localPosition; + target.transform.localPosition=fromPath[0]; + }else{ + fromPath[fromPath.Length-1] = target.transform.position; + target.transform.position=fromPath[0]; + } + args["path"]=fromPath; + }else{ + if(tempIsLocal){ + target.transform.localPosition=suppliedPath[0]; + }else{ + target.transform.position=suppliedPath[0]; + } + args["path"]=suppliedPath; + } + }else{ + Vector3 tempPosition; + Vector3 fromPosition; + + //set tempPosition and base fromPosition: + if(tempIsLocal){ + tempPosition=fromPosition=target.transform.localPosition; + }else{ + tempPosition=fromPosition=target.transform.position; + } + + //set augmented fromPosition: + if(args.Contains("position")){ + if (args["position"].GetType() == typeof(Transform)){ + Transform trans = (Transform)args["position"]; + fromPosition=trans.position; + }else if(args["position"].GetType() == typeof(Vector3)){ + fromPosition=(Vector3)args["position"]; + } + }else{ + if (args.Contains("x")) { + fromPosition.x=(float)args["x"]; + } + if (args.Contains("y")) { + fromPosition.y=(float)args["y"]; + } + if (args.Contains("z")) { + fromPosition.z=(float)args["z"]; + } + } + + //apply fromPosition: + if(tempIsLocal){ + target.transform.localPosition = fromPosition; + }else{ + target.transform.position = fromPosition; + } + + //set new position arg: + args["position"]=tempPosition; + } + + //establish iTween: + args["type"]="move"; + args["method"]="to"; + Launch(target,args); + } + + /// + /// Translates a GameObject's position over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the amount of change in position to move the GameObject. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void MoveAdd(GameObject target, Vector3 amount, float time){ + MoveAdd(target,Hash("amount",amount,"time",time)); + } + + /// + /// Translates a GameObject's position over time with FULL customization options. + /// + /// + /// A for the amount of change in position to move the GameObject. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A for whether or not the GameObject will orient to its direction of travel. False by default. + /// + /// + /// A or A for a target the GameObject will look at. + /// + /// + /// A or for the time in seconds the object will take to look at either the "looktarget" or "orienttopath". + /// + /// + /// A . Restricts rotation to the supplied axis only. + /// + /// + /// A or for applying the transformation in either the world coordinate or local cordinate system. Defaults to local space. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void MoveAdd(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //establish iTween: + args["type"]="move"; + args["method"]="add"; + Launch(target,args); + } + + /// + /// Adds the supplied coordinates to a GameObject's postion with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the amount of change in position to move the GameObject. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void MoveBy(GameObject target, Vector3 amount, float time){ + MoveBy(target,Hash("amount",amount,"time",time)); + } + + /// + /// Adds the supplied coordinates to a GameObject's position with FULL customization options. + /// + /// + /// A for the amount of change in position to move the GameObject. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A for whether or not the GameObject will orient to its direction of travel. False by default. + /// + /// + /// A or A for a target the GameObject will look at. + /// + /// + /// A or for the time in seconds the object will take to look at either the "looktarget" or "orienttopath". + /// + /// + /// A . Restricts rotation to the supplied axis only. + /// + /// + /// A or for applying the transformation in either the world coordinate or local cordinate system. Defaults to local space. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void MoveBy(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //establish iTween: + args["type"]="move"; + args["method"]="by"; + Launch(target,args); + } + + /// + /// Changes a GameObject's scale over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the final scale. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void ScaleTo(GameObject target, Vector3 scale, float time){ + ScaleTo(target,Hash("scale",scale,"time",time)); + } + + /// + /// Changes a GameObject's scale over time with FULL customization options. + /// + /// + /// A or for the final scale. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void ScaleTo(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //additional property to ensure ConflictCheck can work correctly since Transforms are refrences: + if(args.Contains("scale")){ + if (args["scale"].GetType() == typeof(Transform)) { + Transform transform = (Transform)args["scale"]; + args["position"]=new Vector3(transform.position.x,transform.position.y,transform.position.z); + args["rotation"]=new Vector3(transform.eulerAngles.x,transform.eulerAngles.y,transform.eulerAngles.z); + args["scale"]=new Vector3(transform.localScale.x,transform.localScale.y,transform.localScale.z); + } + } + + //establish iTween: + args["type"]="scale"; + args["method"]="to"; + Launch(target,args); + } + + /// + /// Instantly changes a GameObject's scale then returns it to it's starting scale over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the final scale. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void ScaleFrom(GameObject target, Vector3 scale, float time){ + ScaleFrom(target,Hash("scale",scale,"time",time)); + } + + /// + /// Instantly changes a GameObject's scale then returns it to it's starting scale over time with FULL customization options. + /// + /// + /// A or for the final scale. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void ScaleFrom(GameObject target, Hashtable args){ + Vector3 tempScale; + Vector3 fromScale; + + //clean args: + args = iTween.CleanArgs(args); + + //set base fromScale: + tempScale=fromScale=target.transform.localScale; + + //set augmented fromScale: + if(args.Contains("scale")){ + if (args["scale"].GetType() == typeof(Transform)){ + Transform trans = (Transform)args["scale"]; + fromScale=trans.localScale; + }else if(args["scale"].GetType() == typeof(Vector3)){ + fromScale=(Vector3)args["scale"]; + } + }else{ + if (args.Contains("x")) { + fromScale.x=(float)args["x"]; + } + if (args.Contains("y")) { + fromScale.y=(float)args["y"]; + } + if (args.Contains("z")) { + fromScale.z=(float)args["z"]; + } + } + + //apply fromScale: + target.transform.localScale = fromScale; + + //set new scale arg: + args["scale"]=tempScale; + + //establish iTween: + args["type"]="scale"; + args["method"]="to"; + Launch(target,args); + } + + /// + /// Adds to a GameObject's scale over time with FULL customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the amount of scale to be added to the GameObject's current scale. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void ScaleAdd(GameObject target, Vector3 amount, float time){ + ScaleAdd(target,Hash("amount",amount,"time",time)); + } + + /// + /// Adds to a GameObject's scale over time with FULL customization options. + /// + /// + /// A for the amount to be added to the GameObject's current scale. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void ScaleAdd(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //establish iTween: + args["type"]="scale"; + args["method"]="add"; + Launch(target,args); + } + + /// + /// Multiplies a GameObject's scale over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the amount of scale to be multiplied by the GameObject's current scale. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void ScaleBy(GameObject target, Vector3 amount, float time){ + ScaleBy(target,Hash("amount",amount,"time",time)); + } + + /// + /// Multiplies a GameObject's scale over time with FULL customization options. + /// + /// + /// A for the amount to be multiplied to the GameObject's current scale. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void ScaleBy(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //establish iTween: + args["type"]="scale"; + args["method"]="by"; + Launch(target,args); + } + + /// + /// Rotates a GameObject to the supplied Euler angles in degrees over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the target Euler angles in degrees to rotate to. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void RotateTo(GameObject target, Vector3 rotation, float time){ + RotateTo(target,Hash("rotation",rotation,"time",time)); + } + + /// + /// Rotates a GameObject to the supplied Euler angles in degrees over time with FULL customization options. + /// + /// + /// A or for the target Euler angles in degrees to rotate to. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A for whether to animate in world space or relative to the parent. False by default. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void RotateTo(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //additional property to ensure ConflictCheck can work correctly since Transforms are refrences: + if(args.Contains("rotation")){ + if (args["rotation"].GetType() == typeof(Transform)) { + Transform transform = (Transform)args["rotation"]; + args["position"]=new Vector3(transform.position.x,transform.position.y,transform.position.z); + args["rotation"]=new Vector3(transform.eulerAngles.x,transform.eulerAngles.y,transform.eulerAngles.z); + args["scale"]=new Vector3(transform.localScale.x,transform.localScale.y,transform.localScale.z); + } + } + + //establish iTween + args["type"]="rotate"; + args["method"]="to"; + Launch(target,args); + } + + /// + /// Instantly changes a GameObject's Euler angles in degrees then returns it to it's starting rotation over time (if allowed) with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the target Euler angles in degrees to rotate from. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void RotateFrom(GameObject target, Vector3 rotation, float time){ + RotateFrom(target,Hash("rotation",rotation,"time",time)); + } + + /// + /// Instantly changes a GameObject's Euler angles in degrees then returns it to it's starting rotation over time (if allowed) with FULL customization options. + /// + /// + /// A or for the target Euler angles in degrees to rotate to. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A for whether to animate in world space or relative to the parent. False by default. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void RotateFrom(GameObject target, Hashtable args){ + Vector3 tempRotation; + Vector3 fromRotation; + bool tempIsLocal; + + //clean args: + args = iTween.CleanArgs(args); + + //set tempIsLocal: + if(args.Contains("islocal")){ + tempIsLocal = (bool)args["islocal"]; + }else{ + tempIsLocal = Defaults.isLocal; + } + + //set tempRotation and base fromRotation: + if(tempIsLocal){ + tempRotation=fromRotation=target.transform.localEulerAngles; + }else{ + tempRotation=fromRotation=target.transform.eulerAngles; + } + + //set augmented fromRotation: + if(args.Contains("rotation")){ + if (args["rotation"].GetType() == typeof(Transform)){ + Transform trans = (Transform)args["rotation"]; + fromRotation=trans.eulerAngles; + }else if(args["rotation"].GetType() == typeof(Vector3)){ + fromRotation=(Vector3)args["rotation"]; + } + }else{ + if (args.Contains("x")) { + fromRotation.x=(float)args["x"]; + } + if (args.Contains("y")) { + fromRotation.y=(float)args["y"]; + } + if (args.Contains("z")) { + fromRotation.z=(float)args["z"]; + } + } + + //apply fromRotation: + if(tempIsLocal){ + target.transform.localEulerAngles = fromRotation; + }else{ + target.transform.eulerAngles = fromRotation; + } + + //set new rotation arg: + args["rotation"]=tempRotation; + + //establish iTween: + args["type"]="rotate"; + args["method"]="to"; + Launch(target,args); + } + + /// + /// Adds supplied Euler angles in degrees to a GameObject's rotation over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the amount of Euler angles in degrees to add to the current rotation of the GameObject. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void RotateAdd(GameObject target, Vector3 amount, float time){ + RotateAdd(target,Hash("amount",amount,"time",time)); + } + + /// + /// Adds supplied Euler angles in degrees to a GameObject's rotation over time with FULL customization options. + /// + /// + /// A for the amount of Euler angles in degrees to add to the current rotation of the GameObject. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A or for applying the transformation in either the world coordinate or local cordinate system. Defaults to local space. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void RotateAdd(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //establish iTween: + args["type"]="rotate"; + args["method"]="add"; + Launch(target,args); + } + + /// + /// Multiplies supplied values by 360 and rotates a GameObject by calculated amount over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the amount to be multiplied by 360 to rotate the GameObject. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void RotateBy(GameObject target, Vector3 amount, float time){ + RotateBy(target,Hash("amount",amount,"time",time)); + } + + /// + /// Multiplies supplied values by 360 and rotates a GameObject by calculated amount over time with FULL customization options. + /// + /// + /// A for the amount to be multiplied by 360 to rotate the GameObject. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A or for applying the transformation in either the world coordinate or local cordinate system. Defaults to local space. + /// + /// + /// A for whether to animate in world space or relative to the parent. False by default. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or can be used instead of time to allow animation based on speed + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the shape of the easing curve applied to the animation. + /// + /// + /// A or for the type of loop to apply once the animation has completed. + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void RotateBy(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //establish iTween + args["type"]="rotate"; + args["method"]="by"; + Launch(target,args); + } + + /// + /// Randomly shakes a GameObject's position by a diminishing amount over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the magnitude of shake. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void ShakePosition(GameObject target, Vector3 amount, float time){ + ShakePosition(target,Hash("amount",amount,"time",time)); + } + + /// + /// Randomly shakes a GameObject's position by a diminishing amount over time with FULL customization options. + /// + /// + /// A for the magnitude of shake. + /// + /// + /// A or for the individual setting of the x magnitude. + /// + /// + /// A or for the individual setting of the y magnitude. + /// + /// + /// A or for the individual setting of the z magnitude. + /// + /// + /// A for whether to animate in world space or relative to the parent. False by default. + /// + /// + /// A for whether or not the GameObject will orient to its direction of travel. False by default. + /// + /// + /// A or A for a target the GameObject will look at. + /// + /// + /// A or for the time in seconds the object will take to look at either the "looktarget" or "orienttopath". + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the type of loop to apply once the animation has completed. (only "loop" is allowed with shakes) + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void ShakePosition(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //establish iTween + args["type"]="shake"; + args["method"]="position"; + Launch(target,args); + } + + /// + /// Randomly shakes a GameObject's scale by a diminishing amount over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the magnitude of shake. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void ShakeScale(GameObject target, Vector3 amount, float time){ + ShakeScale(target,Hash("amount",amount,"time",time)); + } + + /// + /// Randomly shakes a GameObject's scale by a diminishing amount over time with FULL customization options. + /// + /// + /// A for the magnitude of shake. + /// + /// + /// A or for the individual setting of the x magnitude. + /// + /// + /// A or for the individual setting of the y magnitude. + /// + /// + /// A or for the individual setting of the z magnitude. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the type of loop to apply once the animation has completed. (only "loop" is allowed with shakes) + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void ShakeScale(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //establish iTween + args["type"]="shake"; + args["method"]="scale"; + Launch(target,args); + } + + /// + /// Randomly shakes a GameObject's rotation by a diminishing amount over time with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the magnitude of shake. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void ShakeRotation(GameObject target, Vector3 amount, float time){ + ShakeRotation(target,Hash("amount",amount,"time",time)); + } + + /// + /// Randomly shakes a GameObject's rotation by a diminishing amount over time with FULL customization options. + /// + /// + /// A for the magnitude of shake. + /// + /// + /// A or for the individual setting of the x magnitude. + /// + /// + /// A or for the individual setting of the y magnitude. + /// + /// + /// A or for the individual setting of the z magnitude. + /// + /// + /// A for applying the transformation in either the world coordinate or local cordinate system. Defaults to local space. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the type of loop to apply once the animation has completed. (only "loop" is allowed with shakes) + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void ShakeRotation(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //establish iTween + args["type"]="shake"; + args["method"]="rotation"; + Launch(target,args); + } + + /// + /// Applies a jolt of force to a GameObject's position and wobbles it back to its initial position with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the magnitude of the punch. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void PunchPosition(GameObject target, Vector3 amount, float time){ + PunchPosition(target,Hash("amount",amount,"time",time)); + } + + /// + /// Applies a jolt of force to a GameObject's position and wobbles it back to its initial position with FULL customization options. + /// + /// + /// A for the magnitude of shake. + /// + /// + /// A or for the individual setting of the x magnitude. + /// + /// + /// A or for the individual setting of the y magnitude. + /// + /// + /// A or for the individual setting of the z magnitude. + /// + /// + /// A for applying the transformation in either the world coordinate or local cordinate system. Defaults to local space. + /// + /// + /// A or A for a target the GameObject will look at. + /// + /// + /// A or for the time in seconds the object will take to look at either the "looktarget". + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the type of loop to apply once the animation has completed. (only "loop" is allowed with punches) + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void PunchPosition(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //establish iTween + args["type"]="punch"; + args["method"]="position"; + args["easetype"]=EaseType.punch; + Launch(target,args); + } + + /// + /// Applies a jolt of force to a GameObject's rotation and wobbles it back to its initial rotation with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the magnitude of the punch. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void PunchRotation(GameObject target, Vector3 amount, float time){ + PunchRotation(target,Hash("amount",amount,"time",time)); + } + + /// + /// Applies a jolt of force to a GameObject's rotation and wobbles it back to its initial rotation with FULL customization options. + /// + /// + /// A for the magnitude of shake. + /// + /// + /// A or for the individual setting of the x magnitude. + /// + /// + /// A or for the individual setting of the y magnitude. + /// + /// + /// A or for the individual setting of the z magnitude. + /// + /// + /// A for applying the transformation in either the world coordinate or local cordinate system. Defaults to local space. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the type of loop to apply once the animation has completed. (only "loop" is allowed with punches) + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void PunchRotation(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //establish iTween + args["type"]="punch"; + args["method"]="rotation"; + args["easetype"]=EaseType.punch; + Launch(target,args); + } + + /// + /// Applies a jolt of force to a GameObject's scale and wobbles it back to its initial scale with MINIMUM customization options. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the magnitude of the punch. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void PunchScale(GameObject target, Vector3 amount, float time){ + PunchScale(target,Hash("amount",amount,"time",time)); + } + + /// + /// Applies a jolt of force to a GameObject's scale and wobbles it back to its initial scale with FULL customization options. + /// + /// + /// A for the magnitude of shake. + /// + /// + /// A or for the individual setting of the x magnitude. + /// + /// + /// A or for the individual setting of the y magnitude. + /// + /// + /// A or for the individual setting of the z magnitude. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A or for the time in seconds the animation will wait before beginning. + /// + /// + /// A or for the type of loop to apply once the animation has completed. (only "loop" is allowed with punches) + /// + /// + /// A for the name of a function to launch at the beginning of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onstart" method. + /// + /// + /// A for arguments to be sent to the "onstart" method. + /// + /// + /// A for the name of a function to launch on every step of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "onupdate" method. + /// + /// + /// A for arguments to be sent to the "onupdate" method. + /// + /// + /// A for the name of a function to launch at the end of the animation. + /// + /// + /// A for a reference to the GameObject that holds the "oncomplete" method. + /// + /// + /// A for arguments to be sent to the "oncomplete" method. + /// + public static void PunchScale(GameObject target, Hashtable args){ + //clean args: + args = iTween.CleanArgs(args); + + //establish iTween + args["type"]="punch"; + args["method"]="scale"; + args["easetype"]=EaseType.punch; + Launch(target,args); + } + + #endregion + + #region #2 Generate Method Targets + + //call correct set target method and set tween application delegate: + void GenerateTargets(){ + switch (type) { + case "value": + switch (method) { + case "float": + GenerateFloatTargets(); + apply = new ApplyTween(ApplyFloatTargets); + break; + case "vector2": + GenerateVector2Targets(); + apply = new ApplyTween(ApplyVector2Targets); + break; + case "vector3": + GenerateVector3Targets(); + apply = new ApplyTween(ApplyVector3Targets); + break; + case "color": + GenerateColorTargets(); + apply = new ApplyTween(ApplyColorTargets); + break; + case "rect": + GenerateRectTargets(); + apply = new ApplyTween(ApplyRectTargets); + break; + } + break; + case "color": + switch (method) { + case "to": + GenerateColorToTargets(); + apply = new ApplyTween(ApplyColorToTargets); + break; + } + break; + case "audio": + switch (method) { + case "to": + GenerateAudioToTargets(); + apply = new ApplyTween(ApplyAudioToTargets); + break; + } + break; + case "move": + switch (method) { + case "to": + //using a path? + if(tweenArguments.Contains("path")){ + GenerateMoveToPathTargets(); + apply = new ApplyTween(ApplyMoveToPathTargets); + }else{ //not using a path? + GenerateMoveToTargets(); + apply = new ApplyTween(ApplyMoveToTargets); + } + break; + case "by": + case "add": + GenerateMoveByTargets(); + apply = new ApplyTween(ApplyMoveByTargets); + break; + } + break; + case "scale": + switch (method){ + case "to": + GenerateScaleToTargets(); + apply = new ApplyTween(ApplyScaleToTargets); + break; + case "by": + GenerateScaleByTargets(); + apply = new ApplyTween(ApplyScaleToTargets); + break; + case "add": + GenerateScaleAddTargets(); + apply = new ApplyTween(ApplyScaleToTargets); + break; + } + break; + case "rotate": + switch (method) { + case "to": + GenerateRotateToTargets(); + apply = new ApplyTween(ApplyRotateToTargets); + break; + case "add": + GenerateRotateAddTargets(); + apply = new ApplyTween(ApplyRotateAddTargets); + break; + case "by": + GenerateRotateByTargets(); + apply = new ApplyTween(ApplyRotateAddTargets); + break; + } + break; + case "shake": + switch (method) { + case "position": + GenerateShakePositionTargets(); + apply = new ApplyTween(ApplyShakePositionTargets); + break; + case "scale": + GenerateShakeScaleTargets(); + apply = new ApplyTween(ApplyShakeScaleTargets); + break; + case "rotation": + GenerateShakeRotationTargets(); + apply = new ApplyTween(ApplyShakeRotationTargets); + break; + } + break; + case "punch": + switch (method) { + case "position": + GeneratePunchPositionTargets(); + apply = new ApplyTween(ApplyPunchPositionTargets); + break; + case "rotation": + GeneratePunchRotationTargets(); + apply = new ApplyTween(ApplyPunchRotationTargets); + break; + case "scale": + GeneratePunchScaleTargets(); + apply = new ApplyTween(ApplyPunchScaleTargets); + break; + } + break; + case "look": + switch (method) { + case "to": + GenerateLookToTargets(); + apply = new ApplyTween(ApplyLookToTargets); + break; + } + break; + case "stab": + GenerateStabTargets(); + apply = new ApplyTween(ApplyStabTargets); + break; + } + } + + #endregion + + #region #3 Generate Specific Targets + + void GenerateRectTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + rects=new Rect[3]; + + //from and to values: + rects[0]=(Rect)tweenArguments["from"]; + rects[1]=(Rect)tweenArguments["to"]; + } + + void GenerateColorTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + colors=new Color[1,3]; + + //from and to values: + colors[0,0]=(Color)tweenArguments["from"]; + colors[0,1]=(Color)tweenArguments["to"]; + } + + void GenerateVector3Targets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + vector3s=new Vector3[3]; + + //from and to values: + vector3s[0]=(Vector3)tweenArguments["from"]; + vector3s[1]=(Vector3)tweenArguments["to"]; + + //need for speed? + if(tweenArguments.Contains("speed")){ + float distance = Math.Abs(Vector3.Distance(vector3s[0],vector3s[1])); + time = distance/(float)tweenArguments["speed"]; + } + } + + void GenerateVector2Targets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + vector2s=new Vector2[3]; + + //from and to values: + vector2s[0]=(Vector2)tweenArguments["from"]; + vector2s[1]=(Vector2)tweenArguments["to"]; + + //need for speed? + if(tweenArguments.Contains("speed")){ + Vector3 fromV3 = new Vector3(vector2s[0].x,vector2s[0].y,0); + Vector3 toV3 = new Vector3(vector2s[1].x,vector2s[1].y,0); + float distance = Math.Abs(Vector3.Distance(fromV3,toV3)); + time = distance/(float)tweenArguments["speed"]; + } + } + + void GenerateFloatTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + floats=new float[3]; + + //from and to values: + floats[0]=(float)tweenArguments["from"]; + floats[1]=(float)tweenArguments["to"]; + + //need for speed? + if(tweenArguments.Contains("speed")){ + float distance = Math.Abs(floats[0] - floats[1]); + time = distance/(float)tweenArguments["speed"]; + } + } + + void GenerateColorToTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + //colors = new Color[3]; + + //from and init to values: + if(GetComponent()){ + colors = new Color[GetComponent().materials.Length,3]; + for (int i = 0; i < GetComponent().materials.Length; i++) { + colors[i,0]=GetComponent().materials[i].GetColor(namedcolorvalue.ToString()); + colors[i,1]=GetComponent().materials[i].GetColor(namedcolorvalue.ToString()); + } + //colors[0] = colors[1] = renderer.material.color; + }else if(GetComponent()){ + colors = new Color[1,3]; + colors[0,0] = colors[0,1] = GetComponent().color; + }else{ + colors = new Color[1,3]; //empty placeholder incase the GO is perhaps an empty holder or something similar + } + + //to values: + if (tweenArguments.Contains("color")) { + //colors[1]=(Color)tweenArguments["color"]; + for (int i = 0; i < colors.GetLength(0); i++) { + colors[i,1]=(Color)tweenArguments["color"]; + } + }else{ + if (tweenArguments.Contains("r")) { + //colors[1].r=(float)tweenArguments["r"]; + for (int i = 0; i < colors.GetLength(0); i++) { + colors[i,1].r=(float)tweenArguments["r"]; + } + } + if (tweenArguments.Contains("g")) { + //colors[1].g=(float)tweenArguments["g"]; + for (int i = 0; i < colors.GetLength(0); i++) { + colors[i,1].g=(float)tweenArguments["g"]; + } + } + if (tweenArguments.Contains("b")) { + //colors[1].b=(float)tweenArguments["b"]; + for (int i = 0; i < colors.GetLength(0); i++) { + colors[i,1].b=(float)tweenArguments["b"]; + } + } + if (tweenArguments.Contains("a")) { + //colors[1].a=(float)tweenArguments["a"]; + for (int i = 0; i < colors.GetLength(0); i++) { + colors[i,1].a=(float)tweenArguments["a"]; + } + } + } + + //alpha or amount? + if(tweenArguments.Contains("amount")){ + //colors[1].a=(float)tweenArguments["amount"]; + for (int i = 0; i < colors.GetLength(0); i++) { + colors[i,1].a=(float)tweenArguments["amount"]; + } + }else if(tweenArguments.Contains("alpha")){ + //colors[1].a=(float)tweenArguments["alpha"]; + for (int i = 0; i < colors.GetLength(0); i++) { + colors[i,1].a=(float)tweenArguments["alpha"]; + } + } + } + + void GenerateAudioToTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + vector2s=new Vector2[3]; + + //set audioSource: + if(tweenArguments.Contains("audiosource")){ + audioSource=(AudioSource)tweenArguments["audiosource"]; + }else{ + if(GetComponent()){ + audioSource=GetComponent(); + }else{ + //throw error if no AudioSource is available: + Debug.LogError("iTween Error: AudioTo requires an AudioSource."); + Dispose(); + } + } + + //from values and default to values: + vector2s[0]=vector2s[1]=new Vector2(audioSource.volume,audioSource.pitch); + + //to values: + if (tweenArguments.Contains("volume")) { + vector2s[1].x=(float)tweenArguments["volume"]; + } + if (tweenArguments.Contains("pitch")) { + vector2s[1].y=(float)tweenArguments["pitch"]; + } + } + + void GenerateStabTargets(){ + //set audioSource: + if(tweenArguments.Contains("audiosource")){ + audioSource=(AudioSource)tweenArguments["audiosource"]; + }else{ + if(GetComponent()){ + audioSource=GetComponent(); + }else{ + //add and populate AudioSource if one doesn't exist: + gameObject.AddComponent(); + audioSource=GetComponent(); + audioSource.playOnAwake=false; + + } + } + + //populate audioSource's clip: + audioSource.clip=(AudioClip)tweenArguments["audioclip"]; + + //set audio's pitch and volume if requested: + if(tweenArguments.Contains("pitch")){ + audioSource.pitch=(float)tweenArguments["pitch"]; + } + if(tweenArguments.Contains("volume")){ + audioSource.volume=(float)tweenArguments["volume"]; + } + + //set run time based on length of clip after pitch is augmented + time=audioSource.clip.length/audioSource.pitch; + } + + void GenerateLookToTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + vector3s=new Vector3[3]; + + //from values: + vector3s[0]=thisTransform.eulerAngles; + + //set look: + if(tweenArguments.Contains("looktarget")){ + if (tweenArguments["looktarget"].GetType() == typeof(Transform)) { + //transform.LookAt((Transform)tweenArguments["looktarget"]); + thisTransform.LookAt((Transform)tweenArguments["looktarget"], (Vector3?)tweenArguments["up"] ?? Defaults.up); + }else if(tweenArguments["looktarget"].GetType() == typeof(Vector3)){ + //transform.LookAt((Vector3)tweenArguments["looktarget"]); + thisTransform.LookAt((Vector3)tweenArguments["looktarget"], (Vector3?)tweenArguments["up"] ?? Defaults.up); + } + }else{ + Debug.LogError("iTween Error: LookTo needs a 'looktarget' property!"); + Dispose(); + } + + //to values: + vector3s[1]=thisTransform.eulerAngles; + thisTransform.eulerAngles=vector3s[0]; + + //axis restriction: + if(tweenArguments.Contains("axis")){ + switch((string)tweenArguments["axis"]){ + case "x": + vector3s[1].y=vector3s[0].y; + vector3s[1].z=vector3s[0].z; + break; + case "y": + vector3s[1].x=vector3s[0].x; + vector3s[1].z=vector3s[0].z; + break; + case "z": + vector3s[1].x=vector3s[0].x; + vector3s[1].y=vector3s[0].y; + break; + } + } + + //shortest distance: + vector3s[1]=new Vector3(clerp(vector3s[0].x,vector3s[1].x,1),clerp(vector3s[0].y,vector3s[1].y,1),clerp(vector3s[0].z,vector3s[1].z,1)); + + //need for speed? + if(tweenArguments.Contains("speed")){ + float distance = Math.Abs(Vector3.Distance(vector3s[0],vector3s[1])); + time = distance/(float)tweenArguments["speed"]; + } + } + + void GenerateMoveToPathTargets(){ + Vector3[] suppliedPath; + + //create and store path points: + if(tweenArguments["path"].GetType() == typeof(Vector3[])){ + Vector3[] temp = (Vector3[])tweenArguments["path"]; + //if only one point is supplied fall back to MoveTo's traditional use since we can't have a curve with one value: + if(temp.Length==1){ + Debug.LogError("iTween Error: Attempting a path movement with MoveTo requires an array of more than 1 entry!"); + Dispose(); + } + suppliedPath=new Vector3[temp.Length]; + Array.Copy(temp,suppliedPath, temp.Length); + }else{ + Transform[] temp = (Transform[])tweenArguments["path"]; + //if only one point is supplied fall back to MoveTo's traditional use since we can't have a curve with one value: + if(temp.Length==1){ + Debug.LogError("iTween Error: Attempting a path movement with MoveTo requires an array of more than 1 entry!"); + Dispose(); + } + suppliedPath = new Vector3[temp.Length]; + for (int i = 0; i < temp.Length; i++) { + suppliedPath[i]=temp[i].position; + } + } + + //do we need to plot a path to get to the beginning of the supplied path? + bool plotStart; + int offset; + if(thisTransform.position != suppliedPath[0]){ + if(!tweenArguments.Contains("movetopath") || (bool)tweenArguments["movetopath"]==true){ + plotStart=true; + offset=3; + }else{ + plotStart=false; + offset=2; + } + }else{ + plotStart=false; + offset=2; + } + + //build calculated path: + vector3s = new Vector3[suppliedPath.Length+offset]; + if(plotStart){ + vector3s[1]=thisTransform.position; + offset=2; + }else{ + offset=1; + } + + //populate calculate path; + Array.Copy(suppliedPath,0,vector3s,offset,suppliedPath.Length); + + //populate start and end control points: + //vector3s[0] = vector3s[1] - vector3s[2]; + vector3s[0] = vector3s[1] + (vector3s[1] - vector3s[2]); + vector3s[vector3s.Length-1] = vector3s[vector3s.Length-2] + (vector3s[vector3s.Length-2] - vector3s[vector3s.Length-3]); + + //is this a closed, continuous loop? yes? well then so let's make a continuous Catmull-Rom spline! + if(vector3s[1] == vector3s[vector3s.Length-2]){ + Vector3[] tmpLoopSpline = new Vector3[vector3s.Length]; + Array.Copy(vector3s,tmpLoopSpline,vector3s.Length); + tmpLoopSpline[0]=tmpLoopSpline[tmpLoopSpline.Length-3]; + tmpLoopSpline[tmpLoopSpline.Length-1]=tmpLoopSpline[2]; + vector3s=new Vector3[tmpLoopSpline.Length]; + Array.Copy(tmpLoopSpline,vector3s,tmpLoopSpline.Length); + } + + //create Catmull-Rom path: + path = new CRSpline(vector3s); + + //need for speed? + if(tweenArguments.Contains("speed")){ + float distance = PathLength(vector3s); + time = distance/(float)tweenArguments["speed"]; + } + } + + void GenerateMoveToTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + vector3s=new Vector3[3]; + + //from values: + if (isLocal) { + vector3s[0]=vector3s[1]=thisTransform.localPosition; + }else{ + vector3s[0]=vector3s[1]=thisTransform.position; + } + + //to values: + if (tweenArguments.Contains("position")) { + if (tweenArguments["position"].GetType() == typeof(Transform)){ + Transform trans = (Transform)tweenArguments["position"]; + vector3s[1]=trans.position; + }else if(tweenArguments["position"].GetType() == typeof(Vector3)){ + vector3s[1]=(Vector3)tweenArguments["position"]; + } + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x=(float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y=(float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z=(float)tweenArguments["z"]; + } + } + + //handle orient to path request: + if(tweenArguments.Contains("orienttopath") && (bool)tweenArguments["orienttopath"]){ + tweenArguments["looktarget"] = vector3s[1]; + } + + //need for speed? + if(tweenArguments.Contains("speed")){ + float distance = Math.Abs(Vector3.Distance(vector3s[0],vector3s[1])); + time = distance/(float)tweenArguments["speed"]; + } + } + + void GenerateMoveByTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation, [3] previous value for Translate usage to allow Space utilization, [4] original rotation to make sure look requests don't interfere with the direction object should move in, [5] for dial in location: + vector3s=new Vector3[6]; + + //grab starting rotation: + vector3s[4] = thisTransform.eulerAngles; + + //from values: + vector3s[0]=vector3s[1]=vector3s[3]=thisTransform.position; + + //to values: + if (tweenArguments.Contains("amount")) { + vector3s[1]=vector3s[0] + (Vector3)tweenArguments["amount"]; + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x=vector3s[0].x + (float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y=vector3s[0].y +(float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z=vector3s[0].z + (float)tweenArguments["z"]; + } + } + + //calculation for dial in: + thisTransform.Translate(vector3s[1],space); + vector3s[5] = thisTransform.position; + thisTransform.position=vector3s[0]; + + //handle orient to path request: + if(tweenArguments.Contains("orienttopath") && (bool)tweenArguments["orienttopath"]){ + tweenArguments["looktarget"] = vector3s[1]; + } + + //need for speed? + if(tweenArguments.Contains("speed")){ + float distance = Math.Abs(Vector3.Distance(vector3s[0],vector3s[1])); + time = distance/(float)tweenArguments["speed"]; + } + } + + void GenerateScaleToTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + vector3s=new Vector3[3]; + + //from values: + vector3s[0]=vector3s[1]=thisTransform.localScale; + + //to values: + if (tweenArguments.Contains("scale")) { + if (tweenArguments["scale"].GetType() == typeof(Transform)){ + Transform trans = (Transform)tweenArguments["scale"]; + vector3s[1]=trans.localScale; + }else if(tweenArguments["scale"].GetType() == typeof(Vector3)){ + vector3s[1]=(Vector3)tweenArguments["scale"]; + } + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x=(float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y=(float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z=(float)tweenArguments["z"]; + } + } + + //need for speed? + if(tweenArguments.Contains("speed")){ + float distance = Math.Abs(Vector3.Distance(vector3s[0],vector3s[1])); + time = distance/(float)tweenArguments["speed"]; + } + } + + void GenerateScaleByTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + vector3s=new Vector3[3]; + + //from values: + vector3s[0]=vector3s[1]=thisTransform.localScale; + + //to values: + if (tweenArguments.Contains("amount")) { + vector3s[1]=Vector3.Scale(vector3s[1],(Vector3)tweenArguments["amount"]); + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x*=(float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y*=(float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z*=(float)tweenArguments["z"]; + } + } + + //need for speed? + if(tweenArguments.Contains("speed")){ + float distance = Math.Abs(Vector3.Distance(vector3s[0],vector3s[1])); + time = distance/(float)tweenArguments["speed"]; + } + } + + void GenerateScaleAddTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + vector3s=new Vector3[3]; + + //from values: + vector3s[0]=vector3s[1]=thisTransform.localScale; + + //to values: + if (tweenArguments.Contains("amount")) { + vector3s[1]+=(Vector3)tweenArguments["amount"]; + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x+=(float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y+=(float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z+=(float)tweenArguments["z"]; + } + } + + //need for speed? + if(tweenArguments.Contains("speed")){ + float distance = Math.Abs(Vector3.Distance(vector3s[0],vector3s[1])); + time = distance/(float)tweenArguments["speed"]; + } + } + + void GenerateRotateToTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + vector3s=new Vector3[3]; + + //from values: + if (isLocal) { + vector3s[0]=vector3s[1]=thisTransform.localEulerAngles; + }else{ + vector3s[0]=vector3s[1]=thisTransform.eulerAngles; + } + + //to values: + if (tweenArguments.Contains("rotation")) { + if (tweenArguments["rotation"].GetType() == typeof(Transform)){ + Transform trans = (Transform)tweenArguments["rotation"]; + vector3s[1]=trans.eulerAngles; + }else if(tweenArguments["rotation"].GetType() == typeof(Vector3)){ + vector3s[1]=(Vector3)tweenArguments["rotation"]; + } + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x=(float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y=(float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z=(float)tweenArguments["z"]; + } + } + + //shortest distance: + vector3s[1]=new Vector3(clerp(vector3s[0].x,vector3s[1].x,1),clerp(vector3s[0].y,vector3s[1].y,1),clerp(vector3s[0].z,vector3s[1].z,1)); + + //need for speed? + if(tweenArguments.Contains("speed")){ + float distance = Math.Abs(Vector3.Distance(vector3s[0],vector3s[1])); + time = distance/(float)tweenArguments["speed"]; + } + } + + void GenerateRotateAddTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation, [3] previous value for Rotate usage to allow Space utilization: + vector3s=new Vector3[5]; + + //from values: + vector3s[0]=vector3s[1]=vector3s[3]=thisTransform.eulerAngles; + + //to values: + if (tweenArguments.Contains("amount")) { + vector3s[1]+=(Vector3)tweenArguments["amount"]; + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x+=(float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y+=(float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z+=(float)tweenArguments["z"]; + } + } + + //need for speed? + if(tweenArguments.Contains("speed")){ + float distance = Math.Abs(Vector3.Distance(vector3s[0],vector3s[1])); + time = distance/(float)tweenArguments["speed"]; + } + } + + void GenerateRotateByTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation, [3] previous value for Rotate usage to allow Space utilization: + vector3s=new Vector3[4]; + + //from values: + vector3s[0]=vector3s[1]=vector3s[3]=thisTransform.eulerAngles; + + //to values: + if (tweenArguments.Contains("amount")) { + vector3s[1]+=Vector3.Scale((Vector3)tweenArguments["amount"],new Vector3(360,360,360)); + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x+=360 * (float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y+=360 * (float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z+=360 * (float)tweenArguments["z"]; + } + } + + //need for speed? + if(tweenArguments.Contains("speed")){ + float distance = Math.Abs(Vector3.Distance(vector3s[0],vector3s[1])); + time = distance/(float)tweenArguments["speed"]; + } + } + + void GenerateShakePositionTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation, [3] original rotation to make sure look requests don't interfere with the direction object should move in: + vector3s=new Vector3[4]; + + //grab starting rotation: + vector3s[3] = thisTransform.eulerAngles; + + //root: + vector3s[0]=thisTransform.position; + + //amount: + if (tweenArguments.Contains("amount")) { + vector3s[1]=(Vector3)tweenArguments["amount"]; + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x=(float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y=(float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z=(float)tweenArguments["z"]; + } + } + } + + void GenerateShakeScaleTargets(){ + //values holder [0] root value, [1] amount, [2] generated amount: + vector3s=new Vector3[3]; + + //root: + vector3s[0]=thisTransform.localScale; + + //amount: + if (tweenArguments.Contains("amount")) { + vector3s[1]=(Vector3)tweenArguments["amount"]; + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x=(float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y=(float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z=(float)tweenArguments["z"]; + } + } + } + + void GenerateShakeRotationTargets(){ + //values holder [0] root value, [1] amount, [2] generated amount: + vector3s=new Vector3[3]; + + //root: + vector3s[0]=thisTransform.eulerAngles; + + //amount: + if (tweenArguments.Contains("amount")) { + vector3s[1]=(Vector3)tweenArguments["amount"]; + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x=(float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y=(float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z=(float)tweenArguments["z"]; + } + } + } + + void GeneratePunchPositionTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation, [3] previous value for Translate usage to allow Space utilization, [4] original rotation to make sure look requests don't interfere with the direction object should move in: + vector3s=new Vector3[5]; + + //grab starting rotation: + vector3s[4] = thisTransform.eulerAngles; + + //from values: + vector3s[0]=thisTransform.position; + vector3s[1]=vector3s[3]=Vector3.zero; + + //to values: + if (tweenArguments.Contains("amount")) { + vector3s[1]=(Vector3)tweenArguments["amount"]; + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x=(float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y=(float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z=(float)tweenArguments["z"]; + } + } + } + + void GeneratePunchRotationTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation, [3] previous value for Translate usage to allow Space utilization: + vector3s=new Vector3[4]; + + //from values: + vector3s[0]=thisTransform.eulerAngles; + vector3s[1]=vector3s[3]=Vector3.zero; + + //to values: + if (tweenArguments.Contains("amount")) { + vector3s[1]=(Vector3)tweenArguments["amount"]; + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x=(float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y=(float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z=(float)tweenArguments["z"]; + } + } + } + + void GeneratePunchScaleTargets(){ + //values holder [0] from, [1] to, [2] calculated value from ease equation: + vector3s=new Vector3[3]; + + //from values: + vector3s[0]=thisTransform.localScale; + vector3s[1]=Vector3.zero; + + //to values: + if (tweenArguments.Contains("amount")) { + vector3s[1]=(Vector3)tweenArguments["amount"]; + }else{ + if (tweenArguments.Contains("x")) { + vector3s[1].x=(float)tweenArguments["x"]; + } + if (tweenArguments.Contains("y")) { + vector3s[1].y=(float)tweenArguments["y"]; + } + if (tweenArguments.Contains("z")) { + vector3s[1].z=(float)tweenArguments["z"]; + } + } + } + + #endregion + + #region #4 Apply Targets + + void ApplyRectTargets(){ + //calculate: + rects[2].x = ease(rects[0].x,rects[1].x,percentage); + rects[2].y = ease(rects[0].y,rects[1].y,percentage); + rects[2].width = ease(rects[0].width,rects[1].width,percentage); + rects[2].height = ease(rects[0].height,rects[1].height,percentage); + + //apply: + tweenArguments["onupdateparams"]=rects[2]; + + //dial in: + if(percentage==1){ + tweenArguments["onupdateparams"]=rects[1]; + } + } + + void ApplyColorTargets(){ + //calculate: + colors[0,2].r = ease(colors[0,0].r,colors[0,1].r,percentage); + colors[0,2].g = ease(colors[0,0].g,colors[0,1].g,percentage); + colors[0,2].b = ease(colors[0,0].b,colors[0,1].b,percentage); + colors[0,2].a = ease(colors[0,0].a,colors[0,1].a,percentage); + + //apply: + tweenArguments["onupdateparams"]=colors[0,2]; + + //dial in: + if(percentage==1){ + tweenArguments["onupdateparams"]=colors[0,1]; + } + } + + void ApplyVector3Targets(){ + //calculate: + vector3s[2].x = ease(vector3s[0].x,vector3s[1].x,percentage); + vector3s[2].y = ease(vector3s[0].y,vector3s[1].y,percentage); + vector3s[2].z = ease(vector3s[0].z,vector3s[1].z,percentage); + + //apply: + tweenArguments["onupdateparams"]=vector3s[2]; + + //dial in: + if(percentage==1){ + tweenArguments["onupdateparams"]=vector3s[1]; + } + } + + void ApplyVector2Targets(){ + //calculate: + vector2s[2].x = ease(vector2s[0].x,vector2s[1].x,percentage); + vector2s[2].y = ease(vector2s[0].y,vector2s[1].y,percentage); + + //apply: + tweenArguments["onupdateparams"]=vector2s[2]; + + //dial in: + if(percentage==1){ + tweenArguments["onupdateparams"]=vector2s[1]; + } + } + + void ApplyFloatTargets(){ + //calculate: + floats[2] = ease(floats[0],floats[1],percentage); + + //apply: + tweenArguments["onupdateparams"]=floats[2]; + + //dial in: + if(percentage==1){ + tweenArguments["onupdateparams"]=floats[1]; + } + } + + void ApplyColorToTargets(){ + //calculate: + for (int i = 0; i < colors.GetLength(0); i++) { + colors[i,2].r = ease(colors[i,0].r,colors[i,1].r,percentage); + colors[i,2].g = ease(colors[i,0].g,colors[i,1].g,percentage); + colors[i,2].b = ease(colors[i,0].b,colors[i,1].b,percentage); + colors[i,2].a = ease(colors[i,0].a,colors[i,1].a,percentage); + } + /* + colors[2].r = ease(colors[0].r,colors[1].r,percentage); + colors[2].g = ease(colors[0].g,colors[1].g,percentage); + colors[2].b = ease(colors[0].b,colors[1].b,percentage); + colors[2].a = ease(colors[0].a,colors[1].a,percentage); + */ + + //apply: + if(GetComponent()){ + //renderer.material.color=colors[2]; + for (int i = 0; i < colors.GetLength(0); i++) { + GetComponent().materials[i].SetColor(namedcolorvalue.ToString(),colors[i,2]); + } + }else if(GetComponent()){ + //light.color=colors[2]; + GetComponent().color=colors[0,2]; + } + + //dial in: + if(percentage==1){ + if(GetComponent()){ + //renderer.material.color=colors[1]; + for (int i = 0; i < colors.GetLength(0); i++) { + GetComponent().materials[i].SetColor(namedcolorvalue.ToString(),colors[i,1]); + } + }else if(GetComponent()){ + //light.color=colors[1]; + GetComponent().color=colors[0,1]; + } + } + } + + void ApplyAudioToTargets(){ + //calculate: + vector2s[2].x = ease(vector2s[0].x,vector2s[1].x,percentage); + vector2s[2].y = ease(vector2s[0].y,vector2s[1].y,percentage); + + //apply: + audioSource.volume=vector2s[2].x; + audioSource.pitch=vector2s[2].y; + + //dial in: + if(percentage==1){ + audioSource.volume=vector2s[1].x; + audioSource.pitch=vector2s[1].y; + } + } + + void ApplyStabTargets(){ + //unnecessary but here just in case + } + + void ApplyMoveToPathTargets(){ + preUpdate = thisTransform.position; + float t = ease(0,1,percentage); + float lookAheadAmount; + + //clamp easing equation results as "back" will fail since overshoots aren't handled in the Catmull-Rom interpolation: + if(isLocal){ + thisTransform.localPosition=path.Interp(Mathf.Clamp(t,0,1)); + }else{ + thisTransform.position=path.Interp(Mathf.Clamp(t,0,1)); + } + + //handle orient to path request: + if(tweenArguments.Contains("orienttopath") && (bool)tweenArguments["orienttopath"]){ + + //plot a point slightly ahead in the interpolation by pushing the percentage forward using the default lookahead value: + float tLook; + if(tweenArguments.Contains("lookahead")){ + lookAheadAmount = (float)tweenArguments["lookahead"]; + }else{ + lookAheadAmount = Defaults.lookAhead; + } + //tLook = ease(0,1,percentage+lookAheadAmount); + tLook = ease(0,1, Mathf.Min(1f, percentage+lookAheadAmount)); + + //locate new leading point with a clamp as stated above: + //Vector3 lookDistance = path.Interp(Mathf.Clamp(tLook,0,1)) - transform.position; + tweenArguments["looktarget"] = path.Interp(Mathf.Clamp(tLook,0,1)); + } + + //need physics? + postUpdate=thisTransform.position; + if(physics){ + //thisTransform.position=preUpdate; + GetComponent().MovePosition(postUpdate); + } + } + + void ApplyMoveToTargets(){ + //record current: + preUpdate=thisTransform.position; + + + //calculate: + vector3s[2].x = ease(vector3s[0].x,vector3s[1].x,percentage); + vector3s[2].y = ease(vector3s[0].y,vector3s[1].y,percentage); + vector3s[2].z = ease(vector3s[0].z,vector3s[1].z,percentage); + + //apply: + if (isLocal) { + thisTransform.localPosition=vector3s[2]; + }else{ + thisTransform.position=vector3s[2]; + } + + //dial in: + if(percentage==1){ + if (isLocal) { + thisTransform.localPosition=vector3s[1]; + }else{ + thisTransform.position=vector3s[1]; + } + } + + //need physics? + postUpdate=thisTransform.position; + if(physics){ + //thisTransform.position=preUpdate; + GetComponent().MovePosition(postUpdate); + } + } + + void ApplyMoveByTargets(){ + preUpdate = thisTransform.position; + + //reset rotation to prevent look interferences as object rotates and attempts to move with translate and record current rotation + Vector3 currentRotation = new Vector3(); + + if(tweenArguments.Contains("looktarget")){ + currentRotation = thisTransform.eulerAngles; + thisTransform.eulerAngles = vector3s[4]; + } + + //calculate: + vector3s[2].x = ease(vector3s[0].x,vector3s[1].x,percentage); + vector3s[2].y = ease(vector3s[0].y,vector3s[1].y,percentage); + vector3s[2].z = ease(vector3s[0].z,vector3s[1].z,percentage); + + //apply: + thisTransform.Translate(vector3s[2]-vector3s[3],space); + + //record: + vector3s[3]=vector3s[2]; + + //reset rotation: + if(tweenArguments.Contains("looktarget")){ + thisTransform.eulerAngles = currentRotation; + } + + /* + //dial in: + if(percentage==1){ + transform.position=vector3s[5]; + } + */ + + //need physics? + postUpdate=thisTransform.position; + if(physics){ + //thisTransform.position=preUpdate; + GetComponent().MovePosition(postUpdate); + } + } + + void ApplyScaleToTargets(){ + //calculate: + vector3s[2].x = ease(vector3s[0].x,vector3s[1].x,percentage); + vector3s[2].y = ease(vector3s[0].y,vector3s[1].y,percentage); + vector3s[2].z = ease(vector3s[0].z,vector3s[1].z,percentage); + + //apply: + thisTransform.localScale=vector3s[2]; + + //dial in: + if(percentage==1){ + thisTransform.localScale=vector3s[1]; + } + } + + void ApplyLookToTargets(){ + //calculate: + vector3s[2].x = ease(vector3s[0].x,vector3s[1].x,percentage); + vector3s[2].y = ease(vector3s[0].y,vector3s[1].y,percentage); + vector3s[2].z = ease(vector3s[0].z,vector3s[1].z,percentage); + + //apply: + if (isLocal) { + thisTransform.localRotation = Quaternion.Euler(vector3s[2]); + }else{ + thisTransform.rotation = Quaternion.Euler(vector3s[2]); + }; + } + + void ApplyRotateToTargets(){ + preUpdate=thisTransform.eulerAngles; + + //calculate: + vector3s[2].x = ease(vector3s[0].x,vector3s[1].x,percentage); + vector3s[2].y = ease(vector3s[0].y,vector3s[1].y,percentage); + vector3s[2].z = ease(vector3s[0].z,vector3s[1].z,percentage); + + //apply: + if (isLocal) { + thisTransform.localRotation = Quaternion.Euler(vector3s[2]); + }else{ + thisTransform.rotation = Quaternion.Euler(vector3s[2]); + }; + + //dial in: + if(percentage==1){ + if (isLocal) { + thisTransform.localRotation = Quaternion.Euler(vector3s[1]); + }else{ + thisTransform.rotation = Quaternion.Euler(vector3s[1]); + }; + } + + //need physics? + postUpdate=thisTransform.eulerAngles; + if(physics){ + //thisTransform.eulerAngles=preUpdate; + GetComponent().MoveRotation(Quaternion.Euler(postUpdate)); + } + } + + void ApplyRotateAddTargets(){ + preUpdate = thisTransform.eulerAngles; + + //calculate: + vector3s[2].x = ease(vector3s[0].x,vector3s[1].x,percentage); + vector3s[2].y = ease(vector3s[0].y,vector3s[1].y,percentage); + vector3s[2].z = ease(vector3s[0].z,vector3s[1].z,percentage); + + //apply: + thisTransform.Rotate(vector3s[2]-vector3s[3],space); + + //record: + vector3s[3]=vector3s[2]; + + //need physics? + postUpdate=thisTransform.eulerAngles; + if(physics){ + //thisTransform.eulerAngles=preUpdate; + GetComponent().MoveRotation(Quaternion.Euler(postUpdate)); + } + } + + void ApplyShakePositionTargets(){ + //preUpdate = transform.position; + if (isLocal) { + preUpdate = thisTransform.localPosition; + }else{ + preUpdate = thisTransform.position; + } + + //reset rotation to prevent look interferences as object rotates and attempts to move with translate and record current rotation + Vector3 currentRotation = new Vector3(); + + if(tweenArguments.Contains("looktarget")){ + currentRotation = thisTransform.eulerAngles; + thisTransform.eulerAngles = vector3s[3]; + } + + //impact: + if (percentage==0) { + thisTransform.Translate(vector3s[1],space); + } + + //transform.position=vector3s[0]; + //reset: + if (isLocal) { + thisTransform.localPosition=vector3s[0]; + }else{ + thisTransform.position=vector3s[0]; + } + + //generate: + float diminishingControl = 1-percentage; + vector3s[2].x= UnityEngine.Random.Range(-vector3s[1].x*diminishingControl, vector3s[1].x*diminishingControl); + vector3s[2].y= UnityEngine.Random.Range(-vector3s[1].y*diminishingControl, vector3s[1].y*diminishingControl); + vector3s[2].z= UnityEngine.Random.Range(-vector3s[1].z*diminishingControl, vector3s[1].z*diminishingControl); + + //apply: + //transform.Translate(vector3s[2],space); + if (isLocal) { + thisTransform.localPosition+=vector3s[2]; + }else{ + thisTransform.position+=vector3s[2]; + } + + //reset rotation: + if(tweenArguments.Contains("looktarget")){ + thisTransform.eulerAngles = currentRotation; + } + + //need physics? + postUpdate=thisTransform.position; + if(physics){ + //thisTransform.position=preUpdate; + GetComponent().MovePosition(postUpdate); + } + } + + void ApplyShakeScaleTargets(){ + //impact: + if (percentage==0) { + thisTransform.localScale=vector3s[1]; + } + + //reset: + thisTransform.localScale=vector3s[0]; + + //generate: + float diminishingControl = 1-percentage; + vector3s[2].x= UnityEngine.Random.Range(-vector3s[1].x*diminishingControl, vector3s[1].x*diminishingControl); + vector3s[2].y= UnityEngine.Random.Range(-vector3s[1].y*diminishingControl, vector3s[1].y*diminishingControl); + vector3s[2].z= UnityEngine.Random.Range(-vector3s[1].z*diminishingControl, vector3s[1].z*diminishingControl); + + //apply: + thisTransform.localScale+=vector3s[2]; + } + + void ApplyShakeRotationTargets(){ + preUpdate = thisTransform.eulerAngles; + + //impact: + if (percentage==0) { + thisTransform.Rotate(vector3s[1],space); + } + + //reset: + thisTransform.eulerAngles=vector3s[0]; + + //generate: + float diminishingControl = 1-percentage; + vector3s[2].x= UnityEngine.Random.Range(-vector3s[1].x*diminishingControl, vector3s[1].x*diminishingControl); + vector3s[2].y= UnityEngine.Random.Range(-vector3s[1].y*diminishingControl, vector3s[1].y*diminishingControl); + vector3s[2].z= UnityEngine.Random.Range(-vector3s[1].z*diminishingControl, vector3s[1].z*diminishingControl); + + //apply: + thisTransform.Rotate(vector3s[2],space); + + //need physics? + postUpdate=thisTransform.eulerAngles; + if(physics){ + //thisTransform.eulerAngles=preUpdate; + GetComponent().MoveRotation(Quaternion.Euler(postUpdate)); + } + } + + void ApplyPunchPositionTargets(){ + preUpdate = thisTransform.position; + + //reset rotation to prevent look interferences as object rotates and attempts to move with translate and record current rotation + Vector3 currentRotation = new Vector3(); + + if(tweenArguments.Contains("looktarget")){ + currentRotation = thisTransform.eulerAngles; + thisTransform.eulerAngles = vector3s[4]; + } + + //calculate: + if(vector3s[1].x>0){ + vector3s[2].x = punch(vector3s[1].x,percentage); + }else if(vector3s[1].x<0){ + vector3s[2].x=-punch(Mathf.Abs(vector3s[1].x),percentage); + } + if(vector3s[1].y>0){ + vector3s[2].y=punch(vector3s[1].y,percentage); + }else if(vector3s[1].y<0){ + vector3s[2].y=-punch(Mathf.Abs(vector3s[1].y),percentage); + } + if(vector3s[1].z>0){ + vector3s[2].z=punch(vector3s[1].z,percentage); + }else if(vector3s[1].z<0){ + vector3s[2].z=-punch(Mathf.Abs(vector3s[1].z),percentage); + } + + //apply: + thisTransform.Translate(vector3s[2]-vector3s[3],space); + + //record: + vector3s[3]=vector3s[2]; + + //reset rotation: + if(tweenArguments.Contains("looktarget")){ + thisTransform.eulerAngles = currentRotation; + } + + //dial in: + /* + if(percentage==1){ + transform.position=vector3s[0]; + } + */ + + //need physics? + postUpdate=thisTransform.position; + if(physics){ + //thisTransform.position=preUpdate; + GetComponent().MovePosition(postUpdate); + } + } + + void ApplyPunchRotationTargets(){ + preUpdate = thisTransform.eulerAngles; + + //calculate: + if(vector3s[1].x>0){ + vector3s[2].x = punch(vector3s[1].x,percentage); + }else if(vector3s[1].x<0){ + vector3s[2].x=-punch(Mathf.Abs(vector3s[1].x),percentage); + } + if(vector3s[1].y>0){ + vector3s[2].y=punch(vector3s[1].y,percentage); + }else if(vector3s[1].y<0){ + vector3s[2].y=-punch(Mathf.Abs(vector3s[1].y),percentage); + } + if(vector3s[1].z>0){ + vector3s[2].z=punch(vector3s[1].z,percentage); + }else if(vector3s[1].z<0){ + vector3s[2].z=-punch(Mathf.Abs(vector3s[1].z),percentage); + } + + //apply: + thisTransform.Rotate(vector3s[2]-vector3s[3],space); + + //record: + vector3s[3]=vector3s[2]; + + //dial in: + /* + if(percentage==1){ + transform.eulerAngles=vector3s[0]; + } + */ + + //need physics? + postUpdate=thisTransform.eulerAngles; + if(physics){ + //thisTransform.eulerAngles=preUpdate; + GetComponent().MoveRotation(Quaternion.Euler(postUpdate)); + } + } + + void ApplyPunchScaleTargets(){ + //calculate: + if(vector3s[1].x>0){ + vector3s[2].x = punch(vector3s[1].x,percentage); + }else if(vector3s[1].x<0){ + vector3s[2].x=-punch(Mathf.Abs(vector3s[1].x),percentage); + } + if(vector3s[1].y>0){ + vector3s[2].y=punch(vector3s[1].y,percentage); + }else if(vector3s[1].y<0){ + vector3s[2].y=-punch(Mathf.Abs(vector3s[1].y),percentage); + } + if(vector3s[1].z>0){ + vector3s[2].z=punch(vector3s[1].z,percentage); + }else if(vector3s[1].z<0){ + vector3s[2].z=-punch(Mathf.Abs(vector3s[1].z),percentage); + } + + //apply: + thisTransform.localScale=vector3s[0]+vector3s[2]; + + //dial in: + /* + if(percentage==1){ + transform.localScale=vector3s[0]; + } + */ + } + + #endregion + + #region #5 Tween Steps + + IEnumerator TweenDelay(){ + delayStarted = Time.time; + yield return new WaitForSeconds (delay); + if(wasPaused){ + wasPaused=false; + TweenStart(); + } + } + + void TweenStart(){ + CallBack("onstart"); + + if(!loop){//only if this is not a loop + ConflictCheck(); + GenerateTargets(); + } + + //run stab: + if(type == "stab"){ + audioSource.PlayOneShot(audioSource.clip); + } + + //toggle isKinematic for iTweens that may interfere with physics: + if (type == "move" || type=="scale" || type=="rotate" || type=="punch" || type=="shake" || type=="curve" || type=="look") { + EnableKinematic(); + } + + isRunning = true; + } + + IEnumerator TweenRestart(){ + if(delay > 0){ + delayStarted = Time.time; + yield return new WaitForSeconds (delay); + } + loop=true; + TweenStart(); + } + + void TweenUpdate(){ + apply(); + CallBack("onupdate"); + UpdatePercentage(); + } + + void TweenComplete(){ + isRunning=false; + + //dial in percentage to 1 or 0 for final run: + if(percentage>.5f){ + percentage=1f; + }else{ + percentage=0; + } + + //apply dial in and final run: + apply(); + if(type == "value"){ + CallBack("onupdate"); //CallBack run for ValueTo since it only calculates and applies in the update callback + } + + //loop or dispose? + if(loopType==LoopType.none){ + Dispose(); + }else{ + TweenLoop(); + } + + CallBack("oncomplete"); + } + + void TweenLoop(){ + DisableKinematic(); //give physics control again + switch(loopType){ + case LoopType.loop: + //rewind: + percentage=0; + runningTime=0; + apply(); + + //replay: + StartCoroutine("TweenRestart"); + break; + case LoopType.pingPong: + reverse = !reverse; + runningTime=0; + + //replay: + StartCoroutine("TweenRestart"); + break; + } + } + + #endregion + + #region #6 Update Callable + + /// + /// Returns a Rect that is eased between a current and target value by the supplied speed. + /// + /// + /// A + /// + /// A the starting or initial value + /// + /// + /// A the target value that the current value will be eased to. + /// + /// + /// A to be used as rate of speed (larger number equals faster animation) + /// + public static Rect RectUpdate(Rect currentValue, Rect targetValue, float speed){ + Rect diff = new Rect(FloatUpdate(currentValue.x, targetValue.x, speed), FloatUpdate(currentValue.y, targetValue.y, speed), FloatUpdate(currentValue.width, targetValue.width, speed), FloatUpdate(currentValue.height, targetValue.height, speed)); + return (diff); + } + + /// + /// Returns a Vector3 that is eased between a current and target value by the supplied speed. + /// + /// + /// A + /// + /// + /// A the starting or initial value + /// + /// + /// A the target value that the current value will be eased to. + /// + /// + /// A to be used as rate of speed (larger number equals faster animation) + /// + public static Vector3 Vector3Update(Vector3 currentValue, Vector3 targetValue, float speed){ + Vector3 diff = targetValue - currentValue; + currentValue += (diff * speed) * Time.deltaTime; + return (currentValue); + } + + /// + /// Returns a Vector2 that is eased between a current and target value by the supplied speed. + /// + /// + /// A + /// + /// + /// A the starting or initial value + /// + /// + /// A the target value that the current value will be eased to. + /// + /// + /// A to be used as rate of speed (larger number equals faster animation) + /// + public static Vector2 Vector2Update(Vector2 currentValue, Vector2 targetValue, float speed){ + Vector2 diff = targetValue - currentValue; + currentValue += (diff * speed) * Time.deltaTime; + return (currentValue); + } + + /// + /// Returns a float that is eased between a current and target value by the supplied speed. + /// + /// + /// A + /// + /// + /// A the starting or initial value + /// + /// + /// A the target value that the current value will be eased to. + /// + /// + /// A to be used as rate of speed (larger number equals faster animation) + /// + public static float FloatUpdate(float currentValue, float targetValue, float speed){ + float diff = targetValue - currentValue; + currentValue += (diff * speed) * Time.deltaTime; + return (currentValue); + } + + /// + /// Similar to FadeTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with FULL customization options. Does not utilize an EaseType. + /// + /// + /// A or for the final alpha value of the animation. + /// + /// + /// A for whether or not to include children of this GameObject. True by default. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + public static void FadeUpdate(GameObject target, Hashtable args){ + args["a"]=args["alpha"]; + ColorUpdate(target,args); + } + + /// + /// Similar to FadeTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with MINIMUM customization options. Does not utilize an EaseType. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the final alpha value of the animation. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void FadeUpdate(GameObject target, float alpha, float time){ + FadeUpdate(target,Hash("alpha",alpha,"time",time)); + } + + /// + /// Similar to ColorTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with FULL customization options. Does not utilize an EaseType. + /// + /// + /// A to change the GameObject's color to. + /// + /// + /// A or for the individual setting of the color red. + /// + /// + /// A or for the individual setting of the color green. + /// + /// + /// A or for the individual setting of the color green. + /// + /// + /// A or for the individual setting of the alpha. + /// + /// + /// A or for the individual setting of the alpha. + /// + /// + /// A for whether or not to include children of this GameObject. True by default. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + public static void ColorUpdate(GameObject target, Hashtable args){ + CleanArgs(args); + + float time; + Color[] colors = new Color[4]; + + //handle children: + if(!args.Contains("includechildren") || (bool)args["includechildren"]){ + foreach(Transform child in target.transform){ + ColorUpdate(child.gameObject,args); + } + } + + //set smooth time: + if(args.Contains("time")){ + time=(float)args["time"]; + time*=Defaults.updateTimePercentage; + }else{ + time=Defaults.updateTime; + } + + //init values: + if(target.GetComponent()){ + colors[0] = colors[1] = target.GetComponent().material.color; + }else if(target.GetComponent()){ + colors[0] = colors[1] = target.GetComponent().color; + } + + //to values: + if (args.Contains("color")) { + colors[1]=(Color)args["color"]; + }else{ + if (args.Contains("r")) { + colors[1].r=(float)args["r"]; + } + if (args.Contains("g")) { + colors[1].g=(float)args["g"]; + } + if (args.Contains("b")) { + colors[1].b=(float)args["b"]; + } + if (args.Contains("a")) { + colors[1].a=(float)args["a"]; + } + } + + //calculate: + colors[3].r=Mathf.SmoothDamp(colors[0].r,colors[1].r,ref colors[2].r,time); + colors[3].g=Mathf.SmoothDamp(colors[0].g,colors[1].g,ref colors[2].g,time); + colors[3].b=Mathf.SmoothDamp(colors[0].b,colors[1].b,ref colors[2].b,time); + colors[3].a=Mathf.SmoothDamp(colors[0].a,colors[1].a,ref colors[2].a,time); + + //apply: + if(target.GetComponent()){ + target.GetComponent().material.color=colors[3]; + }else if(target.GetComponent()){ + target.GetComponent().color=colors[3]; + } + } + + /// + /// Similar to ColorTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with MINIMUM customization options. Does not utilize an EaseType. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A to change the GameObject's color to. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void ColorUpdate(GameObject target, Color color, float time){ + ColorUpdate(target,Hash("color",color,"time",time)); + } + + /// + /// Similar to AudioTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with FULL customization options. Does not utilize an EaseType. + /// + /// + /// A for which AudioSource to use. + /// + /// + /// A or for the target level of volume. + /// + /// + /// A or for the target pitch. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + public static void AudioUpdate(GameObject target, Hashtable args){ + CleanArgs(args); + + AudioSource audioSource; + float time; + Vector2[] vector2s = new Vector2[4]; + + //set smooth time: + if(args.Contains("time")){ + time=(float)args["time"]; + time*=Defaults.updateTimePercentage; + }else{ + time=Defaults.updateTime; + } + + //set audioSource: + if(args.Contains("audiosource")){ + audioSource=(AudioSource)args["audiosource"]; + }else{ + if(target.GetComponent()){ + audioSource=target.GetComponent(); + }else{ + //throw error if no AudioSource is available: + Debug.LogError("iTween Error: AudioUpdate requires an AudioSource."); + return; + } + } + + //from values: + vector2s[0] = vector2s[1] = new Vector2(audioSource.volume,audioSource.pitch); + + //set to: + if(args.Contains("volume")){ + vector2s[1].x=(float)args["volume"]; + } + if(args.Contains("pitch")){ + vector2s[1].y=(float)args["pitch"]; + } + + //calculate: + vector2s[3].x=Mathf.SmoothDampAngle(vector2s[0].x,vector2s[1].x,ref vector2s[2].x,time); + vector2s[3].y=Mathf.SmoothDampAngle(vector2s[0].y,vector2s[1].y,ref vector2s[2].y,time); + + //apply: + audioSource.volume=vector2s[3].x; + audioSource.pitch=vector2s[3].y; + } + + /// + /// Similar to AudioTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with MINIMUM customization options. Does not utilize an EaseType. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the target level of volume. + /// + /// + /// A for the target pitch. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void AudioUpdate(GameObject target, float volume, float pitch, float time){ + AudioUpdate(target,Hash("volume",volume,"pitch",pitch,"time",time)); + } + + /// + /// Similar to RotateTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with FULL customization options. Does not utilize an EaseType. + /// + /// + /// A or for the target Euler angles in degrees to rotate to. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A for whether to animate in world space or relative to the parent. False by default. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + public static void RotateUpdate(GameObject target, Hashtable args){ + CleanArgs(args); + + bool isLocal; + float time; + Vector3[] vector3s = new Vector3[4]; + Vector3 preUpdate = target.transform.eulerAngles; + + //set smooth time: + if(args.Contains("time")){ + time=(float)args["time"]; + time*=Defaults.updateTimePercentage; + }else{ + time=Defaults.updateTime; + } + + //set isLocal: + if(args.Contains("islocal")){ + isLocal = (bool)args["islocal"]; + }else{ + isLocal = Defaults.isLocal; + } + + //from values: + if(isLocal){ + vector3s[0] = target.transform.localEulerAngles; + }else{ + vector3s[0] = target.transform.eulerAngles; + } + + //set to: + if(args.Contains("rotation")){ + if (args["rotation"].GetType() == typeof(Transform)){ + Transform trans = (Transform)args["rotation"]; + vector3s[1]=trans.eulerAngles; + }else if(args["rotation"].GetType() == typeof(Vector3)){ + vector3s[1]=(Vector3)args["rotation"]; + } + } + + //calculate: + vector3s[3].x=Mathf.SmoothDampAngle(vector3s[0].x,vector3s[1].x,ref vector3s[2].x,time); + vector3s[3].y=Mathf.SmoothDampAngle(vector3s[0].y,vector3s[1].y,ref vector3s[2].y,time); + vector3s[3].z=Mathf.SmoothDampAngle(vector3s[0].z,vector3s[1].z,ref vector3s[2].z,time); + + //apply: + if(isLocal){ + target.transform.localEulerAngles=vector3s[3]; + }else{ + target.transform.eulerAngles=vector3s[3]; + } + + //need physics? + if(target.GetComponent() != null){ + Vector3 postUpdate=target.transform.eulerAngles; + //target.transform.eulerAngles=preUpdate; + target.GetComponent().MoveRotation(Quaternion.Euler(postUpdate)); + } + } + + /// + /// Similar to RotateTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with MINIMUM customization options. Does not utilize an EaseType. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the target Euler angles in degrees to rotate to. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void RotateUpdate(GameObject target, Vector3 rotation, float time){ + RotateUpdate(target,Hash("rotation",rotation,"time",time)); + } + + /// + /// Similar to ScaleTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with FULL customization options. Does not utilize an EaseType. + /// + /// + /// A or for the final scale. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + public static void ScaleUpdate(GameObject target, Hashtable args){ + CleanArgs(args); + + float time; + Vector3[] vector3s = new Vector3[4]; + + //set smooth time: + if(args.Contains("time")){ + time=(float)args["time"]; + time*=Defaults.updateTimePercentage; + }else{ + time=Defaults.updateTime; + } + + //init values: + vector3s[0] = vector3s[1] = target.transform.localScale; + + //to values: + if (args.Contains("scale")) { + if (args["scale"].GetType() == typeof(Transform)){ + Transform trans = (Transform)args["scale"]; + vector3s[1]=trans.localScale; + }else if(args["scale"].GetType() == typeof(Vector3)){ + vector3s[1]=(Vector3)args["scale"]; + } + }else{ + if (args.Contains("x")) { + vector3s[1].x=(float)args["x"]; + } + if (args.Contains("y")) { + vector3s[1].y=(float)args["y"]; + } + if (args.Contains("z")) { + vector3s[1].z=(float)args["z"]; + } + } + + //calculate: + vector3s[3].x=Mathf.SmoothDamp(vector3s[0].x,vector3s[1].x,ref vector3s[2].x,time); + vector3s[3].y=Mathf.SmoothDamp(vector3s[0].y,vector3s[1].y,ref vector3s[2].y,time); + vector3s[3].z=Mathf.SmoothDamp(vector3s[0].z,vector3s[1].z,ref vector3s[2].z,time); + + //apply: + target.transform.localScale=vector3s[3]; + } + + /// + /// Similar to ScaleTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with MINIMUM customization options. Does not utilize an EaseType. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for the final scale. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void ScaleUpdate(GameObject target, Vector3 scale, float time){ + ScaleUpdate(target,Hash("scale",scale,"time",time)); + } + + /// + /// Similar to MoveTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with FULL customization options. Does not utilize an EaseType. + /// + /// + /// A or for a point in space the GameObject will animate to. + /// + /// + /// A or for the individual setting of the x axis. + /// + /// + /// A or for the individual setting of the y axis. + /// + /// + /// A or for the individual setting of the z axis. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + /// + /// A for whether to animate in world space or relative to the parent. False by default. + /// + /// + /// A for whether or not the GameObject will orient to its direction of travel. False by default. + /// + /// + /// A or A for a target the GameObject will look at. + /// + /// + /// A or for the time in seconds the object will take to look at either the "looktarget" or "orienttopath". + /// + /// + /// A . Restricts rotation to the supplied axis only. + /// + public static void MoveUpdate(GameObject target, Hashtable args){ + CleanArgs(args); + + float time; + Vector3[] vector3s = new Vector3[4]; + bool isLocal; + Vector3 preUpdate = target.transform.position; + + //set smooth time: + if(args.Contains("time")){ + time=(float)args["time"]; + time*=Defaults.updateTimePercentage; + }else{ + time=Defaults.updateTime; + } + + //set isLocal: + if(args.Contains("islocal")){ + isLocal = (bool)args["islocal"]; + }else{ + isLocal = Defaults.isLocal; + } + + //init values: + if(isLocal){ + vector3s[0] = vector3s[1] = target.transform.localPosition; + }else{ + vector3s[0] = vector3s[1] = target.transform.position; + } + + //to values: + if (args.Contains("position")) { + if (args["position"].GetType() == typeof(Transform)){ + Transform trans = (Transform)args["position"]; + vector3s[1]=trans.position; + }else if(args["position"].GetType() == typeof(Vector3)){ + vector3s[1]=(Vector3)args["position"]; + } + }else{ + if (args.Contains("x")) { + vector3s[1].x=(float)args["x"]; + } + if (args.Contains("y")) { + vector3s[1].y=(float)args["y"]; + } + if (args.Contains("z")) { + vector3s[1].z=(float)args["z"]; + } + } + + //calculate: + vector3s[3].x=Mathf.SmoothDamp(vector3s[0].x,vector3s[1].x,ref vector3s[2].x,time); + vector3s[3].y=Mathf.SmoothDamp(vector3s[0].y,vector3s[1].y,ref vector3s[2].y,time); + vector3s[3].z=Mathf.SmoothDamp(vector3s[0].z,vector3s[1].z,ref vector3s[2].z,time); + + //handle orient to path: + if(args.Contains("orienttopath") && (bool)args["orienttopath"]){ + args["looktarget"] = vector3s[3]; + } + + //look applications: + if(args.Contains("looktarget")){ + iTween.LookUpdate(target,args); + } + + //apply: + if(isLocal){ + target.transform.localPosition = vector3s[3]; + }else{ + target.transform.position=vector3s[3]; + } + + //need physics? + if(target.GetComponent() != null){ + Vector3 postUpdate=target.transform.position; + //target.transform.position=preUpdate; + target.GetComponent().MovePosition(postUpdate); + } + } + + /// + /// Similar to MoveTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with MINIMUM customization options. Does not utilize an EaseType. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for a point in space the GameObject will animate to. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void MoveUpdate(GameObject target, Vector3 position, float time){ + MoveUpdate(target,Hash("position",position,"time",time)); + } + + /// + /// Similar to LookTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with FULL customization options. Does not utilize an EaseType. + /// + /// + /// A or for a target the GameObject will look at. + /// + /// + /// A . Restricts rotation to the supplied axis only. + /// + /// + /// A or for the time in seconds the animation will take to complete. + /// + public static void LookUpdate(GameObject target, Hashtable args){ + CleanArgs(args); + + float time; + Vector3[] vector3s = new Vector3[5]; + + //set smooth time: + if(args.Contains("looktime")){ + time=(float)args["looktime"]; + time*=Defaults.updateTimePercentage; + }else if(args.Contains("time")){ + time=(float)args["time"]*.15f; + time*=Defaults.updateTimePercentage; + }else{ + time=Defaults.updateTime; + } + + //from values: + vector3s[0] = target.transform.eulerAngles; + + //set look: + if(args.Contains("looktarget")){ + if (args["looktarget"].GetType() == typeof(Transform)) { + //target.transform.LookAt((Transform)args["looktarget"]); + target.transform.LookAt((Transform)args["looktarget"], (Vector3?)args["up"] ?? Defaults.up); + }else if(args["looktarget"].GetType() == typeof(Vector3)){ + //target.transform.LookAt((Vector3)args["looktarget"]); + target.transform.LookAt((Vector3)args["looktarget"], (Vector3?)args["up"] ?? Defaults.up); + } + }else{ + Debug.LogError("iTween Error: LookUpdate needs a 'looktarget' property!"); + return; + } + + //to values and reset look: + vector3s[1]=target.transform.eulerAngles; + target.transform.eulerAngles=vector3s[0]; + + //calculate: + vector3s[3].x=Mathf.SmoothDampAngle(vector3s[0].x,vector3s[1].x,ref vector3s[2].x,time); + vector3s[3].y=Mathf.SmoothDampAngle(vector3s[0].y,vector3s[1].y,ref vector3s[2].y,time); + vector3s[3].z=Mathf.SmoothDampAngle(vector3s[0].z,vector3s[1].z,ref vector3s[2].z,time); + + //apply: + target.transform.eulerAngles=vector3s[3]; + + //axis restriction: + if(args.Contains("axis")){ + vector3s[4]=target.transform.eulerAngles; + switch((string)args["axis"]){ + case "x": + vector3s[4].y=vector3s[0].y; + vector3s[4].z=vector3s[0].z; + break; + case "y": + vector3s[4].x=vector3s[0].x; + vector3s[4].z=vector3s[0].z; + break; + case "z": + vector3s[4].x=vector3s[0].x; + vector3s[4].y=vector3s[0].y; + break; + } + + //apply axis restriction: + target.transform.eulerAngles=vector3s[4]; + } + } + + /// + /// Similar to LookTo but incredibly less expensive for usage inside the Update function or similar looping situations involving a "live" set of changing values with FULL customization options. Does not utilize an EaseType. + /// + /// + /// A to be the target of the animation. + /// + /// + /// A for a target the GameObject will look at. + /// + /// + /// A for the time in seconds the animation will take to complete. + /// + public static void LookUpdate(GameObject target, Vector3 looktarget, float time){ + LookUpdate(target,Hash("looktarget",looktarget,"time",time)); + } + + #endregion + + #region #7 External Utilities + + /// + /// Returns the length of a curved path drawn through the provided array of Transforms. + /// + /// + /// A + /// + /// + /// A + /// + public static float PathLength(Transform[] path){ + Vector3[] suppliedPath = new Vector3[path.Length]; + float pathLength = 0; + + //create and store path points: + for (int i = 0; i < path.Length; i++) { + suppliedPath[i]=path[i].position; + } + + Vector3[] vector3s = PathControlPointGenerator(suppliedPath); + + //Line Draw: + Vector3 prevPt = Interp(vector3s,0); + int SmoothAmount = path.Length*20; + for (int i = 1; i <= SmoothAmount; i++) { + float pm = (float) i / SmoothAmount; + Vector3 currPt = Interp(vector3s,pm); + pathLength += Vector3.Distance(prevPt,currPt); + prevPt = currPt; + } + + return pathLength; + } + + /// + /// Returns the length of a curved path drawn through the provided array of Vector3s. + /// + /// + /// The length. + /// + /// + /// A + /// + public static float PathLength(Vector3[] path){ + float pathLength = 0; + + Vector3[] vector3s = PathControlPointGenerator(path); + + //Line Draw: + Vector3 prevPt = Interp(vector3s,0); + int SmoothAmount = path.Length*20; + for (int i = 1; i <= SmoothAmount; i++) { + float pm = (float) i / SmoothAmount; + Vector3 currPt = Interp(vector3s,pm); + pathLength += Vector3.Distance(prevPt,currPt); + prevPt = currPt; + } + + return pathLength; + } + + + /// + /// Puts a GameObject on a path at the provided percentage + /// + /// + /// A + /// + /// + /// A + /// + /// + /// A + /// + public static void PutOnPath(GameObject target, Vector3[] path, float percent){ + target.transform.position=Interp(PathControlPointGenerator(path),percent); + } + + /// + /// Puts a GameObject on a path at the provided percentage + /// + /// + /// A + /// + /// + /// A + /// + /// + /// A + /// + public static void PutOnPath(Transform target, Vector3[] path, float percent){ + target.position=Interp(PathControlPointGenerator(path),percent); + } + + /// + /// Puts a GameObject on a path at the provided percentage + /// + /// + /// A + /// + /// + /// A + /// + /// + /// A + /// + public static void PutOnPath(GameObject target, Transform[] path, float percent){ + //create and store path points: + Vector3[] suppliedPath = new Vector3[path.Length]; + for (int i = 0; i < path.Length; i++) { + suppliedPath[i]=path[i].position; + } + target.transform.position=Interp(PathControlPointGenerator(suppliedPath),percent); + } + + /// + /// Puts a GameObject on a path at the provided percentage + /// + /// + /// A + /// + /// + /// A + /// + /// + /// A + /// + public static void PutOnPath(Transform target, Transform[] path, float percent){ + //create and store path points: + Vector3[] suppliedPath = new Vector3[path.Length]; + for (int i = 0; i < path.Length; i++) { + suppliedPath[i]=path[i].position; + } + target.position=Interp(PathControlPointGenerator(suppliedPath),percent); + } + + /// + /// Returns a Vector3 position on a path at the provided percentage + /// + /// + /// A + /// + /// + /// A + /// + /// + /// A + /// + public static Vector3 PointOnPath(Transform[] path, float percent){ + //create and store path points: + Vector3[] suppliedPath = new Vector3[path.Length]; + for (int i = 0; i < path.Length; i++) { + suppliedPath[i]=path[i].position; + } + return(Interp(PathControlPointGenerator(suppliedPath),percent)); + } + + /// + /// When called from an OnDrawGizmos() function it will draw a line through the provided array of Vector3s. + /// + /// + /// A + /// + public static void DrawLine(Vector3[] line) { + if(line.Length>0){ + DrawLineHelper(line,Defaults.color,"gizmos"); + } + } + + /// + /// When called from an OnDrawGizmos() function it will draw a line through the provided array of Vector3s. + /// + /// + /// A + /// + /// + /// A + /// + public static void DrawLine(Vector3[] line, Color color) { + if(line.Length>0){ + DrawLineHelper(line,color,"gizmos"); + } + } + + /// + /// When called from an OnDrawGizmos() function it will draw a line through the provided array of Transforms. + /// + /// + /// A + /// + public static void DrawLine(Transform[] line) { + if(line.Length>0){ + //create and store line points: + Vector3[] suppliedLine = new Vector3[line.Length]; + for (int i = 0; i < line.Length; i++) { + suppliedLine[i]=line[i].position; + } + DrawLineHelper(suppliedLine,Defaults.color,"gizmos"); + } + } + + /// + /// When called from an OnDrawGizmos() function it will draw a line through the provided array of Transforms. + /// + /// + /// A + /// + /// + /// A + /// + public static void DrawLine(Transform[] line,Color color) { + if(line.Length>0){ + //create and store line points: + Vector3[] suppliedLine = new Vector3[line.Length]; + for (int i = 0; i < line.Length; i++) { + suppliedLine[i]=line[i].position; + } + + DrawLineHelper(suppliedLine, color,"gizmos"); + } + } + + /// + /// Draws a line through the provided array of Vector3s with Gizmos.DrawLine(). + /// + /// + /// A + /// + public static void DrawLineGizmos(Vector3[] line) { + if(line.Length>0){ + DrawLineHelper(line,Defaults.color,"gizmos"); + } + } + + /// + /// Draws a line through the provided array of Vector3s with Gizmos.DrawLine(). + /// + /// + /// A + /// + /// + /// A + /// + public static void DrawLineGizmos(Vector3[] line, Color color) { + if(line.Length>0){ + DrawLineHelper(line,color,"gizmos"); + } + } + + /// + /// Draws a line through the provided array of Transforms with Gizmos.DrawLine(). + /// + /// + /// A + /// + public static void DrawLineGizmos(Transform[] line) { + if(line.Length>0){ + //create and store line points: + Vector3[] suppliedLine = new Vector3[line.Length]; + for (int i = 0; i < line.Length; i++) { + suppliedLine[i]=line[i].position; + } + DrawLineHelper(suppliedLine,Defaults.color,"gizmos"); + } + } + + /// + /// Draws a line through the provided array of Transforms with Gizmos.DrawLine(). + /// + /// + /// A + /// + /// + /// A + /// + public static void DrawLineGizmos(Transform[] line,Color color) { + if(line.Length>0){ + //create and store line points: + Vector3[] suppliedLine = new Vector3[line.Length]; + for (int i = 0; i < line.Length; i++) { + suppliedLine[i]=line[i].position; + } + + DrawLineHelper(suppliedLine, color,"gizmos"); + } + } + + /// + /// Draws a line through the provided array of Vector3s with Handles.DrawLine(). + /// + /// + /// A + /// + public static void DrawLineHandles(Vector3[] line) { + if(line.Length>0){ + DrawLineHelper(line,Defaults.color,"handles"); + } + } + + /// + /// Draws a line through the provided array of Vector3s with Handles.DrawLine(). + /// + /// + /// A + /// + /// + /// A + /// + public static void DrawLineHandles(Vector3[] line, Color color) { + if(line.Length>0){ + DrawLineHelper(line,color,"handles"); + } + } + + /// + /// Draws a line through the provided array of Transforms with Handles.DrawLine(). + /// + /// + /// A + /// + public static void DrawLineHandles(Transform[] line) { + if(line.Length>0){ + //create and store line points: + Vector3[] suppliedLine = new Vector3[line.Length]; + for (int i = 0; i < line.Length; i++) { + suppliedLine[i]=line[i].position; + } + DrawLineHelper(suppliedLine,Defaults.color,"handles"); + } + } + + /// + /// Draws a line through the provided array of Transforms with Handles.DrawLine(). + /// + /// + /// A + /// + /// + /// A + /// + public static void DrawLineHandles(Transform[] line,Color color) { + if(line.Length>0){ + //create and store line points: + Vector3[] suppliedLine = new Vector3[line.Length]; + for (int i = 0; i < line.Length; i++) { + suppliedLine[i]=line[i].position; + } + + DrawLineHelper(suppliedLine, color,"handles"); + } + } + + /// + /// Returns a Vector3 position on a path at the provided percentage + /// + /// + /// A + /// + /// + /// A + /// + /// + /// A + /// + public static Vector3 PointOnPath(Vector3[] path, float percent){ + return(Interp(PathControlPointGenerator(path),percent)); + } + + /// + /// When called from an OnDrawGizmos() function it will draw a curved path through the provided array of Vector3s. + /// + /// + /// A + /// + public static void DrawPath(Vector3[] path) { + if(path.Length>0){ + DrawPathHelper(path,Defaults.color,"gizmos"); + } + } + + /// + /// When called from an OnDrawGizmos() function it will draw a curved path through the provided array of Vector3s. + /// + /// + /// A + /// + /// + /// A + /// + public static void DrawPath(Vector3[] path, Color color) { + if(path.Length>0){ + DrawPathHelper(path, color,"gizmos"); + } + } + + /// + /// When called from an OnDrawGizmos() function it will draw a curved path through the provided array of Transforms. + /// + /// + /// A + /// + public static void DrawPath(Transform[] path) { + if(path.Length>0){ + //create and store path points: + Vector3[] suppliedPath = new Vector3[path.Length]; + for (int i = 0; i < path.Length; i++) { + suppliedPath[i]=path[i].position; + } + + DrawPathHelper(suppliedPath,Defaults.color,"gizmos"); + } + } + + /// + /// When called from an OnDrawGizmos() function it will draw a curved path through the provided array of Transforms. + /// + /// + /// A + /// + /// + /// A + /// + public static void DrawPath(Transform[] path,Color color) { + if(path.Length>0){ + //create and store path points: + Vector3[] suppliedPath = new Vector3[path.Length]; + for (int i = 0; i < path.Length; i++) { + suppliedPath[i]=path[i].position; + } + + DrawPathHelper(suppliedPath, color,"gizmos"); + } + } + + /// + /// Draws a curved path through the provided array of Vector3s with Gizmos.DrawLine(). + /// + /// + /// A + /// + public static void DrawPathGizmos(Vector3[] path) { + if(path.Length>0){ + DrawPathHelper(path,Defaults.color,"gizmos"); + } + } + + /// + /// Draws a curved path through the provided array of Vector3s with Gizmos.DrawLine(). + /// + /// + /// A + /// + /// + /// A + /// + public static void DrawPathGizmos(Vector3[] path, Color color) { + if(path.Length>0){ + DrawPathHelper(path, color,"gizmos"); + } + } + + /// + /// Draws a curved path through the provided array of Transforms with Gizmos.DrawLine(). + /// + /// + /// A + /// + public static void DrawPathGizmos(Transform[] path) { + if(path.Length>0){ + //create and store path points: + Vector3[] suppliedPath = new Vector3[path.Length]; + for (int i = 0; i < path.Length; i++) { + suppliedPath[i]=path[i].position; + } + + DrawPathHelper(suppliedPath,Defaults.color,"gizmos"); + } + } + + /// + /// Draws a curved path through the provided array of Transforms with Gizmos.DrawLine(). + /// + /// + /// A + /// + /// + /// A + /// + public static void DrawPathGizmos(Transform[] path,Color color) { + if(path.Length>0){ + //create and store path points: + Vector3[] suppliedPath = new Vector3[path.Length]; + for (int i = 0; i < path.Length; i++) { + suppliedPath[i]=path[i].position; + } + + DrawPathHelper(suppliedPath, color,"gizmos"); + } + } + + /// + /// Draws a curved path through the provided array of Vector3s with Handles.DrawLine(). + /// + /// + /// A + /// + public static void DrawPathHandles(Vector3[] path) { + if(path.Length>0){ + DrawPathHelper(path,Defaults.color,"handles"); + } + } + + /// + /// Draws a curved path through the provided array of Vector3s with Handles.DrawLine(). + /// + /// + /// A + /// + /// + /// A + /// + public static void DrawPathHandles(Vector3[] path, Color color) { + if(path.Length>0){ + DrawPathHelper(path, color,"handles"); + } + } + + /// + /// Draws a curved path through the provided array of Transforms with Handles.DrawLine(). + /// + /// + /// A + /// + public static void DrawPathHandles(Transform[] path) { + if(path.Length>0){ + //create and store path points: + Vector3[] suppliedPath = new Vector3[path.Length]; + for (int i = 0; i < path.Length; i++) { + suppliedPath[i]=path[i].position; + } + + DrawPathHelper(suppliedPath,Defaults.color,"handles"); + } + } + + /// + /// Draws a curved path through the provided array of Transforms with Handles.DrawLine(). + /// + /// + /// A + /// + /// + /// A + /// + public static void DrawPathHandles(Transform[] path,Color color) { + if(path.Length>0){ + //create and store path points: + Vector3[] suppliedPath = new Vector3[path.Length]; + for (int i = 0; i < path.Length; i++) { + suppliedPath[i]=path[i].position; + } + + DrawPathHelper(suppliedPath, color,"handles"); + } + } + + //################################# + //# RESUME UTILITIES AND OVERLOADS # + //################################# + + /// + /// Resume all iTweens on a GameObject. + /// + public static void Resume(GameObject target){ + Component[] tweens = target.GetComponents(); + foreach (iTween item in tweens){ + item.enabled=true; + } + } + + /// + /// Resume all iTweens on a GameObject including its children. + /// + public static void Resume(GameObject target, bool includechildren){ + Resume(target); + if(includechildren){ + foreach(Transform child in target.transform){ + Resume(child.gameObject,true); + } + } + } + + /// + /// Resume all iTweens on a GameObject of a particular type. + /// + /// A name of the type of iTween you would like to resume. Can be written as part of a name such as "mov" for all "MoveTo" iTweens. + /// + public static void Resume(GameObject target, string type){ + Component[] tweens = target.GetComponents(); + foreach (iTween item in tweens){ + string targetType = item.type+item.method; + targetType=targetType.Substring(0,type.Length); + if(targetType.ToLower() == type.ToLower()){ + item.enabled=true; + } + } + } + + /// + /// Resume all iTweens on a GameObject of a particular type including its children. + /// + /// A name of the type of iTween you would like to resume. Can be written as part of a name such as "mov" for all "MoveTo" iTweens. + /// + public static void Resume(GameObject target, string type, bool includechildren){ + Component[] tweens = target.GetComponents(); + foreach (iTween item in tweens){ + string targetType = item.type+item.method; + targetType=targetType.Substring(0,type.Length); + if(targetType.ToLower() == type.ToLower()){ + item.enabled=true; + } + } + if(includechildren){ + foreach(Transform child in target.transform){ + Resume(child.gameObject,type,true); + } + } + } + + /// + /// Resume all iTweens in scene. + /// + public static void Resume(){ + for (int i = 0; i < tweens.Count; i++) { + Hashtable currentTween = tweens[i]; + GameObject target = (GameObject)currentTween["target"]; + Resume(target); + } + } + + /// + /// Resume all iTweens in scene of a particular type. + /// + /// + /// A name of the type of iTween you would like to resume. Can be written as part of a name such as "mov" for all "MoveTo" iTweens. + /// + public static void Resume(string type){ + ArrayList resumeArray = new ArrayList(); + + for (int i = 0; i < tweens.Count; i++) { + Hashtable currentTween = tweens[i]; + GameObject target = (GameObject)currentTween["target"]; + resumeArray.Insert(resumeArray.Count,target); + } + + for (int i = 0; i < resumeArray.Count; i++) { + Resume((GameObject)resumeArray[i],type); + } + } + + //################################# + //# PAUSE UTILITIES AND OVERLOADS # + //################################# + + /// + /// Pause all iTweens on a GameObject. + /// + public static void Pause(GameObject target){ + Component[] tweens = target.GetComponents(); + foreach (iTween item in tweens){ + if(item.delay>0){ + item.delay-=Time.time-item.delayStarted; + item.StopCoroutine("TweenDelay"); + } + item.isPaused=true; + item.enabled=false; + } + } + + /// + /// Pause all iTweens on a GameObject including its children. + /// + public static void Pause(GameObject target, bool includechildren){ + Pause(target); + if(includechildren){ + foreach(Transform child in target.transform){ + Pause(child.gameObject,true); + } + } + } + + /// + /// Pause all iTweens on a GameObject of a particular type. + /// + /// A name of the type of iTween you would like to pause. Can be written as part of a name such as "mov" for all "MoveTo" iTweens. + /// + public static void Pause(GameObject target, string type){ + Component[] tweens = target.GetComponents(); + foreach (iTween item in tweens){ + string targetType = item.type+item.method; + targetType=targetType.Substring(0,type.Length); + if(targetType.ToLower() == type.ToLower()){ + if(item.delay>0){ + item.delay-=Time.time-item.delayStarted; + item.StopCoroutine("TweenDelay"); + } + item.isPaused=true; + item.enabled=false; + } + } + } + + /// + /// Pause all iTweens on a GameObject of a particular type including its children. + /// + /// A name of the type of iTween you would like to pause. Can be written as part of a name such as "mov" for all "MoveTo" iTweens. + /// + public static void Pause(GameObject target, string type, bool includechildren){ + Component[] tweens = target.GetComponents(); + foreach (iTween item in tweens){ + string targetType = item.type+item.method; + targetType=targetType.Substring(0,type.Length); + if(targetType.ToLower() == type.ToLower()){ + if(item.delay>0){ + item.delay-=Time.time-item.delayStarted; + item.StopCoroutine("TweenDelay"); + } + item.isPaused=true; + item.enabled=false; + } + } + if(includechildren){ + foreach(Transform child in target.transform){ + Pause(child.gameObject,type,true); + } + } + } + + /// + /// Pause all iTweens in scene. + /// + public static void Pause(){ + for (int i = 0; i < tweens.Count; i++) { + Hashtable currentTween = tweens[i]; + GameObject target = (GameObject)currentTween["target"]; + Pause(target); + } + } + + /// + /// Pause all iTweens in scene of a particular type. + /// + /// + /// A name of the type of iTween you would like to pause. Can be written as part of a name such as "mov" for all "MoveTo" iTweens. + /// + public static void Pause(string type){ + ArrayList pauseArray = new ArrayList(); + + for (int i = 0; i < tweens.Count; i++) { + Hashtable currentTween = tweens[i]; + GameObject target = (GameObject)currentTween["target"]; + pauseArray.Insert(pauseArray.Count,target); + } + + for (int i = 0; i < pauseArray.Count; i++) { + Pause((GameObject)pauseArray[i],type); + } + } + + //################################# + //# COUNT UTILITIES AND OVERLOADS # + //################################# + + /// + /// Count all iTweens in current scene. + /// + public static int Count(){ + return(tweens.Count); + } + + /// + /// Count all iTweens in current scene of a particular type. + /// + /// + /// A name of the type of iTween you would like to stop. Can be written as part of a name such as "mov" for all "MoveTo" iTweens. + /// + public static int Count(string type){ + int tweenCount = 0; + + for (int i = 0; i < tweens.Count; i++) { + Hashtable currentTween = tweens[i]; + string targetType = (string)currentTween["type"]+(string)currentTween["method"]; + targetType=targetType.Substring(0,type.Length); + if(targetType.ToLower() == type.ToLower()){ + tweenCount++; + } + } + + return(tweenCount); + } + + /// + /// Count all iTweens on a GameObject. + /// + public static int Count(GameObject target){ + Component[] tweens = target.GetComponents(); + return(tweens.Length); + } + + /// + /// Count all iTweens on a GameObject of a particular type. + /// + /// + /// A name of the type of iTween you would like to count. Can be written as part of a name such as "mov" for all "MoveTo" iTweens. + /// + public static int Count(GameObject target, string type){ + int tweenCount = 0; + Component[] tweens = target.GetComponents(); + foreach (iTween item in tweens){ + string targetType = item.type+item.method; + targetType=targetType.Substring(0,type.Length); + if(targetType.ToLower() == type.ToLower()){ + tweenCount++; + } + } + return(tweenCount); + } + + //################################ + //# STOP UTILITIES AND OVERLOADS # + //################################ + + /// + /// Stop and destroy all Tweens in current scene. + /// + public static void Stop(){ + for (int i = 0; i < tweens.Count; i++) { + Hashtable currentTween = tweens[i]; + GameObject target = (GameObject)currentTween["target"]; + Stop(target); + } + tweens.Clear(); + } + + /// + /// Stop and destroy all iTweens in current scene of a particular type. + /// + /// + /// A name of the type of iTween you would like to stop. Can be written as part of a name such as "mov" for all "MoveTo" iTweens. + /// + public static void Stop(string type){ + ArrayList stopArray = new ArrayList(); + + for (int i = 0; i < tweens.Count; i++) { + Hashtable currentTween = tweens[i]; + GameObject target = (GameObject)currentTween["target"]; + stopArray.Insert(stopArray.Count,target); + } + + for (int i = 0; i < stopArray.Count; i++) { + Stop((GameObject)stopArray[i],type); + } + } + + /* GFX47 MOD START */ + /// + /// Stop and destroy all iTweens in current scene of a particular name. + /// + /// + /// The name of iTween you would like to stop. + /// + public static void StopByName(string name){ + ArrayList stopArray = new ArrayList(); + + for (int i = 0; i < tweens.Count; i++) { + Hashtable currentTween = tweens[i]; + GameObject target = (GameObject)currentTween["target"]; + stopArray.Insert(stopArray.Count,target); + } + + for (int i = 0; i < stopArray.Count; i++) { + StopByName((GameObject)stopArray[i],name); + } + } + /* GFX47 MOD END */ + + /// + /// Stop and destroy all iTweens on a GameObject. + /// + public static void Stop(GameObject target){ + Component[] tweens = target.GetComponents(); + foreach (iTween item in tweens){ + item.Dispose(); + } + } + + /// + /// Stop and destroy all iTweens on a GameObject including its children. + /// + public static void Stop(GameObject target, bool includechildren){ + Stop(target); + if(includechildren){ + foreach(Transform child in target.transform){ + Stop(child.gameObject,true); + } + } + } + + /// + /// Stop and destroy all iTweens on a GameObject of a particular type. + /// + /// A name of the type of iTween you would like to stop. Can be written as part of a name such as "mov" for all "MoveTo" iTweens. + /// + public static void Stop(GameObject target, string type){ + Component[] tweens = target.GetComponents(); + foreach (iTween item in tweens){ + string targetType = item.type+item.method; + targetType=targetType.Substring(0,type.Length); + if(targetType.ToLower() == type.ToLower()){ + item.Dispose(); + } + } + } + + /* GFX47 MOD START */ + /// + /// Stop and destroy all iTweens on a GameObject of a particular name. + /// + /// The name of iTween you would like to stop. + /// + public static void StopByName(GameObject target, string name){ + Component[] tweens = target.GetComponents(); + foreach (iTween item in tweens){ + /*string targetType = item.type+item.method; + targetType=targetType.Substring(0,type.Length); + if(targetType.ToLower() == type.ToLower()){ + item.Dispose(); + }*/ + if(item._name == name){ + item.Dispose(); + } + } + } + /* GFX47 MOD END */ + + /// + /// Stop and destroy all iTweens on a GameObject of a particular type including its children. + /// + /// A name of the type of iTween you would like to stop. Can be written as part of a name such as "mov" for all "MoveTo" iTweens. + /// + public static void Stop(GameObject target, string type, bool includechildren){ + Component[] tweens = target.GetComponents(); + foreach (iTween item in tweens){ + string targetType = item.type+item.method; + targetType=targetType.Substring(0,type.Length); + if(targetType.ToLower() == type.ToLower()){ + item.Dispose(); + } + } + if(includechildren){ + foreach(Transform child in target.transform){ + Stop(child.gameObject,type,true); + } + } + } + + /* GFX47 MOD START */ + /// + /// Stop and destroy all iTweens on a GameObject of a particular name including its children. + /// + /// The name of iTween you would like to stop. + /// + public static void StopByName(GameObject target, string name, bool includechildren){ + Component[] tweens = target.GetComponents(); + foreach (iTween item in tweens){ + /*string targetType = item.type+item.method; + targetType=targetType.Substring(0,type.Length); + if(targetType.ToLower() == type.ToLower()){ + item.Dispose(); + }*/ + if(item._name == name){ + item.Dispose(); + } + } + if(includechildren){ + foreach(Transform child in target.transform){ + //Stop(child.gameObject,type,true); + StopByName(child.gameObject,name,true); + } + } + } + /* GFX47 MOD END */ + + /// + /// Universal interface to help in the creation of Hashtables. Especially useful for C# users. + /// + /// + /// A of alternating name value pairs. For example "time",1,"delay",2... + /// + /// + /// A + /// + public static Hashtable Hash(params object[] args){ + Hashtable hashTable = new Hashtable(args.Length/2); + if (args.Length %2 != 0) { + Debug.LogError("Tween Error: Hash requires an even number of arguments!"); + return null; + }else{ + int i = 0; + while(i < args.Length - 1) { + hashTable.Add(args[i], args[i+1]); + i += 2; + } + return hashTable; + } + } + + #endregion + + #region Component Segments + + private iTween(Hashtable h) { + tweenArguments = h; + } + + void Awake(){ + thisTransform = transform; + + RetrieveArgs(); + lastRealTime = Time.realtimeSinceStartup; // Added by PressPlay + } + + IEnumerator Start(){ + if(delay > 0){ + yield return StartCoroutine("TweenDelay"); + } + TweenStart(); + } + + //non-physics + void Update(){ + if(isRunning && !physics){ + if(!reverse){ + if(percentage<1f){ + TweenUpdate(); + }else{ + TweenComplete(); + } + }else{ + if(percentage>0){ + TweenUpdate(); + }else{ + TweenComplete(); + } + } + } + } + + //physics + void FixedUpdate(){ + if(isRunning && physics){ + if(!reverse){ + if(percentage<1f){ + TweenUpdate(); + }else{ + TweenComplete(); + } + }else{ + if(percentage>0){ + TweenUpdate(); + }else{ + TweenComplete(); + } + } + } + } + + void LateUpdate(){ + //look applications: + if(tweenArguments.Contains("looktarget") && isRunning){ + if(type =="move" || type =="shake" || type=="punch"){ + LookUpdate(gameObject,tweenArguments); + } + } + } + + void OnEnable(){ + if(isRunning){ + EnableKinematic(); + } + + //resume delay: + if(isPaused){ + isPaused=false; + if(delay > 0){ + wasPaused=true; + ResumeDelay(); + } + } + } + + void OnDisable(){ + DisableKinematic(); + } + + #endregion + + #region Internal Helpers + + private static void DrawLineHelper(Vector3[] line, Color color, string method){ + Gizmos.color=color; + for (int i = 0; i < line.Length-1; i++) { + if(method == "gizmos"){ + Gizmos.DrawLine(line[i], line[i+1]);; + }else if(method == "handles"){ + Debug.LogError("iTween Error: Drawing a line with Handles is temporarily disabled because of compatability issues with Unity 2.6!"); + //UnityEditor.Handles.DrawLine(line[i], line[i+1]); + } + } + } + + private static void DrawPathHelper(Vector3[] path, Color color, string method){ + Vector3[] vector3s = PathControlPointGenerator(path); + + //Line Draw: + Vector3 prevPt = Interp(vector3s,0); + Gizmos.color=color; + int SmoothAmount = path.Length*20; + for (int i = 1; i <= SmoothAmount; i++) { + float pm = (float) i / SmoothAmount; + Vector3 currPt = Interp(vector3s,pm); + if(method == "gizmos"){ + Gizmos.DrawLine(currPt, prevPt); + }else if(method == "handles"){ + Debug.LogError("iTween Error: Drawing a path with Handles is temporarily disabled because of compatability issues with Unity 2.6!"); + //UnityEditor.Handles.DrawLine(currPt, prevPt); + } + prevPt = currPt; + } + } + + private static Vector3[] PathControlPointGenerator(Vector3[] path){ + Vector3[] suppliedPath; + Vector3[] vector3s; + + //create and store path points: + suppliedPath = path; + + //populate calculate path; + int offset = 2; + vector3s = new Vector3[suppliedPath.Length+offset]; + Array.Copy(suppliedPath,0,vector3s,1,suppliedPath.Length); + + //populate start and end control points: + //vector3s[0] = vector3s[1] - vector3s[2]; + vector3s[0] = vector3s[1] + (vector3s[1] - vector3s[2]); + vector3s[vector3s.Length-1] = vector3s[vector3s.Length-2] + (vector3s[vector3s.Length-2] - vector3s[vector3s.Length-3]); + + //is this a closed, continuous loop? yes? well then so let's make a continuous Catmull-Rom spline! + if(vector3s[1] == vector3s[vector3s.Length-2]){ + Vector3[] tmpLoopSpline = new Vector3[vector3s.Length]; + Array.Copy(vector3s,tmpLoopSpline,vector3s.Length); + tmpLoopSpline[0]=tmpLoopSpline[tmpLoopSpline.Length-3]; + tmpLoopSpline[tmpLoopSpline.Length-1]=tmpLoopSpline[2]; + vector3s=new Vector3[tmpLoopSpline.Length]; + Array.Copy(tmpLoopSpline,vector3s,tmpLoopSpline.Length); + } + + return(vector3s); + } + + //andeeee from the Unity forum's steller Catmull-Rom class ( http://forum.unity3d.com/viewtopic.php?p=218400#218400 ): + private static Vector3 Interp(Vector3[] pts, float t){ + int numSections = pts.Length - 3; + int currPt = Mathf.Min(Mathf.FloorToInt(t * (float) numSections), numSections - 1); + float u = t * (float) numSections - (float) currPt; + + Vector3 a = pts[currPt]; + Vector3 b = pts[currPt + 1]; + Vector3 c = pts[currPt + 2]; + Vector3 d = pts[currPt + 3]; + + return .5f * ( + (-a + 3f * b - 3f * c + d) * (u * u * u) + + (2f * a - 5f * b + 4f * c - d) * (u * u) + + (-a + c) * u + + 2f * b + ); + } + + //andeeee from the Unity forum's steller Catmull-Rom class ( http://forum.unity3d.com/viewtopic.php?p=218400#218400 ): + private class CRSpline { + public Vector3[] pts; + + public CRSpline(params Vector3[] pts) { + this.pts = new Vector3[pts.Length]; + Array.Copy(pts, this.pts, pts.Length); + } + + + public Vector3 Interp(float t) { + int numSections = pts.Length - 3; + int currPt = Mathf.Min(Mathf.FloorToInt(t * (float) numSections), numSections - 1); + float u = t * (float) numSections - (float) currPt; + Vector3 a = pts[currPt]; + Vector3 b = pts[currPt + 1]; + Vector3 c = pts[currPt + 2]; + Vector3 d = pts[currPt + 3]; + return .5f*((-a+3f*b-3f*c+d)*(u*u*u)+(2f*a-5f*b+4f*c-d)*(u*u)+(-a+c)*u+2f*b); + } + } + + //catalog new tween and add component phase of iTween: + static void Launch(GameObject target, Hashtable args){ + if(!args.Contains("id")){ + args["id"] = GenerateID(); + } + if(!args.Contains("target")){ + args["target"] = target; + + } + + tweens.Insert (0, args); + target.AddComponent(); + } + + //cast any accidentally supplied doubles and ints as floats as iTween only uses floats internally and unify parameter case: + static Hashtable CleanArgs(Hashtable args){ + Hashtable argsCopy = new Hashtable(args.Count); + Hashtable argsCaseUnified = new Hashtable(args.Count); + + foreach (DictionaryEntry item in args) { + argsCopy.Add(item.Key, item.Value); + } + + foreach (DictionaryEntry item in argsCopy) { + if(item.Value.GetType() == typeof(System.Int32)){ + int original = (int)item.Value; + float casted = (float)original; + args[item.Key] = casted; + } + if(item.Value.GetType() == typeof(System.Double)){ + double original = (double)item.Value; + float casted = (float)original; + args[item.Key] = casted; + } + } + + //unify parameter case: + foreach (DictionaryEntry item in args) { + argsCaseUnified.Add(item.Key.ToString().ToLower(), item.Value); + } + + //swap back case unification: + args = argsCaseUnified; + + return args; + } + + //random ID generator: + static string GenerateID(){ +// int strlen = 15; +// char[] chars = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8'}; +// int num_chars = chars.Length - 1; +// string randomChar = ""; +// for (int i = 0; i < strlen; i++) { +// randomChar += chars[(int)Mathf.Floor(UnityEngine.Random.Range(0,num_chars))]; +// } + return System.Guid.NewGuid().ToString(); + } + + //grab and set generic, neccesary iTween arguments: + void RetrieveArgs(){ + foreach (Hashtable item in tweens) { + if((GameObject)item["target"] == gameObject){ + tweenArguments=item; + break; + } + } + + id=(string)tweenArguments["id"]; + type=(string)tweenArguments["type"]; + /* GFX47 MOD START */ + _name=(string)tweenArguments["name"]; + /* GFX47 MOD END */ + method=(string)tweenArguments["method"]; + + if(tweenArguments.Contains("time")){ + time=(float)tweenArguments["time"]; + }else{ + time=Defaults.time; + } + + //do we need to use physics, is there a rigidbody? + if(GetComponent() != null){ + physics=true; + } + + if(tweenArguments.Contains("delay")){ + delay=(float)tweenArguments["delay"]; + }else{ + delay=Defaults.delay; + } + + if(tweenArguments.Contains("namedcolorvalue")){ + //allows namedcolorvalue to be set as either an enum(C# friendly) or a string(JS friendly), string case usage doesn't matter to further increase usability: + if(tweenArguments["namedcolorvalue"].GetType() == typeof(NamedValueColor)){ + namedcolorvalue=(NamedValueColor)tweenArguments["namedcolorvalue"]; + }else{ + try { + namedcolorvalue=(NamedValueColor)Enum.Parse(typeof(NamedValueColor),(string)tweenArguments["namedcolorvalue"],true); + } catch { + Debug.LogWarning("iTween: Unsupported namedcolorvalue supplied! Default will be used."); + namedcolorvalue = iTween.NamedValueColor._Color; + } + } + }else{ + namedcolorvalue=Defaults.namedColorValue; + } + + if(tweenArguments.Contains("looptype")){ + //allows loopType to be set as either an enum(C# friendly) or a string(JS friendly), string case usage doesn't matter to further increase usability: + if(tweenArguments["looptype"].GetType() == typeof(LoopType)){ + loopType=(LoopType)tweenArguments["looptype"]; + }else{ + try { + loopType=(LoopType)Enum.Parse(typeof(LoopType),(string)tweenArguments["looptype"],true); + } catch { + Debug.LogWarning("iTween: Unsupported loopType supplied! Default will be used."); + loopType = iTween.LoopType.none; + } + } + }else{ + loopType = iTween.LoopType.none; + } + + if(tweenArguments.Contains("easetype")){ + //allows easeType to be set as either an enum(C# friendly) or a string(JS friendly), string case usage doesn't matter to further increase usability: + if(tweenArguments["easetype"].GetType() == typeof(EaseType)){ + easeType=(EaseType)tweenArguments["easetype"]; + }else{ + try { + easeType=(EaseType)Enum.Parse(typeof(EaseType),(string)tweenArguments["easetype"],true); + } catch { + Debug.LogWarning("iTween: Unsupported easeType supplied! Default will be used."); + easeType=Defaults.easeType; + } + } + }else{ + easeType=Defaults.easeType; + } + + if(tweenArguments.Contains("space")){ + //allows space to be set as either an enum(C# friendly) or a string(JS friendly), string case usage doesn't matter to further increase usability: + if(tweenArguments["space"].GetType() == typeof(Space)){ + space=(Space)tweenArguments["space"]; + }else{ + try { + space=(Space)Enum.Parse(typeof(Space),(string)tweenArguments["space"],true); + } catch { + Debug.LogWarning("iTween: Unsupported space supplied! Default will be used."); + space = Defaults.space; + } + } + }else{ + space = Defaults.space; + } + + if(tweenArguments.Contains("islocal")){ + isLocal = (bool)tweenArguments["islocal"]; + }else{ + isLocal = Defaults.isLocal; + } + + // Added by PressPlay + if (tweenArguments.Contains("ignoretimescale")) + { + useRealTime = (bool)tweenArguments["ignoretimescale"]; + } + else + { + useRealTime = Defaults.useRealTime; + } + + //instantiates a cached ease equation reference: + GetEasingFunction(); + } + + //instantiates a cached ease equation refrence: + void GetEasingFunction(){ + switch (easeType){ + case EaseType.easeInQuad: + ease = new EasingFunction(easeInQuad); + break; + case EaseType.easeOutQuad: + ease = new EasingFunction(easeOutQuad); + break; + case EaseType.easeInOutQuad: + ease = new EasingFunction(easeInOutQuad); + break; + case EaseType.easeInCubic: + ease = new EasingFunction(easeInCubic); + break; + case EaseType.easeOutCubic: + ease = new EasingFunction(easeOutCubic); + break; + case EaseType.easeInOutCubic: + ease = new EasingFunction(easeInOutCubic); + break; + case EaseType.easeInQuart: + ease = new EasingFunction(easeInQuart); + break; + case EaseType.easeOutQuart: + ease = new EasingFunction(easeOutQuart); + break; + case EaseType.easeInOutQuart: + ease = new EasingFunction(easeInOutQuart); + break; + case EaseType.easeInQuint: + ease = new EasingFunction(easeInQuint); + break; + case EaseType.easeOutQuint: + ease = new EasingFunction(easeOutQuint); + break; + case EaseType.easeInOutQuint: + ease = new EasingFunction(easeInOutQuint); + break; + case EaseType.easeInSine: + ease = new EasingFunction(easeInSine); + break; + case EaseType.easeOutSine: + ease = new EasingFunction(easeOutSine); + break; + case EaseType.easeInOutSine: + ease = new EasingFunction(easeInOutSine); + break; + case EaseType.easeInExpo: + ease = new EasingFunction(easeInExpo); + break; + case EaseType.easeOutExpo: + ease = new EasingFunction(easeOutExpo); + break; + case EaseType.easeInOutExpo: + ease = new EasingFunction(easeInOutExpo); + break; + case EaseType.easeInCirc: + ease = new EasingFunction(easeInCirc); + break; + case EaseType.easeOutCirc: + ease = new EasingFunction(easeOutCirc); + break; + case EaseType.easeInOutCirc: + ease = new EasingFunction(easeInOutCirc); + break; + case EaseType.linear: + ease = new EasingFunction(linear); + break; + case EaseType.spring: + ease = new EasingFunction(spring); + break; + /* GFX47 MOD START */ + /*case EaseType.bounce: + ease = new EasingFunction(bounce); + break;*/ + case EaseType.easeInBounce: + ease = new EasingFunction(easeInBounce); + break; + case EaseType.easeOutBounce: + ease = new EasingFunction(easeOutBounce); + break; + case EaseType.easeInOutBounce: + ease = new EasingFunction(easeInOutBounce); + break; + /* GFX47 MOD END */ + case EaseType.easeInBack: + ease = new EasingFunction(easeInBack); + break; + case EaseType.easeOutBack: + ease = new EasingFunction(easeOutBack); + break; + case EaseType.easeInOutBack: + ease = new EasingFunction(easeInOutBack); + break; + /* GFX47 MOD START */ + /*case EaseType.elastic: + ease = new EasingFunction(elastic); + break;*/ + case EaseType.easeInElastic: + ease = new EasingFunction(easeInElastic); + break; + case EaseType.easeOutElastic: + ease = new EasingFunction(easeOutElastic); + break; + case EaseType.easeInOutElastic: + ease = new EasingFunction(easeInOutElastic); + break; + /* GFX47 MOD END */ + } + } + + //calculate percentage of tween based on time: + void UpdatePercentage(){ + + // Added by PressPlay + if (useRealTime) + { + runningTime += (Time.realtimeSinceStartup - lastRealTime); + } + else + { + runningTime += Time.deltaTime; + } + + if(reverse){ + percentage = 1 - runningTime/time; + }else{ + percentage = runningTime/time; + } + + lastRealTime = Time.realtimeSinceStartup; // Added by PressPlay + } + + void CallBack(string callbackType){ + if (tweenArguments.Contains(callbackType) && !tweenArguments.Contains("ischild")) { + //establish target: + GameObject target; + if (tweenArguments.Contains(callbackType+"target")) { + target=(GameObject)tweenArguments[callbackType+"target"]; + }else{ + target=gameObject; + } + + //throw an error if a string wasn't passed for callback: + if (tweenArguments[callbackType].GetType() == typeof(System.String)) { + target.SendMessage((string)tweenArguments[callbackType],(object)tweenArguments[callbackType+"params"],SendMessageOptions.DontRequireReceiver); + }else{ + Debug.LogError("iTween Error: Callback method references must be passed as a String!"); + Destroy (this); + } + } + } + + void Dispose(){ + for (int i = 0; i < tweens.Count; i++) { + Hashtable tweenEntry = tweens[i]; + if ((string)tweenEntry["id"] == id){ + tweens.RemoveAt(i); + break; + } + } + Destroy(this); + } + + void ConflictCheck(){//if a new iTween is about to run and is of the same type as an in progress iTween this will destroy the previous if the new one is NOT identical in every way or it will destroy the new iTween if they are: + Component[] tweens = GetComponents(); + foreach (iTween item in tweens) { + if(item.type == "value"){ + return; + }else if(item.isRunning && item.type==type){ + //cancel out if this is a shake or punch variant: + if (item.method != method) { + return; + } + + //step 1: check for length first since it's the fastest: + if(item.tweenArguments.Count != tweenArguments.Count){ + item.Dispose(); + return; + } + + //step 2: side-by-side check to figure out if this is an identical tween scenario to handle Update usages of iTween: + foreach (DictionaryEntry currentProp in tweenArguments) { + if(!item.tweenArguments.Contains(currentProp.Key)){ + item.Dispose(); + return; + }else{ + if(!item.tweenArguments[currentProp.Key].Equals(tweenArguments[currentProp.Key]) && (string)currentProp.Key != "id"){//if we aren't comparing ids and something isn't exactly the same replace the running iTween: + item.Dispose(); + return; + } + } + } + + //step 3: prevent a new iTween addition if it is identical to the currently running iTween + Dispose(); + //Destroy(this); + } + } + } + + void EnableKinematic(){ + /* + if(gameObject.GetComponent(typeof(Rigidbody))){ + if(!rigidbody.isKinematic){ + kinematic=true; + rigidbody.isKinematic=true; + } + } + */ + } + + void DisableKinematic(){ + /* + if(kinematic && rigidbody.isKinematic==true){ + kinematic=false; + rigidbody.isKinematic=false; + } + */ + } + + void ResumeDelay(){ + StartCoroutine("TweenDelay"); + } + + #endregion + + #region Easing Curves + + private float linear(float start, float end, float value){ + return Mathf.Lerp(start, end, value); + } + + private float clerp(float start, float end, float value){ + float min = 0.0f; + float max = 360.0f; + float half = Mathf.Abs((max - min) * 0.5f); + float retval = 0.0f; + float diff = 0.0f; + if ((end - start) < -half){ + diff = ((max - start) + end) * value; + retval = start + diff; + }else if ((end - start) > half){ + diff = -((max - end) + start) * value; + retval = start + diff; + }else retval = start + (end - start) * value; + return retval; + } + + private float spring(float start, float end, float value){ + value = Mathf.Clamp01(value); + value = (Mathf.Sin(value * Mathf.PI * (0.2f + 2.5f * value * value * value)) * Mathf.Pow(1f - value, 2.2f) + value) * (1f + (1.2f * (1f - value))); + return start + (end - start) * value; + } + + private float easeInQuad(float start, float end, float value){ + end -= start; + return end * value * value + start; + } + + private float easeOutQuad(float start, float end, float value){ + end -= start; + return -end * value * (value - 2) + start; + } + + private float easeInOutQuad(float start, float end, float value){ + value /= .5f; + end -= start; + if (value < 1) return end * 0.5f * value * value + start; + value--; + return -end * 0.5f * (value * (value - 2) - 1) + start; + } + + private float easeInCubic(float start, float end, float value){ + end -= start; + return end * value * value * value + start; + } + + private float easeOutCubic(float start, float end, float value){ + value--; + end -= start; + return end * (value * value * value + 1) + start; + } + + private float easeInOutCubic(float start, float end, float value){ + value /= .5f; + end -= start; + if (value < 1) return end * 0.5f * value * value * value + start; + value -= 2; + return end * 0.5f * (value * value * value + 2) + start; + } + + private float easeInQuart(float start, float end, float value){ + end -= start; + return end * value * value * value * value + start; + } + + private float easeOutQuart(float start, float end, float value){ + value--; + end -= start; + return -end * (value * value * value * value - 1) + start; + } + + private float easeInOutQuart(float start, float end, float value){ + value /= .5f; + end -= start; + if (value < 1) return end * 0.5f * value * value * value * value + start; + value -= 2; + return -end * 0.5f * (value * value * value * value - 2) + start; + } + + private float easeInQuint(float start, float end, float value){ + end -= start; + return end * value * value * value * value * value + start; + } + + private float easeOutQuint(float start, float end, float value){ + value--; + end -= start; + return end * (value * value * value * value * value + 1) + start; + } + + private float easeInOutQuint(float start, float end, float value){ + value /= .5f; + end -= start; + if (value < 1) return end * 0.5f * value * value * value * value * value + start; + value -= 2; + return end * 0.5f * (value * value * value * value * value + 2) + start; + } + + private float easeInSine(float start, float end, float value){ + end -= start; + return -end * Mathf.Cos(value * (Mathf.PI * 0.5f)) + end + start; + } + + private float easeOutSine(float start, float end, float value){ + end -= start; + return end * Mathf.Sin(value * (Mathf.PI * 0.5f)) + start; + } + + private float easeInOutSine(float start, float end, float value){ + end -= start; + return -end * 0.5f * (Mathf.Cos(Mathf.PI * value) - 1) + start; + } + + private float easeInExpo(float start, float end, float value){ + end -= start; + return end * Mathf.Pow(2, 10 * (value - 1)) + start; + } + + private float easeOutExpo(float start, float end, float value){ + end -= start; + return end * (-Mathf.Pow(2, -10 * value ) + 1) + start; + } + + private float easeInOutExpo(float start, float end, float value){ + value /= .5f; + end -= start; + if (value < 1) return end * 0.5f * Mathf.Pow(2, 10 * (value - 1)) + start; + value--; + return end * 0.5f * (-Mathf.Pow(2, -10 * value) + 2) + start; + } + + private float easeInCirc(float start, float end, float value){ + end -= start; + return -end * (Mathf.Sqrt(1 - value * value) - 1) + start; + } + + private float easeOutCirc(float start, float end, float value){ + value--; + end -= start; + return end * Mathf.Sqrt(1 - value * value) + start; + } + + private float easeInOutCirc(float start, float end, float value){ + value /= .5f; + end -= start; + if (value < 1) return -end * 0.5f * (Mathf.Sqrt(1 - value * value) - 1) + start; + value -= 2; + return end * 0.5f * (Mathf.Sqrt(1 - value * value) + 1) + start; + } + + /* GFX47 MOD START */ + private float easeInBounce(float start, float end, float value){ + end -= start; + float d = 1f; + return end - easeOutBounce(0, end, d-value) + start; + } + /* GFX47 MOD END */ + + /* GFX47 MOD START */ + //private float bounce(float start, float end, float value){ + private float easeOutBounce(float start, float end, float value){ + value /= 1f; + end -= start; + if (value < (1 / 2.75f)){ + return end * (7.5625f * value * value) + start; + }else if (value < (2 / 2.75f)){ + value -= (1.5f / 2.75f); + return end * (7.5625f * (value) * value + .75f) + start; + }else if (value < (2.5 / 2.75)){ + value -= (2.25f / 2.75f); + return end * (7.5625f * (value) * value + .9375f) + start; + }else{ + value -= (2.625f / 2.75f); + return end * (7.5625f * (value) * value + .984375f) + start; + } + } + /* GFX47 MOD END */ + + /* GFX47 MOD START */ + private float easeInOutBounce(float start, float end, float value){ + end -= start; + float d = 1f; + if (value < d* 0.5f) return easeInBounce(0, end, value*2) * 0.5f + start; + else return easeOutBounce(0, end, value*2-d) * 0.5f + end*0.5f + start; + } + /* GFX47 MOD END */ + + private float easeInBack(float start, float end, float value){ + end -= start; + value /= 1; + float s = 1.70158f; + return end * (value) * value * ((s + 1) * value - s) + start; + } + + private float easeOutBack(float start, float end, float value){ + float s = 1.70158f; + end -= start; + value = (value) - 1; + return end * ((value) * value * ((s + 1) * value + s) + 1) + start; + } + + private float easeInOutBack(float start, float end, float value){ + float s = 1.70158f; + end -= start; + value /= .5f; + if ((value) < 1){ + s *= (1.525f); + return end * 0.5f * (value * value * (((s) + 1) * value - s)) + start; + } + value -= 2; + s *= (1.525f); + return end * 0.5f * ((value) * value * (((s) + 1) * value + s) + 2) + start; + } + + private float punch(float amplitude, float value){ + float s = 9; + if (value == 0){ + return 0; + } + else if (value == 1){ + return 0; + } + float period = 1 * 0.3f; + s = period / (2 * Mathf.PI) * Mathf.Asin(0); + return (amplitude * Mathf.Pow(2, -10 * value) * Mathf.Sin((value * 1 - s) * (2 * Mathf.PI) / period)); + } + + /* GFX47 MOD START */ + private float easeInElastic(float start, float end, float value){ + end -= start; + + float d = 1f; + float p = d * .3f; + float s = 0; + float a = 0; + + if (value == 0) return start; + + if ((value /= d) == 1) return start + end; + + if (a == 0f || a < Mathf.Abs(end)){ + a = end; + s = p / 4; + }else{ + s = p / (2 * Mathf.PI) * Mathf.Asin(end / a); + } + + return -(a * Mathf.Pow(2, 10 * (value-=1)) * Mathf.Sin((value * d - s) * (2 * Mathf.PI) / p)) + start; + } + /* GFX47 MOD END */ + + /* GFX47 MOD START */ + //private float elastic(float start, float end, float value){ + private float easeOutElastic(float start, float end, float value){ + /* GFX47 MOD END */ + //Thank you to rafael.marteleto for fixing this as a port over from Pedro's UnityTween + end -= start; + + float d = 1f; + float p = d * .3f; + float s = 0; + float a = 0; + + if (value == 0) return start; + + if ((value /= d) == 1) return start + end; + + if (a == 0f || a < Mathf.Abs(end)){ + a = end; + s = p * 0.25f; + }else{ + s = p / (2 * Mathf.PI) * Mathf.Asin(end / a); + } + + return (a * Mathf.Pow(2, -10 * value) * Mathf.Sin((value * d - s) * (2 * Mathf.PI) / p) + end + start); + } + + /* GFX47 MOD START */ + private float easeInOutElastic(float start, float end, float value){ + end -= start; + + float d = 1f; + float p = d * .3f; + float s = 0; + float a = 0; + + if (value == 0) return start; + + if ((value /= d*0.5f) == 2) return start + end; + + if (a == 0f || a < Mathf.Abs(end)){ + a = end; + s = p / 4; + }else{ + s = p / (2 * Mathf.PI) * Mathf.Asin(end / a); + } + + if (value < 1) return -0.5f * (a * Mathf.Pow(2, 10 * (value-=1)) * Mathf.Sin((value * d - s) * (2 * Mathf.PI) / p)) + start; + return a * Mathf.Pow(2, -10 * (value-=1)) * Mathf.Sin((value * d - s) * (2 * Mathf.PI) / p) * 0.5f + end + start; + } + /* GFX47 MOD END */ + + #endregion + + #region Deprecated and Renamed + /* + public static void audioFrom(GameObject target, Hashtable args){Debug.LogError("iTween Error: audioFrom() has been renamed to AudioFrom().");} + public static void audioTo(GameObject target, Hashtable args){Debug.LogError("iTween Error: audioTo() has been renamed to AudioTo().");} + public static void colorFrom(GameObject target, Hashtable args){Debug.LogError("iTween Error: colorFrom() has been renamed to ColorFrom().");} + public static void colorTo(GameObject target, Hashtable args){Debug.LogError("iTween Error: colorTo() has been renamed to ColorTo().");} + public static void fadeFrom(GameObject target, Hashtable args){Debug.LogError("iTween Error: fadeFrom() has been renamed to FadeFrom().");} + public static void fadeTo(GameObject target, Hashtable args){Debug.LogError("iTween Error: fadeTo() has been renamed to FadeTo().");} + public static void lookFrom(GameObject target, Hashtable args){Debug.LogError("iTween Error: lookFrom() has been renamed to LookFrom().");} + public static void lookFromWorld(GameObject target, Hashtable args){Debug.LogError("iTween Error: lookFromWorld() has been deprecated. Please investigate LookFrom().");} + public static void lookTo(GameObject target, Hashtable args){Debug.LogError("iTween Error: lookTo() has been renamed to LookTo().");} + public static void lookToUpdate(GameObject target, Hashtable args){Debug.LogError("iTween Error: lookToUpdate() has been renamed to LookUpdate().");} + public static void lookToUpdateWorld(GameObject target, Hashtable args){Debug.LogError("iTween Error: lookToUpdateWorld() has been deprecated. Please investigate LookUpdate().");} + public static void moveAdd(GameObject target, Hashtable args){Debug.LogError("iTween Error: moveAdd() has been renamed to MoveAdd().");} + public static void moveAddWorld(GameObject target, Hashtable args){Debug.LogError("iTween Error: moveAddWorld() has been deprecated. Please investigate MoveAdd().");} + public static void moveBy(GameObject target, Hashtable args){Debug.LogError("iTween Error: moveBy() has been renamed to MoveBy().");} + public static void moveByWorld(GameObject target, Hashtable args){Debug.LogError("iTween Error: moveAddWorld() has been deprecated. Please investigate MoveAdd().");} + public static void moveFrom(GameObject target, Hashtable args){Debug.LogError("iTween Error: moveFrom() has been renamed to MoveFrom().");} + public static void moveFromWorld(GameObject target, Hashtable args){Debug.LogError("iTween Error: moveFromWorld() has been deprecated. Please investigate MoveFrom().");} + public static void moveTo(GameObject target, Hashtable args){Debug.LogError("iTween Error: moveTo() has been renamed to MoveTo().");} + public static void moveToBezier(GameObject target, Hashtable args){Debug.LogError("iTween Error: moveToBezier() has been deprecated. Please investigate MoveTo() and the "path" property.");} + public static void moveToBezierWorld(GameObject target, Hashtable args){Debug.LogError("iTween Error: moveToBezierWorld() has been deprecated. Please investigate MoveTo() and the "path" property.");} + public static void moveToUpdate(GameObject target, Hashtable args){Debug.LogError("iTween Error: moveToUpdate() has been renamed to MoveUpdate().");} + public static void moveToUpdateWorld(GameObject target, Hashtable args){Debug.LogError("iTween Error: moveToUpdateWorld() has been deprecated. Please investigate MoveUpdate().");} + public static void moveToWorld(GameObject target, Hashtable args){Debug.LogError("iTween Error: moveToWorld() has been deprecated. Please investigate MoveTo().");} + public static void punchPosition(GameObject target, Hashtable args){Debug.LogError("iTween Error: punchPosition() has been renamed to PunchPosition().");} + public static void punchPositionWorld(GameObject target, Hashtable args){Debug.LogError("iTween Error: punchPositionWorld() has been deprecated. Please investigate PunchPosition().");} + public static void punchRotation(GameObject target, Hashtable args){Debug.LogError("iTween Error: punchPosition() has been renamed to PunchRotation().");} + public static void punchRotationWorld(GameObject target, Hashtable args){Debug.LogError("iTween Error: punchRotationWorld() has been deprecated. Please investigate PunchRotation().");} + public static void punchScale(GameObject target, Hashtable args){Debug.LogError("iTween Error: punchScale() has been renamed to PunchScale().");} + public static void rotateAdd(GameObject target, Hashtable args){Debug.LogError("iTween Error: rotateAdd() has been renamed to RotateAdd().");} + public static void rotateBy(GameObject target, Hashtable args){Debug.LogError("iTween Error: rotateBy() has been renamed to RotateBy().");} + public static void rotateByWorld(GameObject target, Hashtable args){Debug.LogError("iTween Error: rotateByWorld() has been deprecated. Please investigate RotateBy().");} + public static void rotateFrom(GameObject target, Hashtable args){Debug.LogError("iTween Error: rotateFrom() has been renamed to RotateFrom().");} + public static void rotateTo(GameObject target, Hashtable args){Debug.LogError("iTween Error: rotateTo() has been renamed to RotateTo().");} + public static void scaleAdd(GameObject target, Hashtable args){Debug.LogError("iTween Error: scaleAdd() has been renamed to ScaleAdd().");} + public static void scaleBy(GameObject target, Hashtable args){Debug.LogError("iTween Error: scaleBy() has been renamed to ScaleBy().");} + public static void scaleFrom(GameObject target, Hashtable args){Debug.LogError("iTween Error: scaleFrom() has been renamed to ScaleFrom().");} + public static void scaleTo(GameObject target, Hashtable args){Debug.LogError("iTween Error: scaleTo() has been renamed to ScaleTo().");} + public static void shake(GameObject target, Hashtable args){Debug.LogError("iTween Error: scale() has been deprecated. Please investigate ShakePosition(), ShakeRotation() and ShakeScale().");} + public static void shakeWorld(GameObject target, Hashtable args){Debug.LogError("iTween Error: shakeWorld() has been deprecated. Please investigate ShakePosition(), ShakeRotation() and ShakeScale().");} + public static void stab(GameObject target, Hashtable args){Debug.LogError("iTween Error: stab() has been renamed to Stab().");} + public static void stop(GameObject target, Hashtable args){Debug.LogError("iTween Error: stop() has been renamed to Stop().");} + public static void stopType(GameObject target, Hashtable args){Debug.LogError("iTween Error: stopType() has been deprecated. Please investigate Stop().");} + public static void tweenCount(GameObject target, Hashtable args){Debug.LogError("iTween Error: tweenCount() has been deprecated. Please investigate Count().");} + */ + #endregion +} diff --git a/Assets/Plugins/Pixelplacement/iTween/iTween.cs.meta b/Assets/Plugins/Pixelplacement/iTween/iTween.cs.meta new file mode 100644 index 0000000..591fd5a --- /dev/null +++ b/Assets/Plugins/Pixelplacement/iTween/iTween.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 521257714fc9e437a9163df2d37f2ea2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/GameScene.unity similarity index 100% rename from Assets/Scenes/SampleScene.unity rename to Assets/Scenes/GameScene.unity diff --git a/Assets/Scenes/SampleScene.unity.meta b/Assets/Scenes/GameScene.unity.meta similarity index 100% rename from Assets/Scenes/SampleScene.unity.meta rename to Assets/Scenes/GameScene.unity.meta diff --git a/Assets/Scenes/MenuScene.unity b/Assets/Scenes/MenuScene.unity new file mode 100644 index 0000000..07fb584 --- /dev/null +++ b/Assets/Scenes/MenuScene.unity @@ -0,0 +1,1261 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &43060264 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 43060265} + - component: {fileID: 43060267} + - component: {fileID: 43060266} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &43060265 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 43060264} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1561039683} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &43060266 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 43060264} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 23083100b5ae4944fa609bceebf28322, type: 3} + m_FontSize: 120 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 249 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'EXIT + +' +--- !u!222 &43060267 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 43060264} + m_CullTransparentMesh: 1 +--- !u!1 &152438698 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 152438700} + - component: {fileID: 152438699} + - component: {fileID: 152438701} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &152438699 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152438698} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &152438700 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152438698} + serializedVersion: 2 + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!114 &152438701 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 152438698} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 0 +--- !u!1 &417991487 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 417991488} + - component: {fileID: 417991491} + - component: {fileID: 417991490} + - component: {fileID: 417991489} + m_Layer: 5 + m_Name: Play + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &417991488 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 417991487} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1764595931} + m_Father: {fileID: 2104636342} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1400, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &417991489 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 417991487} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.10849059, g: 1, b: 0.26030698, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 417991490} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2104636343} + m_TargetAssemblyTypeName: StartMenuController, Assembly-CSharp + m_MethodName: OnStartClick + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &417991490 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 417991487} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &417991491 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 417991487} + m_CullTransparentMesh: 1 +--- !u!1 &442336507 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 442336510} + - component: {fileID: 442336509} + - component: {fileID: 442336508} + - component: {fileID: 442336511} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &442336508 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 442336507} + m_Enabled: 1 +--- !u!20 &442336509 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 442336507} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &442336510 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 442336507} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &442336511 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 442336507} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 +--- !u!1 &767539820 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 767539821} + - component: {fileID: 767539823} + - component: {fileID: 767539822} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &767539821 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 767539820} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2104636342} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1920, y: 1080} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &767539822 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 767539820} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &767539823 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 767539820} + m_CullTransparentMesh: 1 +--- !u!1 &1279373906 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1279373909} + - component: {fileID: 1279373908} + - component: {fileID: 1279373907} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1279373907 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1279373906} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1279373908 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1279373906} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1279373909 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1279373906} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1539916453 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1539916454} + - component: {fileID: 1539916456} + - component: {fileID: 1539916455} + - component: {fileID: 1539916457} + m_Layer: 5 + m_Name: EXE + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1539916454 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1539916453} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2104636342} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 250, y: -320} + m_SizeDelta: {x: 1600, y: 400} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1539916455 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1539916453} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 23083100b5ae4944fa609bceebf28322, type: 3} + m_FontSize: 45 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 162 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: .EXE +--- !u!222 &1539916456 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1539916453} + m_CullTransparentMesh: 1 +--- !u!114 &1539916457 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1539916453} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 04c6124a5b7364d4da5d42d887c9cf70, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1561039682 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1561039683} + - component: {fileID: 1561039686} + - component: {fileID: 1561039685} + - component: {fileID: 1561039684} + m_Layer: 5 + m_Name: Exit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1561039683 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1561039682} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 43060265} + m_Father: {fileID: 2104636342} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -250} + m_SizeDelta: {x: 1400, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1561039684 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1561039682} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 1, g: 0, b: 0, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1561039685} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2104636343} + m_TargetAssemblyTypeName: StartMenuController, Assembly-CSharp + m_MethodName: OnExitClick + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1561039685 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1561039682} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1561039686 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1561039682} + m_CullTransparentMesh: 1 +--- !u!1 &1764595930 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1764595931} + - component: {fileID: 1764595933} + - component: {fileID: 1764595932} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1764595931 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1764595930} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 417991488} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1764595932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1764595930} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 23083100b5ae4944fa609bceebf28322, type: 3} + m_FontSize: 120 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 140 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'PLAY + +' +--- !u!222 &1764595933 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1764595930} + m_CullTransparentMesh: 1 +--- !u!1 &2079401026 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2079401027} + - component: {fileID: 2079401029} + - component: {fileID: 2079401028} + - component: {fileID: 2079401030} + m_Layer: 5 + m_Name: Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2079401027 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079401026} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2104636342} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -220} + m_SizeDelta: {x: 1600, y: 400} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2079401028 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079401026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 23083100b5ae4944fa609bceebf28322, type: 3} + m_FontSize: 140 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 162 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: INTER FACE OFF +--- !u!222 &2079401029 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079401026} + m_CullTransparentMesh: 1 +--- !u!114 &2079401030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2079401026} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 04c6124a5b7364d4da5d42d887c9cf70, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &2104636338 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2104636342} + - component: {fileID: 2104636341} + - component: {fileID: 2104636340} + - component: {fileID: 2104636339} + - component: {fileID: 2104636343} + m_Layer: 5 + m_Name: Canvas/UI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2104636339 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2104636338} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &2104636340 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2104636338} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &2104636341 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2104636338} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &2104636342 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2104636338} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 767539821} + - {fileID: 417991488} + - {fileID: 1561039683} + - {fileID: 2079401027} + - {fileID: 1539916454} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &2104636343 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2104636338} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f58874635b9cec04c81a0c2355758873, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 442336510} + - {fileID: 152438700} + - {fileID: 2104636342} + - {fileID: 1279373909} diff --git a/Assets/Scenes/MenuScene.unity.meta b/Assets/Scenes/MenuScene.unity.meta new file mode 100644 index 0000000..e40cd87 --- /dev/null +++ b/Assets/Scenes/MenuScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 20a9244b6f15929498f67bbd87e3a6b6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/StartMenuController.cs b/Assets/Scripts/StartMenuController.cs new file mode 100644 index 0000000..1a64562 --- /dev/null +++ b/Assets/Scripts/StartMenuController.cs @@ -0,0 +1,20 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.SceneManagement; + +public class StartMenuController : MonoBehaviour +{ + public void OnStartClick() + { + SceneManager.LoadScene("GameScene"); + } + + public void OnExitClick() + { +#if UNITY_EDITOR + UnityEditor.EditorApplication.isPlaying = false; +#endif + Application.Quit(); + } +} diff --git a/Assets/Scripts/StartMenuController.cs.meta b/Assets/Scripts/StartMenuController.cs.meta new file mode 100644 index 0000000..beca2e0 --- /dev/null +++ b/Assets/Scripts/StartMenuController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f58874635b9cec04c81a0c2355758873 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/TitleJuice.cs b/Assets/Scripts/TitleJuice.cs new file mode 100644 index 0000000..8084a22 --- /dev/null +++ b/Assets/Scripts/TitleJuice.cs @@ -0,0 +1,12 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class TitleJuice : MonoBehaviour +{ + void Start() + { + // Scale the gameobject to 2.0 in 1.5 seconds + iTween.ScaleTo(gameObject, iTween.Hash("x", 1.2, "y", 1.2, "time", 1.5, "looptype", "pingpong", "easetype", iTween.EaseType.easeInOutQuad)); + } +} diff --git a/Assets/Scripts/TitleJuice.cs.meta b/Assets/Scripts/TitleJuice.cs.meta new file mode 100644 index 0000000..496d6ef --- /dev/null +++ b/Assets/Scripts/TitleJuice.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 04c6124a5b7364d4da5d42d887c9cf70 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Settings/URP-Balanced.asset b/Assets/Settings/URP-Balanced.asset index 83ee844..65bbfc8 100644 --- a/Assets/Settings/URP-Balanced.asset +++ b/Assets/Settings/URP-Balanced.asset @@ -12,8 +12,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} m_Name: URP-Balanced m_EditorClassIdentifier: - k_AssetVersion: 9 - k_AssetPreviousVersion: 9 + k_AssetVersion: 11 + k_AssetPreviousVersion: 11 m_RendererType: 1 m_RendererData: {fileID: 0} m_RendererDataList: @@ -23,10 +23,16 @@ MonoBehaviour: m_RequireOpaqueTexture: 0 m_OpaqueDownsampling: 1 m_SupportsTerrainHoles: 1 - m_StoreActionsOptimization: 0 m_SupportsHDR: 1 + m_HDRColorBufferPrecision: 0 m_MSAA: 1 m_RenderScale: 1 + m_UpscalingFilter: 0 + m_FsrOverrideSharpness: 0 + m_FsrSharpness: 0.92 + m_EnableLODCrossFade: 1 + m_LODCrossFadeDitheringType: 1 + m_ShEvalMode: 0 m_MainLightRenderingMode: 1 m_MainLightShadowsSupported: 1 m_MainLightShadowmapResolution: 1024 @@ -47,23 +53,62 @@ MonoBehaviour: m_CascadeBorder: 0.1 m_ShadowDepthBias: 1 m_ShadowNormalBias: 1 + m_AnyShadowsSupported: 1 m_SoftShadowsSupported: 1 + m_ConservativeEnclosingSphere: 0 + m_NumIterationsEnclosingSphere: 64 + m_SoftShadowQuality: 2 m_AdditionalLightsCookieResolution: 512 m_AdditionalLightsCookieFormat: 1 m_UseSRPBatcher: 1 m_SupportsDynamicBatching: 0 m_MixedLightingSupported: 1 + m_SupportsLightCookies: 1 m_SupportsLightLayers: 0 m_DebugLevel: 0 + m_StoreActionsOptimization: 0 + m_EnableRenderGraph: 0 m_UseAdaptivePerformance: 1 m_ColorGradingMode: 0 m_ColorGradingLutSize: 32 m_UseFastSRGBLinearConversion: 0 + m_SupportDataDrivenLensFlare: 1 m_ShadowType: 1 m_LocalShadowsSupported: 0 m_LocalShadowsAtlasResolution: 256 m_MaxPixelLights: 0 m_ShadowAtlasResolution: 256 - m_ShaderVariantLogLevel: 0 m_VolumeFrameworkUpdateMode: 0 + m_Textures: + blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} + bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} + m_PrefilteringModeMainLightShadows: 1 + m_PrefilteringModeAdditionalLight: 4 + m_PrefilteringModeAdditionalLightShadows: 1 + m_PrefilterXRKeywords: 0 + m_PrefilteringModeForwardPlus: 1 + m_PrefilteringModeDeferredRendering: 1 + m_PrefilteringModeScreenSpaceOcclusion: 1 + m_PrefilterDebugKeywords: 0 + m_PrefilterWriteRenderingLayers: 0 + m_PrefilterHDROutput: 0 + m_PrefilterSSAODepthNormals: 0 + m_PrefilterSSAOSourceDepthLow: 0 + m_PrefilterSSAOSourceDepthMedium: 0 + m_PrefilterSSAOSourceDepthHigh: 0 + m_PrefilterSSAOInterleaved: 0 + m_PrefilterSSAOBlueNoise: 0 + m_PrefilterSSAOSampleCountLow: 0 + m_PrefilterSSAOSampleCountMedium: 0 + m_PrefilterSSAOSampleCountHigh: 0 + m_PrefilterDBufferMRT1: 0 + m_PrefilterDBufferMRT2: 0 + m_PrefilterDBufferMRT3: 0 + m_PrefilterSoftShadowsQualityLow: 0 + m_PrefilterSoftShadowsQualityMedium: 0 + m_PrefilterSoftShadowsQualityHigh: 0 + m_PrefilterSoftShadows: 0 + m_PrefilterScreenCoord: 0 + m_PrefilterNativeRenderPass: 0 + m_ShaderVariantLogLevel: 0 m_ShadowCascades: 0 diff --git a/Assets/Settings/URP-Performant.asset b/Assets/Settings/URP-Performant.asset index 5e53341..8650b69 100644 --- a/Assets/Settings/URP-Performant.asset +++ b/Assets/Settings/URP-Performant.asset @@ -12,8 +12,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} m_Name: URP-Performant m_EditorClassIdentifier: - k_AssetVersion: 9 - k_AssetPreviousVersion: 9 + k_AssetVersion: 11 + k_AssetPreviousVersion: 11 m_RendererType: 1 m_RendererData: {fileID: 0} m_RendererDataList: @@ -23,10 +23,16 @@ MonoBehaviour: m_RequireOpaqueTexture: 0 m_OpaqueDownsampling: 1 m_SupportsTerrainHoles: 1 - m_StoreActionsOptimization: 0 m_SupportsHDR: 0 + m_HDRColorBufferPrecision: 0 m_MSAA: 1 m_RenderScale: 1 + m_UpscalingFilter: 0 + m_FsrOverrideSharpness: 0 + m_FsrSharpness: 0.92 + m_EnableLODCrossFade: 1 + m_LODCrossFadeDitheringType: 1 + m_ShEvalMode: 0 m_MainLightRenderingMode: 1 m_MainLightShadowsSupported: 0 m_MainLightShadowmapResolution: 1024 @@ -47,23 +53,62 @@ MonoBehaviour: m_CascadeBorder: 0.1 m_ShadowDepthBias: 1 m_ShadowNormalBias: 1 + m_AnyShadowsSupported: 1 m_SoftShadowsSupported: 0 + m_ConservativeEnclosingSphere: 0 + m_NumIterationsEnclosingSphere: 64 + m_SoftShadowQuality: 2 m_AdditionalLightsCookieResolution: 2048 m_AdditionalLightsCookieFormat: 3 m_UseSRPBatcher: 1 m_SupportsDynamicBatching: 0 m_MixedLightingSupported: 1 + m_SupportsLightCookies: 1 m_SupportsLightLayers: 0 m_DebugLevel: 0 + m_StoreActionsOptimization: 0 + m_EnableRenderGraph: 0 m_UseAdaptivePerformance: 1 m_ColorGradingMode: 0 m_ColorGradingLutSize: 16 m_UseFastSRGBLinearConversion: 0 + m_SupportDataDrivenLensFlare: 1 m_ShadowType: 1 m_LocalShadowsSupported: 0 m_LocalShadowsAtlasResolution: 256 m_MaxPixelLights: 0 m_ShadowAtlasResolution: 256 - m_ShaderVariantLogLevel: 0 m_VolumeFrameworkUpdateMode: 0 + m_Textures: + blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} + bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} + m_PrefilteringModeMainLightShadows: 1 + m_PrefilteringModeAdditionalLight: 4 + m_PrefilteringModeAdditionalLightShadows: 1 + m_PrefilterXRKeywords: 0 + m_PrefilteringModeForwardPlus: 1 + m_PrefilteringModeDeferredRendering: 1 + m_PrefilteringModeScreenSpaceOcclusion: 1 + m_PrefilterDebugKeywords: 0 + m_PrefilterWriteRenderingLayers: 0 + m_PrefilterHDROutput: 0 + m_PrefilterSSAODepthNormals: 0 + m_PrefilterSSAOSourceDepthLow: 0 + m_PrefilterSSAOSourceDepthMedium: 0 + m_PrefilterSSAOSourceDepthHigh: 0 + m_PrefilterSSAOInterleaved: 0 + m_PrefilterSSAOBlueNoise: 0 + m_PrefilterSSAOSampleCountLow: 0 + m_PrefilterSSAOSampleCountMedium: 0 + m_PrefilterSSAOSampleCountHigh: 0 + m_PrefilterDBufferMRT1: 0 + m_PrefilterDBufferMRT2: 0 + m_PrefilterDBufferMRT3: 0 + m_PrefilterSoftShadowsQualityLow: 0 + m_PrefilterSoftShadowsQualityMedium: 0 + m_PrefilterSoftShadowsQualityHigh: 0 + m_PrefilterSoftShadows: 0 + m_PrefilterScreenCoord: 0 + m_PrefilterNativeRenderPass: 0 + m_ShaderVariantLogLevel: 0 m_ShadowCascades: 0 diff --git a/Assets/TextMesh Pro.meta b/Assets/TextMesh Pro.meta new file mode 100644 index 0000000..f9da8b5 --- /dev/null +++ b/Assets/TextMesh Pro.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f54d1bd14bd3ca042bd867b519fee8cc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Documentation.meta b/Assets/TextMesh Pro/Documentation.meta new file mode 100644 index 0000000..afa527a --- /dev/null +++ b/Assets/TextMesh Pro/Documentation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8e7e8f5a82a3a134e91c54efd2274ea9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf b/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c2ea2d278785aa03d590f89fabdb0f30ad0976e9 GIT binary patch literal 694398 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 E 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

Phf_!`cm)mjg@=!xv_%(czrwmNh&_ z!MvoJ)?WN>Hg2&{Hje7hwVIO=SAnMQljCLnm!>xK$Ddc-CzhpK?zIoXdoBtuSr6dV zQ&vMrGnpe>Lt6T)U;Zp<$x=_A*;Y3Cwk&tk*X(1;n$?2&@bsB9tEDQ>wI;s-Yr-CN zosh)UHX3Ml9Ui;15}+9gE52D^ap~ObI>^)Y)9lQC{R!Th+~V<6CY*QgZsR~Nc?2)+ z+t)Eex-=J~g4K?5WDc4t4dVGY*YH~3cj70%MO1(!Hq-kt(&qM^DLhV0j%|;;$|{Woa;Lcpkv@{=;2v1YQb^)r-7pYLus;{H1(h zT29yyS&@|5xb9r=;IJw$y6&Q&{|Qb@TOg{8 zS`tu&8}5M22tebb4Q(oo5GayFc`kCohhVn&C7;-o4=#)Q<+=Lt@)@V>#i?q%l>)* zUIMAqrET$89PSc-d0!`cD^$#YU$NICrPrIIz{+l721dQ2wBq}&qVbLH;#9zat*(Fb z0n8)~lUnixG#+}bkc5taCCN+EN==zljhp;ut%yo;CTj9IHF&e(&d!ft^Wku!+YQis z#!$=(dYdqP6dG zSy9&@2Ee=DN+j_;AkWOI{) zW0Vb2L8r63N93M3IC3+VPwh@@Lsfv8=rRcoEO&Z?8x{h4`s-)H1~ojMCMZ}ElB5UzAjmsA##vf z{(B;{eUHXq>kl1^i6yMGYWrTv53}_!QCyw^h-9|1p9zo4A>9c~f1*sbbcng>`6nOo z?LpB#CI~#Ej>Yzkts=Te>C#ZjkM`Fh3~~}#CG9+FD~y|WcH(`7dI87J>mvL-ad@K> zVK)PlCaMdKLf|EcZ7Y8c*hn!U*TPCPp-l>EdsR`IT|8-w0~9}qM!6eH5e%B*z!B@t zB-HBTxq}M?&sMqo@t{~NzbzB~^k-ZrqU`Z{&dd4YBGN@0CAjjF@U|EX2AHfgx`Xw9kLOcfw!Pqg%Mp(GN4|LgYrR*JW*7 zH6NyAcDhFKofzURn{FW`)iYPiV&eB=FTWX1)E?^n0lwP7W5$vd=2c6(PVdR|G9L^( zOCcbi^x77^lN!gL@oXT;fA+&kusIkSuJw}bC^;_7Mu06=l@$`ka?bB7itJ-TMI?JJ zAb`d<21~|A#=W_Q4txp+z-o{xBVs;I_N&J%H8KN#gb&%z?d3!9te7Rj&HI z#S7P!1|~|jonN+A%_5szkyN8;GD>-OZwQh()qX_B-u9hgIZGUP?+2F&R49a|b3ZxOAl8~Acgi_?9qUq(*YQ2J%Pamg_ zdb(;F1X-TGI!wD#^?kWi#hIVHzHu4U-t%sC6;FCp@448h$%CZ49Wy?B9`n72Lm&h% z@EcT7xG;%*7V8nVX0-|}nXzsbGt9#`G`*U)yas#xN5jYdmKsqvwG|hiKKIv(kEQKZ zrk2r7N!AASG}k>eF1Mxg36w=^YSAT0mhg{9S!+g6JBM?o_Susz8}e>JZ7 zLp}XWL(9iD(v;d(_h_gVWc~Pd)+RaTlnDJcNnCBDP~MO3%fhI_={T;KXFzf1V|8 z7$s}^spMZfhv?7pZkFLM>Y%eZ>Uvr-(2dffpbypicIy%lZ;0wu2zF50HeV~&N1=zE zK4N~U$K~>5w&;%blN!0eVW&i*2^Ex}ntxk(EQ^sOJc^Yrm-=Wr+1fgIKQudqFRYe! zz3JSYOGeIwCMDj{}k%Pp5U z;eE4YsXBT`-*lWE@jqwXOjZq-FHjs#G8v*aa?zWkR~Go&z!c>aJNhz&9ToF%%G}1! zZ=AB|`qM;g(E3cOpEyptND9`ktxLYD- z3RU(dZwWL!&Ju2N`EDr@O1{7P-X++jTanPA-DhCy8r`}qsPpgAg} z{KEdn(t86HO4Zoi(q&;noMCZ-or?A=uyeQ?(Rz$UUIJYx{MI?(^};{x!`tdA{TAAXBaMmUAEL z9im8&>Bj@V?;4LvPtK8P;d$S6lr$MvnhV;}%*rJBxzJ$ zgKCx?bO;Fvfvo^g4=yb%#N8#r-aXM;t6m=}n7DdH2N8?(p0U6B+c@{+1B!^>{4!L4JW&D0StdEkpR+pjNABl`1gJHBf7FEuW;q4KiAQBM(Y@+midbR}N$+r!$ zivmtLR&fU#0rKWd5QE(KQ*kc ztyNgBbppl$yl>}>{suEv@?<_ot>!`Bt%k?cUKCzr0 z(Wb`ZV!Q1C^l_c#=tXy2d z5M`>MK`{smzML}ZdIRs~=1k8=ymbyp!_LhG`g_n(l0d(gl9B?x9023AwV!!jw578> z;;JUrFIi%&xO;GPbI+UC(kP-hO-kq4nVUBfxO;H7;10opYtR6J-~c0AXj(?MRKZ z)tVOTtcFLe0c%A=#HdSU^X3B!z5|ec@eBUaulj0GNes=O+uG{e&K%_cEZerWzW&GU z&nGG)u$?~86m_%T_P>3L8;Rl30jORMGp3wzrgQ1dbXLu1VUH72bMt%F_`24fKN$vM z0^1yJx~Lz;BOrkRKielKCjm)M(~89xQHK23os2s~R_nTwL5M*NcWy4~^=r5W)EK8u zz1MQUK?eaQ;Ofd_o=mnTKR>_Mx{eJ3S;ckruowcwOf;CAzHp1ef&u`+3{{95bh-WE z`dxws+cy1^s)j}=d(HYw|EYi*N(zeldY#F^sq2?=>jCDWt+dJV095K*AU0^q6&V>> zEf8ytngZ7KfyoYA-dwgq+ib3&?;V%{W82OG>58xc5|AiZ_>`|b4|KE6h%SVz>hWOB zQTHVU)BEa?Nesnt($d2O z%to4NhKE5M;V4R3gZOeWhV@u6Bq#H+Lz``~-k%SK*y*n~Ca#T%h6!>`{0Rk=Op{n8 z@_5Zrv5Nxc#U!kMB?r6ccN=o(Fy79KspU`r#5`~Uav#6C*p(5 z2-Z;$-ioKNCgIi0m(G3z)Wsmx&3CL|U9nW|_~FIa=;#mcwp{7Aptv%1$7~Xi7opUY6hLps3GV?w|8QJJJoLBkx<2;oyX9W~gw1;j9A-w$o5kP*r1xC} z`}_J#o#{pr0QbL?S$S2paFSEU?HgXCDc6G;grFy66d8FrYcVQ-N3WUb{n6BEzI5;L zwq#`Qrjv)vLwjU6RA1}n=4LbJcVh|9p_jupH_hS#MOjP==&;NVkz>Zq6OrH}U^^48CJU!p$8I3-!NC8Qbo@I{=`%E7iHF z)j=RIq;l`g;&=Ko0P64LjG`t#J3G6q44oxsa8R~%5FZpoME?dxDC}F${qB^#B&269 zZf<`mA_dG)S4%9pk}D~?83~4s{Tv(|TwTwy#X}bs7kjfBowuW&9C?n-RM;$0)*mj2boAQUg>n4b4L6PXa@z^v;~|KZB_8|Djg? z8)ox2%;x`Cm<_++!-xMBh}xf}|IcAI|1S0aGKd;C7pJKS7Z(RBC!aAdD<3D18LP3G zsW~f;fYC!vb0hPICg$8UD1e6bpF`CCi&^|Dh}vJy>i+_m4d<_7HFLKz7gVxxH?!4} zumX5GXDbK$M>L#Vy#KurwZB~OzjM+46r%R;TIuhJ|96C_3H&|o7(2MSJfiv44ncg| z+B*w^D1Ss_>EiN2ke%J$na#-5!Ptz=#KDf;-RQ-C=$TDTeoyRwnZ2Fe|8$14i=-R)hX3jdIjecRFk@FSb9QibGBJ~M16QW~ z=ZpT{Q~Y^0zaRb&cjsbdZvN-z+#mT5$?pUC&y(LD`6Kx~s)c!2}-{a0- z90h-GE`s6?whm6u98Ap~(fl?*-nR-tFt~vRXyo!+FaE3ge(l%1Z=klWzwPJa;s6^v z=l$P5l4$*ZC;21Ab9*Zg7r)_6e+?nOzK-e(BNOm_{{6_J`A;JYH{ZWM`uDi=Td1*% z+&|_}39~zynhUD_gB2&t4&v$AGeH?EXArO+_ep+BAYtZg;$-#WzCyvy-}b3UNQt0; zGwyp)I}m~*D1Y*MhnM4zaYxL`#aYSBN!-Eig@Zk4H&p!Wf7BzpgqfR_iP^t~sB!WB z6^I%y?>{4!?gzgA3PcSUqB*;O9?K3Lq;D6r`k&uuO;gNyI5DMUp{Mvx!?62+aGZY*Y`&|bVDiV}0v@1Y z)C3eX;H1IB|GLg^e~|wTl!k(e^*2QAp9%*0?*C@sFn7M3nl;6eVc1Slsb$3y;q;vC+;6Zs=Ve^JnW^&2Yee}RJb zPw@&UXo)&Xs#*lEbg-KSrk}_uVds5S$D$AB`qV3Fg|A#LX4^yB^8&Zhs+VAY4aZ&z z{^9#98o0CrLe{NLW9?c`gh=N6l7f#JMLUSeiEKN3#0J_1eZ|CEif&$8E($oYSh1fh zZc7DAYeq$cgywDhy!J6gsK9D8@M4Pwd>mV+flu3MU?OxHr8bY2kg=RmOKuhGE^91C zLrk0u3we^T`knLW*?E9kAe20TVQEHfjhcIbCvB01bC%=ED2$cmT8L8I+fITSGGgqIpn}LVY zsa;S|kOE~;04EF-JXDu(fLXKz%}6Tnzg;EkaQblY-S_He%aU;JD{0Hs6hmSXG8$Ui z4K%sIt}Ob#BV%q&|0qh|%l_eEKXdb+EIh(uLGXwKYtnPVs=(mOr{TI$ru&d|Ya)A7 z{bey57nc)o;TuX|m3t-&riLC)HrC}ogg}O;_JL=`wpXpGTa^GqnOp$8*`oZ?$fCjpXuG>~UsMZbetv##?zqUkrKU+}!=lpn^3n9~r>$SBIzP`9E_fXo z$vvshmS|yNmimEShl#hprCLZ6`2TFfBs4hq&CI7}uC#PMFKkF_^*PmnL5-A_lw2br zA_^;p>f9~1Ub0_mjH#QiG=jCaDYntPURu%xc0i}(+m6?pP3*@uL@rUjVE#>6J2*5n zH)G8YYjt&V6ThCVw4`LHSm5m9^ss51_BHH7;COghiqE1B9A{p^H`va1iH!F5OS`Am zKPr3wK1@JJWIo^tc&Gd{e}dpSs@Ls$NF?x<>C)&>x_7}~Ql@g>Jc+-&bjOqHED6*K z9)>n&wmLmIi8coglF$1~8r?q~1|~qX0w0txRjg_k96r4`JJTbt{?JMed7OS2nD>$u->(OrSz&oH%!j(J*(KUnyWqd@$~L4etCA@0TW_ZW@qtjtgDm# z^=esaLuDz4H2+D*>gxG<*<$IV=s*_BpvCuZly^_9jkbdpIt%(3%Eb?Y1Q&!VnTd@` zpK^S6&N_PRtjgV9{lRmS+1)8;3$9OHUp-1CqLidl!0w%{Xn1(I4C$~)ecq?K>>7+$z!wN3$ryfsQQAg3g>4Yfbt=X z0#nSHay_B%Hr7UOz_J#Tlu89`T`*JGiAYVkdU<`V6K|NFD2R)LQ+ej^^u8im7zr5C zQ3$$+J?ywV4!g=szmz9o++5yV$ssW+LPDhKYU^GnoFdc|2ENY7-GP^Q7_aAMqx%MQ z3M(EeCl`H=7MO$ZQ{qN^MoESFsNw6$jc654%!6dyyp{l)c!faOGiHZCP(M@2^NAW~ zg1J(@E$L=Ea&VB4eR+|NovZ0Zr?JTBg_d5G*M+?jOw>tItmp$k$0>Du;v3KzSyfea zbYZ&JDdkY>oPfp@Fg%<)p3U`bckkoyuqhUJ-dJr9e413(NnCho$$5ctcYc)J-GS|V zG~LJx{H*B(%w!Dupo}454*hjcFb8O+mgDi`&3%ndgBWXOhJ!*5P1cnrX}--7SRLUl z5*Lh7g$3=`9oQsbzADi)Zs?(bMMXg=Ez|t@^X9spc<#b;^4b^*)%OJ+sm*uo7I#jC z+#A`>gANjd5AK7jlJC%u9HTgjKY9y{pTb;C3-qKQ-D+9f1Ev2mjJce*E4BRd6@C&8e_Bu`SaOM z@Ulx3Q3p)q>({2(r4?F?DUlW0btt~hs;Ap^nW#ejR=}Z}P(i^hYIB}GMh4ime0ca- z^8`dmk=jS*=%b^fE=ANB-c>2G}YzfJ5XEY@=6IfW`~cU&A=0W;WNbG>XBww8`8z{S_e!Y zNB)TL@STGLUU&FKdId!)ocgBN*jOz@*h*mfvRHX8Q2F}yie2zp{iV;ze$qj44X2N{ z?OI^(SF&Un)EP*mVL0-(@|?h_G7|yGmG7E3T*!I@p0X2(2YfQGqbS7STVU& zr9akd9IdUb`Hm`hiwXwzrV5;Hc-6#^>&@%BTiCa4#366m+M|3=k77opj*-y! zkP>{(VIx^cuk{ruUjd6)OH(c_1%;?dX|XL8Uc$<>av^k=EC{EydoTj8iwzD$x?~?d z;RzwZwf-nY?;Z*|x~sFZxa6CN{KCTi`EKf_=vwWv$-ynCN||+f3)0bL;zn4L^thOq zkp>^v3zovS0S>RB9tZ51%vW@%=$epfPPpX_ZaUqMle8lbJ7Msc-l2$Sp4h>oqPXI* ze#NR(0mF6Zdt$$GI*8w6sLhYSo^lU{ppRgRwF5Ou1B|0IJXG*?D4EP?kn1S*MKl61 z#N(hC4hpGA8dAr|xZ!ogI=_$Y5W^`BrZd*cVDy_BqC%=P#gE6YQ-y#lgzQR)d`dFUX5AgIq*adF&t##-!-iKesM8m$_3`xfQcnA>H|xf zxZfZ{MsWfp(^BvuhDa>R=HJznnd7Ocsk?GN9e9TZ<^wDu71b&*^#XWE;DrSy;XVRx z%Vb8!Is{v@r%0&i1W+^ ztOfw{y}-iql+WBTqJu^u84)##6qvGGB4i}xeB>8G8H^-HCLr^p5Oz2GuI%JgEtU=F zdaP`03eTRIJ+bE~$XK^Y*^TBQ1lN7Q4IY8q_7_5U!NLGwJ#OS0`80o>*HZy%h{7YB zwiB%U2*8aVmj-N6OiGd9ppuFTc2uVz&bxP}FYixRHH3b2sn$7RVnL&dKeT*{A{|IC zD7Y}C9M-X}LQ@&0D%A<|suCAV8efgwJQmS#5F)%KQwb(Ee_UM!u-+F1rRa<$&++l` zp0bJxP8;?vF_{}6W@$!~zP>7?YmNl>humq*`n=B%I&vb$Fo4aVjf{|x5DRPd;D7=f zTUlHC<2rCx28=nt?rX%r#H^v>BRW--bt43IffLxPUHtkECP4);D5RE3!VtRi)o`p^=)$?T?4ufgx(djFr*ysPo{#~v@4HP4WdpR z65b)km5&n});k7gQ^cik-w;o!$Td;o;Xv~=m4=3Ri9VA0x8_OBPF)!-Lnnk{D7*49 zsY8q=W{=5#GpN_gxqURrbB;BX7@ZOuzjPSKa|62yZJ^_Y9QtU^Gn^ zx$YZlB}cx8D(b=!e%dWdgc?*Nog-;L2pt};PwBHJ-Et)+&{G1^5y0p$>uC~EAcSWd zcM$RZkxR}7&V4RKnqZX(nEC~lZeW>#kf7kte&6JNp5#Ku8%z^pc^*zF6Jr;bhvm)l zw-#|D2j<*tySt@1Hp1$Bam0+Jd;Fvp78dbCDxNTp8nv~bvZKJ~K@!PWL(^yiH*v6( zvX;J!SYFq|KN%L;Po-vZk>IYnIllfPd%CfC@pIWBr7cq!(*zdwn2Js!qyvjIoZjDG zGwNoSPX-b;y=n{?f`(kl07LiS!2_^BqB$VI9SbK%%rNXt56l*`YO6_uSW<)Xh+hVdX6&{9x zNW;bJj24n5RxErNaa+0ssOl#@)qv9ZRZ-m`cXEfL*I$381$zdpu5!>b*d7df85jxQ z=1uVyF&)Z2{fH^)TApwECRE;?#k?-``s*@8+Xs0o* z7Fl4AZDZ)?(UchxiMfrgU@dROs_h-tef_-$;9v zNS&`)r*9`c&a4SS$BY^CUNjzE4!>MGOI1Vpw>BSugKE4H6d59wiwpwpU5|a z*s@jHWBOE>yM=}o6y+v=_s}`T-P@J|x>vW!KwY;N^+ImoG*LU^;MHOw7 z;bjVcdO@u{cf}A|>V{tq{7@$iRxoHuJ+1rSvxW}Y0t04&rwz^q%t2CO}2Ooedq3?kUQ{ymhUK>aYnqNKpJRwj7;9xS0oum@zWHe$~w$5-5*{EYj3&V#Y-A*l`)8 z6}w@6?`3y+7+xl;tH&P3&DxE6nwOEd3XgxFP&E0JU;9l@(AH>edZHwM*1d@^fu~-e zae3Fq@G;lAzMNAcvHkYT)Kdgod=jsbq#EC@d7kj1x^j^?i%(n^OB%4|ibL;ej&^w3 z+d`R@C3>rku*7peA;7u*Dh@fK02kF#I*p6tX0$F5InRoRWwX_~H~Od*{av97CZ7<* zzH)j#KN{wlwfSyodpb9yAtzUnsDGy|>xTZep)9+!u zVY&honUrvCzw$P&$@7;Dt=gw{u3|U&n0xL=3SF_nJ>AnW#*XZjfj}dM!>?iLLhw*R z`Zs(iWgBG@_2kr+-o1bSF>09Nww17EKBz`3sD2nawRDBS$2=Z$E=yx)syVduw7dQa zd+}y&ucf!9arG=h<3WW_=4nNO%beULdn0^(K;UCqfgoO^%!f5A2&c;3!3}x=1@Hyb z`F+X)yZ)j&1yye8q!<;mNvfn7w~P%BB-ET~_3)qMbzIV(LZj+JyhSK~b;EQ7!J_IB z^sgVcNZ_W^%Z;h#Yb0sSHeKbdZ>5zFRx3+~_bGGOj!{+mI zNGMI0%UB~yaF-$N;@TWXZP%gaBfAH^pB&qV6sJ2W?HxTXyL?SU3^C(*B!5j20T;Y* z_$m@zh$)xA!-o%JW!j$N!mH+O53D)8)}FJ8Fl)GN%<+1NBKKuCYKewO7UA4XLGMSNs1|Ck<;q(>+9=~U zxh}(68015ZHJ&gfBsCUw=qrOBM;@{3)?&-_TdhOLR~oS>6^>6GP9npnG{35Fd3V6{ z0RCu4@UP*Ns*38SN(CapeCwQY1ku8g$H{ynD~dZJyN^_ zoHWK4MG?E}g(m2@Gt%0n&kuKb8k^BG+|rxP5K1zG&%3oax0opE2;VHo^^?ULCdpcS z##0x1Gwtzg9p*vZSKSfSns``k<>xj@S*t7`_HdM4M6_RIB>4tFnjXjLg$=b0sOZW< zZoI7L+dWVagrGm*6=AmMVWWf?iv4=vh}OjVsY!qu+HF)hcbDbVYD_Kr6NiWz5Lngm^kkAE(3<$aU#bRkp~W!JvSxh*Pw`E|VaGr~|MNdu)| zgNZzY9y9%GK&d&On(;t*aVh$~-(Co}L$0M~um^$E#I{3;XI2#=t66CQtqL7=dNpoF4_p>;cSOu@io!Yoag}qwB^t`rx!jf~2ov$gnX)E5j z0~WwDkvC1g@UmsEfD3Q1{mnyzpGWg0v+QlRW2bxr{;(7svn#Eh=s!J=N7_ZMejG+Bid^8iUCp48%2uxt zjo}b#Zism~4aZDHKw9W9%9L8=;0{q9G%CE=7dz0TBN=Hy?|_+!$AK8y;w8YM zg}|5T9vVWEqBiPQZvHsnt6Yu2Q=qidfUk1GlrnB+;0Vymk18)EPtYSHX_vv7#gd#3 zu5u1C*$&^(42O?klR6M?zbkYQ@w>WByz{=@d|Awy6=0~Dku?JKAf;?*&`Ir?)E@DyUB2FRs zO=23lg)G`cPH6bnIWi=nJsN`meR$NJdZV3^5-9PyX@7d`=S`@?-R*SA;i1o&#@K?Y ztb2^{>)6eo*!h`3a3Q!x7<(4hJ~TQKBFSoqTt5cL(ljMhhJHvWXKG8EyJdZuk+Jl# zv`$T)i?PJ6%xnqDuPyJ{aOB`1A`RJuy07(FAx*JtB_0y|qVGNlkY(W@aW3*7aGKf( zZ?Lx{(gNhMpJ&*I=j#N24__6@UPI7W>{VGMs>Vpc6UWxu+s^2ziE@p~IKXX?wUyU- zO2Dqd8qSbi7ggRo%H?v(3Rh((aX>cxjLTKOV3g6d@7+%;J^s)hLWY9GbZ48Wrf1hT zQ4Uva0)7UKdSlr%qmtfM5TtQv3`=;+}YP5Z`U z=J=wRP~o*;bwo$Y1RtuvB+Mk9>NoNPA(;*H93t_wHqYbhtn-aY$2o1&RQI8nrq^iRlSn3K-V&H-8KS}r=OWUxk zH-`rKoUZMI^?A;@VlNrRYoaOCWQY9Cd_5(>5t?CmuQ8}> z=CKi<_qDJ0hO+y9mCa_=>A9-=6<_s^-P{&jQr(~PAq zC*+4dYFSRaIycb{!^Ui^>SU_*+}8N4$E==eyRJ!{ zj2m(T-+u1qwc(|D29yCc{liS<53x9t?;amoFzcqi~PB;goSP@G@F&ROdU5r2f()Wyw*RQAkRqh@Nc90gb2s@&oUiGEDqOn&&Y zjithwe9Bq;?FDY}CbaH1fK4J9ik8(XO zIa+#3R#+XUH!k9d*5A^jq?>1BO}ro{ulM==8rP!c*h9TFMV{C5r1a%BD(q4ew$G)7 z&<9Bq_OiG|zp_PpH#CLoo!y9wuZ24uKkz#bcjv-I3yHmksq}Y+e~p5GV3J!&X2=Aw z++4s!ozoOs+l^b!0Wxik%<1(8*Haki5IzZ^ZW-^v7Qw} zup=Lf2%e#pDAso;D>!2~3|;V}@(K5f-1R-SOvP%Id%eQQNIAj%)?Lu%%bg+gHx!hi zG3xuT7H`N&gy!4sxBCntvr?MbWInvXh$1nIGyj~Za^z+Ay!!JNeVo!QFA);gG&9XH zrIEr{YjNVQ;^_7fO$X^oir)C_Gu*++y1V+3O|!{y9%;3Djrp4fK^&SU>~%O>U&VQ+XlWV{XX zy|9vS(a`!p57=?v1D;_JWR4*&t5;Sbsc}dp7R_!}>~4|P)u5*&drE#FcsdnEyB*y5 z)_u9g_5u;IZS~=dXZnOwb#j1u1WRBDR7$URdFzVvz%rzx`X56@!az; zr_0G`?t;;*QjfeTFTK@PM(+vXPwPSbI()&sAp@bO>7&zZ7m*I$q%VC+f|wtnF>)UU zykPFUi_?~1@5O3Ka#Pa0W7d=z~@D7qC(dloDD?$#g09fo9f zxK^OqD~c*%{V)yIhu;_K-R4t!q*2SA=n^hUy7d!~2RJR-tG6oVBgvyCT(`9gZOVpf z#`jlt&*JGwx@D^jVS>TyEGbYW-7;q2;;IGCIc+7EQFgS zU(D^Q$TQ0nj}_m8@E_G#r}ZuQin89tW$`(#upbl=Yac4sJ-pTK%KG`$o98LfCu~n? z1@t%A8M{cB&w~+_o_5hbN1wuF&DU`L=_Rg+xZ7l`_2Z*LjuY`TzXctTVKdX6ffi^%;ld3}T+ z-qHzGxYECKkw(e0q~?a1T?Rv|Wm%e-v@5;;OsrPjf2QjJ*L1|QOpMpF!sED}YK0P8 zBr!$i1DcbfQbZh61B|el5N@;n{eFz|4hErdZ;@={EV?T@R>SzPX{WP=Dva*A>i@Tv}QibqF-6{Itw1V7t1k?G0ZWv zYpHY9qAOe{#Xcmx?4^pDsziF6u&u+CV0bR~GZKrqIc>(OnWA)b6t8sKYW1D>q}5ZF zx@Vp*gSwOp)5-~TY(finY`T+5v;-vIX{Elyuy4<8@DfBe7O0MJ z_$KwDLFlG>EaCA8L4T;B7Z!Mr*{E5J%0`g()X+HQX+BfL!q3QFW2?hB+I2XZh=vH5 zOgX!kXe&9;JzsNQUq9%BlH8`(>gI6{6Zn+6K8FUB8p0c~UBGFcg25&g-pq`3Ra zuZ*S9i@W8e*PJjXCp1a2C#J1#K-xbQ-Eo^{sXEJd$akmyjWzaHt%*EeX}_`Z3{*=J z$8o;$Nm!GwD!@TANfIWYBc?SSvOQIcuui5=HBqATc|VTB_>4}bp3aI(mUj%N3>k;S zE)aDHVkIm_hWao$hwgn5ovWZ^4Ws2o_EtF4G)ew53CjYGX&e{>$Kd6RjK`M_+3T3J z8(3Dm;v7{S&bpB2i1#f`1P4_f=7k7eq*=MX-8J89U+w4` z@=x$w&~#@M@Do~1p5o2Y*f~YL?hD_d8?2LYv?!|QnUBktXXja*G+iV^_N^;SEhJ3V4*^m%OP;RMz_U_cc}DUk6BoVLcw<+n@(xj(V>PhwrJ9<(PsuI^;|i})q&NMf zF1{2+*`CTLaK+o5<1ww_f8dr5aN1<5_c-}ZLti<3L`alDhOY23YVG61BRTn58ro=+ zYbS_76uEaFGFy%KP+44OBuy`CnLXagoG9F45EV1rt2xk|knWq4HywekC1o%$~Flj`Jv|V zF@8~oSwy?c8KKo04y|sE^w9A9b9JXTu$gq~0x>wKBAAJDM-IytXnxofCtN}nu*q)O zrK$x)N+r`+uslvG5G)+Rp$ahH$RFR)LqibR-`~$lfXYBH3|N%_S)PB8m z2JHsCw*J*_>e0zB*j*abQF9~Jn06!!+edBvl;<3t9Ug7fH=!=dIK|=mbjmw8tLmin zAh1*oW~@Lt|`&mUG$pP&n<|2<%_94&EOkn z+>8>KW4&Zun7D~!6}JiIelIMx1OwQAj4^aL#ApaL^WH7!Mus)eH#~xZ%n3+6Cqm2L zH}^{FdmriBXJ#&$_czRi+qqeX#`%Ps8c<)s`mXtlwhs-qtv|sxX!vpwGc3oZyM2C{ zOxfftwAA%vsHVIAWMym%Q#)3uMd>`p^s-(?I8WsP5I$0MUqdSd?msyq$qW3wd5}fI z+gRILR{0_c2ah1l#DTfNY?&<1W&NdFy)FNSllr1%&XAJx~mbN=PoZCP#km;^iQi1S8)$cQWN%| z9d@8RewMTPg*`SqZ%o!$>Y|Pf5`2u}aLID0t?nn7>NmNb+RUbkv|2G`{jfgd)*zp( z-#_|)s_LlToY`;6c#kNweX(s_0;1H5)VPx6i#)z4=;?~w>|Kd2&ir(B+tg!mH`$~t zYnmO{8rx39@Yu{8?Xdfa9+*BaZfbQ`%IEWh)ALYtFHugORGO%to>`xeF51#Q97>r2 zpQlB(H`g$l`T57PUGaF&)lXzlq#O_NY^iPE)fP>?Vkky|rq17i4+406nUq?5-d?`z3si>Cjv`> z^ERRmFS1GrB7sVs0H%md1>JR~#fMG}?1p=8GBPMi>T>T+-?oufw62vjo_(c5gH2x2 zWNvBKbz@f(JbnKaBlz^_%Lt-_t^tIyS$+1dH&oq5NQL=}NaLVK$gR%iQ2IuMJCrbQ zuQ3%K>bP-(X7mnHRoV(-QaBz$INAiU+%<83(`4@CbOYtPyINgdTu2*j{4he~;hnxO zpW2UoiJv=|QSH-7&buQMKzI%m|6sEG)vH&1L4kD)aYg0j<<-@(#++CYA(qrV##Ndx zg8en8#D_#Wafpf<8ZK0IEK<)loC#N&4vKD%9gpQJE!ot(9hz>v(R|`_N!8pT$8V&GYuCRIG{!wO6cGsdr*_ z7Ev@zd?+#k{;@Pz+e^dEr6aQA)G|ANTAsg;=9IZ_iAVpTOkWa~Fkk)0+#BW2(Il?t zT1U3t+cmA^%@Vo4T^5y^pk^MessqiM*M*~UX~$(@-z~Ka7ygZL$d@l)fN@*N^oKh9 zPHFIvaiCjYNowMg3})QtAF95Vn$ixAcMJaQ&a0#$AOpinGCoJD{)YKeOQZ+`q2>6pmq`^4J7u@nyL`dL?8>`oSLR= zzxp|;L!*ancFhuI{5*3ZFD-ju=HqG247xp5R=e*f1AQrEo%Rx~)S(5_SmrsyBcu2P z1PlxeTU%dpn!R96kpEHDZ#AcEW!R&kr>Ca!3JM7D@xkaweM-f`RGOP!x=t5E2{%2cCR+Vm!31SP}e>nfX&tnBM^hIva$lr@nGb@tI=Jc zPmc|Z{m$?1c$8W@H5E;ly?ROQw#wq@n4J|I$XgJS7flio85#FZNyXT>gEHEG0zYo^ z6D-{(y&D=8^yZocNeeP3Sw^K9Dyqe2OSAXbIN`l|f$$i8g~ z-Y;;xeH}Z*m|A=qnTFph+$FL#k*Gh2S7C{{gc?%^f5qq(LmDTK z2*Jt`!b7E&c!^i_MF|p&MLv#$N*#~sCGlK5|h^4|*O zKeSx`5Y7FcpcLcc5ai$xwm$?~-iMg?vkUNEB!t3|Aq=>Uhcogoxc^z?7w#;e~&x= zLI3Xu4tYqY5=PWGD{-4FMGZpte za=_Kj9{hJ7NB>I8{MSO6SAh4Qq|ChcFHio6<=>>t_Z`e%k~05OVBbrb?UYnCNcxqP zA0NfPZ+T7C)}Af)9+^$7(_fASTN_KFtR-Axii=mxrJwKIO^n2YdyQ4_+J;%Q?UUZXm%bB6;iKDw zrqxVkj8IDcyS>`BPsU+Pu>l%eS?6BVoF7>?7nn=HOmqJ8bbB;z@JqIviAnBAzoDTN zIQn?Crgx>-)`~7hMx3EceUTrj{!7W}EPa_=m?DSuk{DvM*-%rTb3(FDMep0V!E>uz zEj!0z?k>$?f=?T3-H5HNcL)2oiUu15g8WQ6#mpr+_~T#-Zhqe5} zM=7nv^NhXKpcUiNHv}VUfZ&Z3?eV+D#zr70Q_CzapHj0QS>D~)=+5jkk|TN^^^`3R zNQq`M%PN>E20jj>U|lj>mZ1ss-}%K={UfXz<}3`dD{&?xC5QshYJlGb&yQ9yByG zcmc0cRQtX%?2&Kjm$~)cNa?o}`&(PDtXXLv!M)HqWbaZs` zDLhs{MA5Y9)a168QOYnjpVED%OJ3u-)ackI(nd-Cb6_?7{g)VK8KR}n?GAqJLC`vt z2cM1kRc6LmfTd#H3SMdStF1oRso}z=V@V#QDc?QL!r0i@^npk(7`jTIndL1UX8PDfLZYV+om2}^p3lDO@;3cYE+~Jg=0ucsjgS`c3zvWjwkvz47^LG>h%BFF z4?{1jAOtJdpvQpZHLGn|k*Lx}$iNzORenj$x9idJ^3l=RgY`NW0VW;I&w(pZA!Lxu|#MC~<158$rE~dacinr_Vum9nH~+CY!1agrRS>5X$iDb=|a%- z_V&KHy>*Q38WmDPf&#E{q16f@!8WN+j?x$NzS0hQt68?tW6DH^WkBvsChC@kA15^r z^OI_Hcv!+QkjmHYhF!F@9(%H%5!ub}+;Bde>$HZRiHS)_NJllhvzT2(8xsFiiyQ|F zD>^nUkOxYTrt6Mx9Pm~Hd_km1hE*W@UB#&2}0>sKp?gxpGbG*P}Rcwa@6_wLD?a_Y>`mrc&_@fg?zrt16g z>b1_4I^)`B2Ys#%v7N%l$In_{sI##X!Ku#m;;ZOE{;ZMcdAJv}`b8o#X7`c%U+4Ges&Bmm7j*QHY^pi~SeoChKp=6C)}#Vk1# zf=XE0OYn+NjhzZDN*hS7gAtx9RULI2Uxk!|RtqOz$naojSy zj%IdONA;Pp!_h)N(&codcxCT{%fot#K$#G@)2Rd3T|IGvc+Qy(!r z3UexVJDH}WzGS2e8_b8vxEGUa#iFP#4E1wQdk7pq7}P`2mMR$;CR5IAuDc9Tj7p@u za$tBRIsu&- z+y;^M3F>DaUkDb0#^n6I8onXZk^gLWwL7!8C@9^2?DDk_q5#geGOC}NZ77~*eXr?{ zr)p?bgRP^xsaT!QC;np_}WUMopeoyFk@GSQ!Y7QB5G5_^@pJXp^!5}%Tx^}a`(jvN((%W3!&~nNB$1->_->mlI&Ax( ztW`*45BcasQuR8K&;I$8A8z$eX*U+zQ_LMNO5SgZkJhYSS81v=lqf3e&%f(Ez?y@Neg0Troj#m#gTcGJ2K=WZA_?U2q z#OOG`qmx#*vH1o}1~AF^E9KbX8YObe`pq65&j+@%@bFB1{_N8mf!|24U5`gd=;h@F z;NiS{d^S8J?Cce>u{dt1&r$fUZ|3Ad4BeTv+v+c9w)3}f(2(Hgoux;hW`{NM>B-Q$ z=4a)xz@IVKN0j5?rW)fvQ6>zet9_DW6ZfN9*11BXgl6j9ve!oO=QGSp zpX4h};g=KcEaoYW!j!MpgttA+orL?hg|@L*`7!RaySux6+wWKaJ#4K6u;kZr<1#WZv}V4Yb*T;w4fXc+ z{x)yToBHge(Yq7(BVuMAn8x1P+A`$0OotZdC&vgC{6P3bC(8XOpf8c6udh!ETt=Bk zDX<=xF9E(!csFnoXl&%~G&c*V0}O+eHlN5sP*-q@R#sLT8nfr;=K}*s3X0ipvG^?9 z+-6L<9`f>vG(V?WJvnjexnqTUk5XViYY=Ry3_m5NLawf3Y;61~sk1{bcRact>E?C) zm+fsre0)G}ck=PkJECJ`j2x$_y3ef;kS74B{BDk&XgC6x6P*@y9tmJIq9M=|rX_U+ zTJ~R3Rw7IP{4HN_2OgF1K!|T-xGkm=l^cLl3(uI<+4;mVj2k;oyt3PB=r_+53Q^yi zqc!nP*Z?QN^jN;QdWnR#Hjy;_GWBmZ8GK+_OOQX9mseC&U>DJoDF?8T;$mhp!k{;=tE>A8q=SSZ2t+`@4OUJJ5?<+<`1!5aH;e&DJ12h^M+FgZVFGIT zqj+k3C!M8%WdlzkJD?x3&Kg@J9+6 z9i;WyZbvd6IM#^C9hc*d4lD(ENudt|j~B$Sl%YqEM@6vWSSg5zigQh{sqCnc#4zCO znp#?JLe~!cPBkQATGDRyf}eoIyHKR_wh}mW1+Pe+#BLLvZ)n>>`U*FV6 z^mu5Mf7G}N4HNVF_Gg7K2S+fj>UfmGNaccxmX?-=MniM6j;g8&2ay(ozU7ulh_4P{_G*)jN?X=`uaH8(dm@bRM{3M{W&V^M0Zyq%SejgFokIT4Y6lI|K< zakIa>3*1#Gh=~V>hHy39TwEG;*|cEWQin%JQ{)Rk=vx?dsCjq@sQaQq7Y7!xWYGKK ze8Kv+1`qH6`!r}v4@uCiB71<5;DV?NSo0FM3Ox^`D})4%GfDmpsVfB^Apv_E7OKPxLslOTNbQHKo=%ZrunYvid>J6%lF zpOwh&UV(UHz(hA*`G`nJgg(l;0uv?tm0W9>#okS^L^wQCW0UN%!F%`KjE%)lI|hv$ zhxhdcmjJFyCKD&4H7VdbySwG3rFd7IyFZdZISXh+<$pA60E1|1D%~Nn0)otJ(oZC_ z@7@$sRZ#(aPr2VUGBLSk^x;zhr$^1pm#&Qqc0jO_>(uz#+S-625=-Ae-_?P7o|j|u z^I|~27R}H;60E-wxUQ(E?RteTWbXYMrmJ2rO#Itune#IaWqu|0RdsQ(a@q8@m)KmcB^_$TahhCKP+C$?PmhCK_0Q5(Z1jtC z$z%K?U0(rnvVWDXVk2PKd;eLu#02H$Ws7MAm_;t6)f(=bn=8{qFUB_zW8B7m++bp6 z_O0vi)6387dCF$5zj1Y53Xpejth4_00!|E>egcOpGQ=L2(iuwq%RNA`yXt54gvix| z2I6i`8!s;}2Zw=*>%{o7q`!z8p3u?q^773m;8(yMp?Jh~?=*X!5yNfFqdK=;(4H`7|km7WJ5@nJq7)iqr9YrBuA7GpQWc zz(5HpDYK<{J`oWh>J^}o0N+iV96lWetcd@#f(B;AKm^WP9(Y z@XI)pl9B*7H9$xX;5ao_$ZfCnXk+80d8mOw|C0e=M?^;Ek$Ej2-JG+|buMmhU}uJz zf#L1O#=NtTJF;&bSad|k#wKw)(_IVX+T7Sk&&UXQwc?9~zv?AIJ=NA9@r+YR;!Jv7 zmB7l%ik_W)hXsF*b+yptDQO)eD=T1wr%ny5SbBkZ*r&KbITMJNVrps%xI+PK@BIAy z)*e57N|-XlcyHJ@5rr~L9GIG$JLAAlW#i`V8+5%bt;^%xQ`@cim^u%yIIKXdyrH|h z`2~qztRbr{>>g(rZXPN~z$D07oT6A@F4b15)<1Q!4{@cIJ zR{s8C>3-LNX-(wjk|FF-Di9}#&Z_s%}sG}arM!RR@(hfL=Qf65^Kcu zg<$GSXnbM#^F%4GqsDN^y0q3LA>-)jYNk|mp2bKdoeG^Wf{*p8vA_rTt+m9*jm%`OGG%!cmD9=7LV zO47`_WO_W+{*mZ?iYVi-#;}VMe-`BEg19ryGkk#C)1zIqO9nmSeRurSbQu32Iq7M& z=&M?y&hA%0X`L0x4I99;5TC;sm>sdRKiv$V(0Lqve22p3ZUZqXZFM{+pBzdS=hs>Y z&QM}r;0M`mX_TyTq+Ww&eIJmfksA8M=fq4ll zx3ATi56>9Ww#j zkAScRD9gM8b}EX$6WviJ!w;JgmaR|491b)0IYW`s(8R`4Qr(Y>iUK;FmzQ@qo0*dn zhe_ItLIYyD0jtZo*y`7zp%}ZGV;upOmUKJL_VxxQCf%NsfUE-k+8cc48WJzSjV73Ln|R@^V7+RxeTV*>dSaY!XHLiJwKjl z-k84RqZ4h|VS-~Dk;4fH{9IT5s+-7R;7Jq)5PAyAmPC@oIoAcmIa`y#9hLWQ%l0;^ zm;t8N8<&KU(T%)cK(ghH9GeAOg^p#z*l#~>GzZo=xlvpH^ z@r%Y`SJU^;W`{Ku3&7H^pz?$3BNwLc;p^Y5$ayFpqgL%yZETR^_N}e0-Qx4@AD@!F zqB7tH7Ucl(XSG7t@c~kra)2{9xp!BVY-^uuqzr{gSX`t{PHOMMdi(lN#MzWU=;#mD zp{64%D=W;EYG%6|8@=lvzK}c8-n{w2Y3nSnYtQTJ;n#|TFgZXlG%{~_$9^ZY1$*93 zrFqb>0-U!g)nUuhh-i4&0K{2a)52lCWiUs`%uyRgtaV$`$Jckn_V{pYOqhIVpt0|M z?jt!bOB`lpQ!C=bS_NRwO?l3lbI zyvL={)pM-lwiqvixA!XgJz-M z;Y2y@U;T{BsT-$U5!e7B2`n86goJ;;S;oc1 z)ywmi&@b+aWjwrOUGE$7Z~-39f&W6he88u$DDY{@E$eJ!WBs?k%DK9D0VbP3OTYLg zm-BFS``gMt=(#2Q3x=p}W9?w^w^af36KM7pufQeE(0>GpxCBHM?t3X|1CIJ_fV`46 z&n*$&U+O4n^WGBS`H{Z_Ljl5o3Oc;^E^AzRZiile0jlu+@_gV6-!0K!sMgWpxyAdB zTkm?fT4~#O8FSy2SLD{Qx$pIh0fU?=_pjCqK)Z@C;ErFLg#dZsOP|$Hpd#-r;Y;H` zDB$ByiW};BN#`vdZf!3QZ!51~I^}tbR}^?z4zR!N{0~csyMWEaKfSx(Vr?1o^8dhP zZ}IZ~=qix@cr=h+jt!{kKi>9b*DhcCCAEL{a{Ze*ys$9O?n&~=}MV~8XSwXn4#7{)H>e<$7Snl2Esnf?B^z;nVv*TjR;%9Wnz6#Wz)f6=bE z9apUH?{Dw~g={$&-b-DIOSOA*63p9)!IOiNqrhVv*BjG$&44HEtE9i+jke}jE$RnC zkV^Murq86kd=F1oUHIBww6>$YiOx2MMngE6E+!r;k_({S3y!o}b86LGCqiC~w&3a$)dl$a8pwmT!ZM_L^=j^2sN#};77 zJjcf%3xy7vw+m6v()Y4PecY@Wrzu6X^jdWvw}P4umFs-fR}y*f;!L_o`iMlZUt7|h zR+1oYMbpoowQJtR))4(bn5xiC6tWMO`LLdScHfTFk<%G`_x=nHH%DP`aESC>`itxd zBdgZCW%viQHoShlcaQsYTt3O)Tw9y`&U^D>jixyc`_|oq@NwtPyOGZyTUWBXJQ%3K zIBvFOeyJ;5WAX~d`zpF`o1eT?q8k5rnAv!=11f`j0RB>Z@Zj2vxXPPXH12OG4D>lS zpML8TxL3SaOHqrPUhvM}*uX+Jr%;@v>fRek)R;$h&vej)IB&Lq8}=cQ#(9B!jHPi; z%qJ4uVLj4)X6n%-8^?^bpqtMhk~z<#v3z}qi_2l1RFGy8ENko__oxOIL`1gSo#imr zIBRiyfM(a%I{TI87+h7rb`UddG@3Azmw{n5T~7tr*@5 zKbYC1CS2x`&(o{(^-JC$C3iHdvN5aI%EeTD-fb8~a}lYa(QZq6sNg%DCxeyus!9(> zyF^_qg8as?)4ucv)CMZ{QMf|kMwV9Qqmb3RyQ{cQud+QgZsm37wCcc8IPu&0x>L%o zZ|EJA&Ru(84&#p9o2H6x?Fg^X%bIU8YKo?zCaOq|SE|su6AQD}5mLcV`^p1p-;V92 znZ484-}0i3-Wz2-8eDMXF! z(=|L3ZI(z%TyOmo7DK8Ld>7^l@e^|~O!xIyLgrByv0anw8m@g34cpJ?(<23+KV)V% z9i4dbJlmy#>k5HOcSXtxVlf0uJ~7RuYfmMed`i&8SlZWW`is^I^TcO7Z2N^9XL^=c zDY$ZHY!(lAURB$DXoK2%RDRdsbKd7?yPh*I7)WlA7!#{Nn@Fcyk5v=lp~0r1Nq5(O zd3SAifNXDhhGR+1$}how$I2;x+g2$<)$V!I=5FkUDZyyeN-9(mOOpL0W^Cr71MjmI zIyK_WSDdd+i_fR&!g3-4EBjaht=|^^naxTQ3tk<`%xHb%E!&Rk24{9*0it zTpcqmK$WGFtdKY_vt`rq{gb}wwogCbizv$xg_!3v(qZH+~Vn{ zgt@euU~l*=B>d`<-fNy(`Pi3;4UdQR{9Xp8^V%j;?>T(aS0U+Ua-`A4N{dFE)_@Vk zsNHtN=T2!`2=BNZ6}L@EJ?D_lL4xFi4UnRp4Ocf||7gJdm2pU3o$8LwIg4jgaZN$! z8_s49UA>*KxZtJi=59%YB!t#jv7P3w)XM!YU7THXRk*f^){O&}kH#w7*us4$*GC>Z z@y5A#?L7OGVS{X_u6#cDjwx-SH=)@m<77cT^*dkjaUI)pxzY-RodgGtPieSXH%zl1 z;BZtDD|z zwPB2N>4coR9RxlxOlI#F@3;&$WGz9?nITwa3s}_NXXuBYMwDN=4_z2w zRJ_lbllfA@aI>s$-`r+8SiB*fDa?PK_~f}uP#aIRVxh(@U%Y)!E8*AfqgU<^pEG37 zISSMJk2^hqsW@I~)kCIzG_nfZiJ|1`E}^U}GLjqYbx9ws^&cNDrJ_Gu+dn$@pJn&Y znj~vPe5HN&nz*_LJDK#N>*;mhB2+t0u8ngGlkcxb2gYyM^kYEH?A(FPkNRay6k388s_c#r1eUea_kS! zS18SoTqNDk;@XjQY$oX9>bNP^*2Y4o^H3oncgyc_D0m(JCe?_hvIH$AiEVeFWV%@u zt4YcDg*MKzHU<+YgoW+xDEd601>?Wf&#x! z)_)(-1s&}&j0^f@7?)pTxL^a$w6Ux!~bmxeVd*;{!ho_gfkMDgy|3{BQLc_u%BBP!p zz!MQk$tkI6>A89N1<1mp;*!$mHMMp14UJ7NnqPHxb@%l4^$!e=PfSit&&=Rr7^RNn#p*_7|MPW&lF|Na+-e}Ag=TLJoCSy=w| zjz3wz2x(feD$Pk#T#iQiN7 z??3tdJ2!sG{T$zag7r!!IoO4}9py z5&R!8)xU8B|Gxl>z~2`@Js>nRwEr!z2#k(_frp6)#EK;%A|$*-k$y=Cum1Q(LUN4+ zC?xrj0-t}r(EfKD_`U?f0A0dWBsiCF6*`Cn1SSEak)VC=2IqmmKo8M@)8D`1Qy>s7 z9ySg-CKd)5?aE~-8v5nG-!3p3CI%KZIslJdAqIgkfm?wrK7g6&1NZ-mXp!LH0)WwHjceRp_LG5|l(%UV84$gO1%6f$_6hkV5( zAg5>@R#1;e#dwK<0pORs!X@x!Xk_&Z+U4nWiFAd8{(!kI0j~TX;MNaZ>mRVz-y>Qi zmqdcm2(Y}#e(eyL1Yj>F7Ag5{8CfkTJa?6hmrwiE_$B^#_1YyO_YXksH#qJ$Fz(+& z;(i0-{sM>l2fe?da34_fzoT&f48q|9><8#10f4xL>&c8GlF0>1xe|q05LP_x@pOJj zvULDqYgo!oL2wXFrOPO>_@-Ms6gT-pm$;@gB zI*~H8Q6Fm00UtP|HQem*d#iZUCdV|%ePSU)2rQl0qWbj2x?k&(82xK5< z+J-_(@Nkpbos7b|ug#NWXbj?HgttrZ-KA>$AhOr`h~7UXjfwUca_Hn|plnixS)448 z;R;6LPcg8@AQPm9oH?>ooy#M~lEe}Pnp&H5?DugM9aNGL@G070?C)dA{uM@obP@v- z%c{J24LhSEl^6|^){fA)MTUg5;E5Q_2_uDdtd9@WZ8@ifBzY-JrLvSf=#TQdk|SaT ztkmRI6Die@*nn?$#5vAX;Hy1Nh}a{;;${+;S3&D#WV};~We|UShJ&C(*U@;Ln#5~x zKcTuxa(j2!W}+%Hj>rLw#oFkIC4MW}dGJe`j$@FAlUMRK8ACmlN2Z)|%txUt-l9xs zny>k?iJplHM1Ef};P&oe^GTb_mAgV#>4LM;|50q+WIa<$`uTH{;kI7!X+(ojEE zCY%Dsy4!U^`PwdN&4C#4A4v}8&s`!onof#8QeK-kZM$2nvz+XfZtTq}h%;IO98?K& ziCkt{hwV9wI0>-M_~5!=Np@y2-{_7gQcZH!$iGXX>R(G$&nKu5X-9yh5BpR&xu&Qx zH9s(Q&5txgXksn4lOcJ`N~Jw~dS!ZRx{UIQ_R%&+SCV?w%oE%jTskaj zVinVB6%pi-z2OV)nsvue)Wm5hmm`t63BjShUqA zsZFH8%b;QNQ?c;lwojEzBEfFxYLzRySDL}{Uab?^ljEi>+*y=SLzAdnrd)_rw%{EQ zPb{&}ph9fx&3^~UGA(Mp@1@lA0T<7O`z`6Nf7|XkL%7jO|6e9-zmbD|4_ctTqkff) z&C75X9%Vh%KLT-1mbX@6kVs-c$lJ>M*(Ideb()LjN=K>LkUZpyM>3H5u!2`|es-gt*H;HhhLKOn~iD zO(;U312P}RoRZ&udRwbdA`>*L^R_5Gim?%Ys+O}+9mgoL0b%XP#{f^xht?X!st`c| zqlCm8rGi|Ch0`oa_lxK-6;kq5>;f6vrc;zB>ZmgO*yx~Y{YQMmF+-6Z-hw;+Z(djn zv*n_D`8DxxMHw+BGTq(A7>78WFpsBkyE~uVhdMAaOa$JN$h9!dOjmhd94(2@E!^g0;tx=zu$xqdApF!QaD5jB5g%1TG!R9o+Ql38KRcMyan!FXiP^2U;79F41 zYDCAN;FYIhpZyfhg_X778hVj^by!k@ihwl3tk~qaRqKfCvk9tX`{MHam(|H*DHIfe z2cGxiCx|s&j7x;zuC7)uz?=K6qIFebkETnBk%FRXdE#(~k7)vZITlz*#-drx)Xr>K zbrqCqctP?+4c+iDk(|skIJj&$gDhhJ!2_MWqJ-oA{Xh#Xe4&lF0^GW|G57i3+QL=Cl7v(gP*eS zQy=_4p$WlXMD6vmWivby>cU8n5S=DPMWqgFYY!3S4lAU&jcl5_uGkx75>E;%)Wpd4 zS*#!YB2lECrPA719zt(e5ZR6xWh4$tZn$QOV0BSW%B*8W3Ms!Cl0Y~@_8xqkv7t{L zdW2DVvyg5WL5Wko5ZND7Jj8eBz0Ms3==;QLg8?ty9SRFWf#&>^)M4#~(y4cHTEd)f zRpP(gA4hrhj})Z!`e{^9igtt|l}8jUV#H0K@1<{l;i>%6gkHZ+i`uX1!rL4Q{+Hqf zT2v)aeDH^2p!Q|)zgc?$^ULS|r26mAG~?aNzN9b^pzv=<`9ECzkTGIBR`GE&SE81+ zt!e5kKgZXRFX-ocK79>NWrv+DM=ON0&H=W~FY(!5a)JJTD!v&+SEbjPUXOXoKFtVCq?-Gt)AsuwDp%4a}ARD$g|G@27&wMND24~)IG zX=u({lUJ%NRNfYCJ7#&t)mF>u zgJrLyz+tV&4h~#{-W<m*vkw~B!v2C>mJI=QRs{eGI%qE1g!D3a$B zsu!Z>`RIm+Tsb};4WCK-uh5p>@pl@~e1`pfa!`MkLztp1AmH4+B6v60p`F`8xA^O4 z3)Vq)6|r}+dET^Jqsxh^7&Y_zO?>)9SkfZfO=WHiWMU&!6M1_Rd%hMOj+rA|*2qB! z+*ejqJuNpxMe~GDi`|K1RN@Hy{vgw+nX_e{EQ4&`^`of{GwV?S3G!~b5kiwr&NvrV zVJs?`kZ(WAb#;x1*(Aa3jzM29zgnuZ_fn4nYT3Mg(zJh7{%E3$AppM_qt&J+C z_KA0ChqxnJsu9VGND^8@3d-Qk+Wom%q(rF}-B1jwso|68^J$vJ@npN|cIr4O^i6Pq zzkorEPRVJH;TQ3z=UQ}fJ@>>ahf0h|X$08)N$k?E!DZYI-_`eYpwmzD7VgDrRGF1C zW$I8#TIlpl>P$umZp2?WvyLoyp;QZ<=v9R9qa^&^b>0lxdqPppmd%j&^rK+0PqfY! zt6FNM*luY56HV5(g67AXxGbkN{O39e6nMcwI)l@%OnOTBBa3rO1EbZOA9X>=3y?)Q zFm}j;NXU}=gU{u@#;#H5MI{nvFjYYbB{YxYm#!Z&>z3_#>d000~Kf>Bp#rX)eUkk2HX;W#0&3O-WpVOAfAqRYYEb?WA ztp)Ozi02WtbefYSlsUxsjJ6i_(JJ`{!m88y=DP1H(R-ls(=OAvaN`9NU-gk1BNIJq zhyFM^)NrjtS9yt*`krRdQvC#*f9@nZ{5{V)LLafc%!(uD(q!)$#v~CC=(a z;|nDkS#0d#ixGOYFwVMhF=K*5Ull=?A&KbdP>BL(+vWp3o@w%nyXKH)gL3LHRfoO| zn?WCWM`w6lTEPfAik^R6!>+?G9L1ADI%$0rr9lc+g{oS|8oH&C+a*vQ+nS61*e$o( zl|LXKZ7;iX9`qQU!GYon-dbF1dd~jUV75NNb(Z{Y>4`yg^B+7R4~tSk^9-4Zp)Nvy?Mu*FLmS zizhaZpR;YGlVi9B{L!^nsy(iSyBB>_xA>aa?zw`72k~yH>eCk7ktN7t^0p6o0IMOR zVNpmkJ>AAC_?^?7zKzMW!VH_h=`wt)#`PWJl;EwoArE1cT|kO3J|@O1rOX&FLyq>SU}5O_VokoJ3_wvZ_ET zFZ$rh4Hp{S(x@cII)9Dwn7l6l+ z5!-8;0>;sHPq^|a*?63^sh9)a74>w-8h8{g8$BHtAs2||LMW(~*5A>&$L0k~A=A^O z+wT}zgOm0WS)G%W=@{K9neC%PB$_~h0$(KSN>m!j$mwo~d-ElzN}g;tHrp^;OzdY$ zw&kttpVn;jWBZxqYH`_UQ$S^JiaGZd^++x$FTSl&Vc>2u@~N4Z!n92s4UNH0cyXBB z-|EO#s#`K5$=cnJf=J`4OPQE4#yFyKXZ1=_@fmCOSm3}Ksbq=e5lA)& zBP(5hWMorh@WX%)aaH;ILmz^VXOL(S*3fmW;$nFN-jObciX{!_{b=nc`&mW^zY@hj zCIDk`1AREEe$ta+Aht8rtIMld2ptL(QR9-mpKapd=>h$G8jEEc$eeZZ>kSyY2jDeY&k#?I@`DCZ_>&X{;V-y2MUc0jdtkIwq6lJT+|kF|voXn5(wqBM$Z zLcg**F*M1qsm4TESJD#G)J6M;an+Nq`PFeDNh0WZKD4)HICPCzC!cAQNsiV0Pv%o_Ae~vlbX@hzcx)nlVSJ7ypt5&!=id z){?j84{RH=+%F z8;b&Aw`+zw0-mVh*^uYZrcgR8mkX)iCTw-3%;%_qW)-DBQ1Hy9Y5sjKrf64c!co`4T!+@gJC@X&!P%`m_63VVnF;sjM*@v%G$eh#m1 zQbeZ52SDgKLm&+Ou?*5;w$)Gi98W8^+r$!cxT*TUd#z`#W|RlWl;tb-on8L?reH!_F&o z?LDGVV~y%7uX=1IvThUYW2a@P`Vn1ydh1wXz){OBClniLJJLWu@NCGIo^YEXnS<(85~D&1KZ6r%WQl1c4z; zWR27?EqEYZ;X4SeDgS_}=puB53;~{lmT0pl(ra&hNMX`RLN*w}#8r)^yAdg(srYYB z*w(&-=C*4$oWL>M5_ewk>|1$Vq(=kjbNAIKTW!Vp5$tnI`VH_NPZyXw&@?_AHi)05 zo*uzx*t->d3Vi@i{ft~1<~LLwE;QJ^E?{W9l!&-2CUJ>#_I=p`eq z>x+*L$))MfcWc@8BsN*62c5>O^CcF7u)^Hj+^-YypqsmuDN4xnVjHs&ykvBrO@^u` z-C)ewj>I~c5R_i~swaA9JC-+QNHRjNMt|2Do#x(o^#}j1r*A`IMwHBBPH!V!SdI?e zKx5H)W92AMea(u=><~uEjmh@{>>-Ohw9fz5tc2C~ekh-F0LeMPg=(T| zCPHL2Iik7TZoJvyv-}QKEl{kZ&0CP!zGeuc)N2r%7ogS=UbxD%c?f=il!97 z5opmsG!xVk$*YItNX{GOA5F!I{I~l4x0Qxc!Gqy9F5cw^`o)v`)O^c+IiY&i>P9<< zT^hHXex&^#{C#>6->9vkOz(DAlSP*1v_kW+zp9ps)no%7bRwB-k&4)mYGxH#V4HqJJ&u?bLUWTP9jfF#oqFtyQbDYF#_QE$?w2PxQ%^%&TsJrIR?>Tq5w` z1MQzkSSB{{aL#InQZd5kgCoAqmF`!DBGtI*~@+iK&t)I_(9^MiONE z(8#T*J{`COJb#^!A579rw7p$o$@oCs=yOcd$)HY>fO82`lGu)24lYZL043--nGj9v zqmyJyp<)4L7(-;tsS)I@i7k3*R6#h!XkflldkL3>UBYcXxFi3CG(W!R^KIwcv)9Ot zOge!I=5!sU74S2Er}tJctBNXU4qoO0S^o&jbiZGje} zJ#}7lFLLINEaRKzjWUlo@O^zoTdGk+eJ=*}V!P*dAm!T>a=Z87;OAHL6}eU~G$cx8 zrXZAQ2%(wUm9OShnr_B|#(L0P-4#hZ*#~Jw@eW!Ko(I40_@N4d>du`@YxjD?JKy+q zF(7d`rfdVdrG>BJ*Int!R9B(43_ih{O&;9ft7GW@+<&wNuH|s_?fHaSYSTqBhe#&6 z2bcw44C4A4UT8D3e_Rgtt(4~Y^5gmF8)>}h0fYnaZ6k+*^yGS4h>B{=a0iqKvK2GM zYeme^>&;cSXK55)m+b&m55!VL#{lkY*?7_#Z!s$;w+$L2@C=N<+iX*r8(a?9fBt?E z#Ej=FW<;ypc&c6tQ;nw5CP`vcLFB6tVE9=ZdIm4-%1?_w5pi3~qin4+hhi{{f`4!8-^u+OntNt2w$-QrM|;8RiA5xTkKC3;s(n^$y9a1i9cJ<-@el!U*4V(!O`KL9($nN zun-y@jwHGHQc(qf7CvuE`Z5|X0R#n_UyvkbCsrCZO4ihnn*qijr5~s1fqq8_uA_j z7+ehjS50fG$YZ*I4;UN9`!}n9aGllV6*!-QFcXM-2n&x@j8IF?$K5Gdk=oh1PZSZ1 zJ*3)gY*ycrN%e)f5z8cge>n6(cvpb9Mj8K#42;4n=(SR|A85Cj!iIKBb+AAuHC2rY zx+PGf^=!(p$iAr`VZvZ*Na=2iKK6H`|d7~OZ!BNMGpiP~Q~-S7rMqvvc#FC$F(i7L?!p7ChJ&yA{d7|Z5+O{p`i zt5@(282Y*-*g`&ef}w#y6Q^JL*ro>HJACx7+#MI!1lHi=45J|eXVOkr$P5#*SqUIU zH1wm+N$}bWbEZw*h7{ekrfEx)kHSoHL6kklLxP-KlyK-{{*6x{gC2X;D1qWy`V~GN zs_6nV{;@in8b^K7G=~(52CW4;I%WncPmZA+9x~xR8uo)>mvXf%t%`m}_A;$JdY9sK z6}2<*L~!LeyY`9{)N07RG4hxZX~+_{7o3r0kZ!w(*OX|nb`rCw>atK}I)Y1QujdCA5MWD4x5)(XkC^*J~=7r>fqu!|7lP9P9s zG-C~cklO;P5v`*cyuDVWTKKA+`)r{mhoOavZbA{&5Hz9gpasgDC#Y4ZSw%SNVBJ!* zZ%-&7C6>Quj~!lNwNJh9v?Lw5sTR4W$;gOeg(Q4yBFauGkfNNWQ5CpYPGRhEBQ-`O zQ3el{w|1XG*Hu+3L<|!WHdN@rdH$yM+V)n+M(6`Z*5dkx4C8XCF6*SGRSGnnKwCv~ zHb|h+RcEn1jSwxFJbCPyu27p4uaN#D@Y@bRe*}Et@A7}mHoLMgB{Jx*Rz&<1BMpwL z1lY5!(SaQ#Nd^54n^;vN?p8@V78$zZ8b{p5bte$9>3W`KYj~3wmpDZ%%}I{2->=x+ zhy&P4M=(TUu|0%HaK@Z|^7&GbyLdDwYEM792O1Q(k)Gh)%c_&MJMy%WU_1#v@vu@_ zkRP&irM&HyeeK<5PhPeKJZ;i>S!k^%7n)Ji(P#{&`tu>IGJ_jluN%tLSPA*+_Z|88 zm~YVcBQnqWJ1j1zikoU8t~xgz1#G9*D~sWw47E^1pu9ZV1259)B62kYio)B^fi+1) zYG~dFQ{sR^LlVVqaF)}9xqL&nMAAfXDv2?7fel6|2}P5%grq0!;r6_r)^=l(5PgY6 zED=OSN9i;M+t+EWEhm88GQ_>JnEe&an&G!Gq7c$UkExz?&y$^}@!fUJAu=NC*2sJ* zue1-8pz;S<{+LsBL796G-oQMHq2zWQ#wzxs5fPVL5EvGhqIpVgd&?x%mv=C%)+k8@ zu|`lYNj3?y4f)EN<_Q}34pPwL{+i$Q7ITrI}|n zwm;vke!MkeEWW`IuDUcY6I{5&l^|4iZY3S_f{6VQ3rt+)&J6g#rJTCe`H41J`p1`C zIV2z9H$3FnWLSo4Ie=}5f0?0wBku1~N>7mJ-L8j$b=+}$Xs>7PP0pS}9#T9-UjTj7 zx|lRm2?E{uKKlo7$O5Z6FUzEvYrEo=qKh1KDcCK`=vYu_N^!yS(UsvEBej-1dMUn@ zRq&``p>8n+rhh)^lBuJlSr#F^gTwpxixf9}=^ZBGcOE_~&tinpJNKW~${gC#FqVXW zG$OpPG-iQ2)Hw)PD=)|-*3ch}plTQ?SrV5TJM-xH_*RGGZtd;{c+|R1zb8~JET7*s zOH+?OGPQxku~9bF=XNd$AygIy*km|r>4*E9q=T+UDLg2iC{W`1W5uxKJs6;~9T<0YhCdFR6(ucUv=#yy^ zG|uQo2v@ge&U3wmBazIh{tJ$;%NA-l^al|~8PVJGOv3GRe*HyIzeYH+{L{5^xPxSk z0~?BefT1AaIuY>(%@XNeu|QW|#S7w!==7)7FGy;9)GFR_Xa<4G5L{10ioN}-6?sY-g80Zsg=B=8;N@NTCtkK7ObD;;hu1V z;{5{V$%zl*q4SJ69Rmo2wPr6IYTEcgBLWk)A0z8s;`(fePiU;2l5;vLj&Cwblunghph9#bQE}Y!BAET7QHzuC zjZ*&-=mX;?5>rKbj{J9K!N(JoY*_?TZJL?8c2_%9V77_3uIiTQtG6WS^OJL;pdMZj zc}UF8j$pG!@c^ra-7s1oh|REqtvA|w?IHtJqf|=r+USU*)@a5r6=w$EIM`|l+AO4$ zH}-Z7(~?e?PZlu+tNS33$H=IVBZ3>%Exw--eu9_uO80(79Bxu;`EcZPwc%UCl)hS6;e7zap66Mw#XwJSMz-Y~9vQ1Fvt%4zMjBz0-j1 zeWE_8c-T>voC#&CQps;xyOBV%NuVre8#DnoF?@@*=!3b5O$bn}S~9mqs1G^d-X*#fQ!v{w+k;D|dx6Xkl0{nAp+`*)1B? zS@leM6^7AXH@`etvQl=`y31as>OBWLJbc$I1gD!{UFGKozr3Cs;WZ3x*iPQl3Kbjf zHL;JCSE_d8Xo!}gzjdu;;tnpOdD|zGMlK2&>4ZF9kxXMvt$V47JV+YEGV z=Owpe@@;)KviY)YAGJQc?N~*-gyQ4=+70k}$0g(b`EqFwK7EJQ@}$m>f%SuTZ+czKwJtS;eRs7V;Y!pK{Vj{7mUhU!Xv|!T-EQ(#Z zde1rfQ=u`$_(jTgu+vP9kz|ths&%tfl0C1DHUZSYd{IRYDHK8{tNK}*?dd<${9onK zxy-TIuDc#2hke+PHk=$_X~XeITx<`Po}@n7YFu(|C{sZpFIY8il7Bt zj~rRq=ouOI*&Zb%98yx!Tm|49Eyd1q#m2ikUKwIT!4bN3YnC$`e5(3k@=Lg)InCzc z* zX)wRt4f@wA1~5-o_J$?g){7jid5N~AS};*C=wJ5v@H%!f-aQB#8}S~-kPZfcJ_%vb zFN#<}Kk6-(w4v#}e$_NMg5@wO5i^vEwQo2-^5Mbw+}B+fpV#+Bkeq&B+li^}J-MHu z-!t?iXut^SJJm##VErYJk;MBi<%hCk#=nDT&FQXzK-hV8#ZO+a3(Olyr5nGuulcI=7Hw}{ zY~C4l-_rp)Z=azpaJJ=1HzWx6;J@RA;jk0f^MZUSMYG{nJ4}-EgmWoz$RUZLzrRBd zfD|yM-dC0HCp{JkT>+;W9bfp|gNMSnFyKZxzx~iI@wp>hXFx7wT1Q1@TzrGACoH zvg}VMR5@xjiLT>31{46;X++n+WjZNLd{6yB?A?TRTw4=yb{RLj6>wd%nWd%^KF^C% zd$)z4{d4+3 zF>UbvSViCn*?w@y<=d<`%hx<{2=J193I1FN;A?gkLrMa!gQLy4YsaAw-AZ7xn zemU~w#zus7PgbNinWU5~>AtE_%z|uUcUvVRg$Vw4kgM5=>c`SV9it2=A$wWOhngC# zhVA>nHYFeU-k!Ozi==svk7}$wvQ`d(r1m2*b&F!imqZkwHPnC!eYqHxD4rlnmwZf) z^>H)y)4$%5kp5><|EoOyi(u+vi_HJMA6pv|VlALAYdqNwqmyoW=5YQ0NoD0=pWoulnF&r$XQccn;HQ&iCaiUAre} z7w!43_?yFod!oTUV1rYdgEQr-%nor-c>v+3FAVyx&1r)50DJClr0knKg#Ud_Q)?Jr zUB6++N>N~&ybjB#G&G`pA2sv=_0^6 zC%W$*5;oi3G{Jl$t%q&$hW&&q+^N!>4&#qno5nM+YOI;E@RWkM{rtnm1}5?t`%k|4?Vf1Ei+nuX=m<*qp^4{}WG z8PTb=&j*_x#S#dd@mev|sH!6w?%89y)Q?Or?nTHJ!9LLz*6qIzyiha@4y*o6QYlQv z=HXBDhz%BShkOea+`gfnVIg-sD?}ALaRSm$eR~u*ZxT_mVt1gGu7E(|Mhw&1Mcs%n z=aM4Qnmge5EA95Hg1Xc^&uuu3ReX}jY#&?|2#zK2^eVhC8Y_CYbY48^cagz_R{QM7 z1EmJNu(#m`QIxgrn+RoDs9`#=F(u78S=Ob*a&|MqjZxXWO$&I>i$>8W@>ioc#_UE? zg0T@Z76pzxzC;CD&)OBV$`X17NIp3@Or^mn*1_5@NU0HP%YL?vHy7vSX-|$oGJHz?ockQmSo8_CyV965XEJy zSFcyHsmpmEi|o$UAaPG1ISvlxMDyw^v7q_lJX=^X2y_3EBYe#k(RvguOqNrCnaKO( zbuDjYH)1-de+M}fQ)Gl#Eto*DN)R$Cbr@2J;5k{Drm0u&pHI^zXgLNlF^DD8I#|~T z^&fEzzv!?G{+-nSI`{AFwM@({gd|Zlwr#uim4ae!%H-)*awxPiDzkD;IwTdtgtlFp zTh$LYLMeAzayZ82=!fwmM8IvaHsVkW(wvp~LB`zfwid9~dsWy!b zxzyJh9HPaAN4=r36ZBAF+O5WT$Ua2+jyu+F`<%LBcxgQ!^_<`pT1Q)jFqRCFB*%%> zk_eKQ@%ao~LM~M>R=+ULijjP?_rW8+JAxr~**57@2HyN?OtU;Q#UzVv%MM%(^HW8$ zHv`Eh)ystSCNd!j6%dXtQtc{iXMdZ)1rANi5?n7uebOoej|xKJQuu3js0wt^xEDo* zXpFDVg~-WUhffq#$ZRvH9{()iXyk$*wCFSs`y2tDC=l1FWE#jgt%kY{Y; z09~Tf5`jyMFvWjnxu4>`H0glYHrk5GJZg*O%e2@c$o>C_d+)fWx^7)GfFhuvfPjD? zB|%ycL+C~6B=itadJ9N^AYB1L6r>{%LJ7Sj^dgXiuBd?YUIYS45tU{^Ktc4z_d9pr z_uJ>3y}z^1xxcgiSihBIX0AErnrnGKe4V-By0iWLwa<-1)kk(w~8F_HpUY z>GWSL0aZ?N>Jl3#n1c=!_t!Bn|8?3R((*Ju`a(hM1eBdXE#>8sQc_cLN8 zo7*f&p}D@E>=Lk2kzzhWEIJONunJF>FsB07U?QWpVnsyMng-Rn6P{PMC@1=R%^sx# zjcQtrJB|^1>Uh#d`uW#OWzr-09gf%+BK7yL8#dZeFIr8c;kU!Dy7YhXz+2T!v(1LO zlE3$*yHA#l=)SxeOx)<6gC&rr&_^|`s7Y~=zvW0WZW>Znl%6cV&Qesg8?go{}&3jNG3l_9ZFcbuZkWyx!%jm1P zz+dP;RhdcZ%eVTz8*&kNW)mT~E+@gN<{6Ib#t}Lms*g={B=t+uwL1On4N@}^ia0d= zDV}&#b=|4D*BBu{-zpOG!m&!8(KglQ#zd^?6_`dz-c_;mA{sixU8@LhbH9KF;|G=%Q}4QEZvT$u0I)1!Z@BoG<=^rTtwggA6R$JUt0_S8Vc@1;oJu%2B= zTZ@vbr(Uv=U!gDX-D+;m@zhcgwwHaBn-`XO%U8t3jwsnY`kXs-1 z=+geThj*Idku1+C`>^Y^+JTCZ&ZPw)U?SX?v}gK)#i5^fC&+3hZKe9S4DV=;iE*^5t40Qmi|_(`ktgxzFJwCG*!P zq1TcRa1zZPj-NVs<1r#2G%gP}zr&({v+s{==FPLYD5vo*`%BtB76&}3MUHW;em$7L z1udRb!ez8FlhO`Ys8b>0ksbzr)dgT}>H@QVIeke?Usn>hcGrZLcPN|;N*Dbs9_gci zKV%yFX7fT4>_k)+Ba0CxAv`3wcf7$+|K-dOcY5K-f7J2kj51Q}QB7y@Y}nX;XZ#@r zT4J8=1;zHIsAstK>M=~X>ZvX&Z6n>Q0}K`I(T!+{c{vy`g%(3VH=m!tlEfzn1*ks- zJvKv~S9E>G;@zr9yU_1_hA2#13C-krZ%I)P0G_LLweKpu%q!t)w4{NdQ=k98`~T-x z|B?r0^6w_-@mDC*7!|k4zJTsG;hf-(21$lYV9sEv5D|ItTnv+_+Nc||DThH^U3{(x zH7TdjrpRK!*e)|CUW8LZg0L(hCBZBD4MCf2g@swC;V8K4&l1@jy}EogWXjBf^IKfZpc&UUI9U0EuV%Zpqi#c(pc_Fm-#r*ZI$ zC99r@PGjfr?~6+mc}w@%Lb^IM-XtQ;q^K+2^j@aP%M{kk(iTH-28I;P!9}t=g{N^6 zv4LI(Pm*wEJU){dFimWlsgm?X9lVrBQub?VU%%Zo!&fhR8J?8eB14s5DV?uKGf_bm zr@N?Pd|;Uyj;T0rAO-fGBcnw(bAAGDvdVFi9;PL@qvh^UTQJ zqQcP3#FsG^_^T5txj*6Lq`EfwDbNdi&{Axw-Op1Y#{FM}a>G zwPneXr>*A!Picdnp|QBUrCVHho$qD?{r)Y7OC!ao{M7>0MXN$DS)g{@(=UuwUO?Pr zVu~oJV_h*c8a;F>Xkj2~@Ab6^zMp-kZcCn>bvpj;wJRjhQE|;a>R`EkC^GnK(Q)wE zH!;s3bpHp7e(;gLSv*^e(;13<^`WN4OQqDrSE127b7Z}MbMOVj(7vm0pt3m5gvqVK7Lvgf-dE(`id z`?OV&CG%nLOX{>^1u~?EnKTQ~BBCpOjGX|$VyEN2QQ{!a_TtWX{auYA@|yJ;PP$2! zN0^T0S;G`!1~`5L+U0bAhD6480RVyrr@i7SKAWLcWbZOyuY=rY4pUj4doMgUe8N-~ zs)}u4Sm<1}RhrR|lD-8h9FXfPLXMVC1F6X!i5>OjI_dTF*?BQFwEz;r3=BsC! zWf*fb!M?nq)|aJ+hM6?31fEnZbo0xzH33eL1mUnRX^|@cx~$I}6A}B*wmr33`Eyso zm>hKR9LSocYrZF`H8y8m_K!u<)3|q&7St}<_oL{U_J$pX`KP2@1CKe~Ds7c_eKVbe z#Q)OfCoA_X-zNC(vW44c_gY9k_8G1jjP>;cqO2q5!WF+@@vZ<#{*vQ=_4KbSm8Sk~r;=bS zzgjkVw*9Fo3Q!N^K+?^Aj8!MXVe9#%^Jw6#rKg2&wx4a|SaeGibZsu@qC5e2!+S<` zoX4bUI-6sqwG&WT&0M@nk5DkHF}9qoSImJG{w(=u z9!0Rm;=`zn zpCVUS|CG;8L%Y(vy&^lSNp86S3t}b)*%aV3F^_Xkr%Uk!^v{0?0Zs9J{!xW z5^bb4Q)rN8_Civ2#wj4bfqB~;*fy+~RDS-UcD(nH`ZbKlxaaht8zSDUtVuWW*hE)L z^M$`~H`)_!WjkX#DjEdmrc7)aR~l&TiXeio`z=R67G9G#ay%aMwwf%hAF}Bv^NPTf zTd(+>k7v!CS%120c$qURFnZlO=H@>h8I3h+y0T5c&BL4sdnDdB7}?iPL^&zO{OoDd z;Iy%{OXclJ{rf;Csj7fE|; z@q7-@!p27`a}QGmBuZqJ3HLN+@w8RKL<0gWRCBL@O-p3M)MO?!k`wtqO}(}#-nm+Y z$h}st-31dc-!{FOfwiJdJZ~Yikp7hkK2f zJ&T7DO$%a-A?JThB7j8R+GvnoMh>z>M4r)otKk}wZq6m5f}yed*zA;B{9zH>Am`q7 zfy~Prk*d(25o~LEfs)L%V%IZbDJM&mCfgDVl;=OmN5KiVi+9 zL?E!sa($;#UJO|}h*^^c@?E5%&%hbvtJ#wxQz8=G;`0H{uj@J{QcFc4;3nw%#<~wl zC+^O0mxC9W|4dPF;F?at}cc&ie-vTuMzxnvARV_fnm!7C>pY?9Oj}%C2Dr6h! z=XL_6U)a8JJ5l6A(bYGSvX>qgQb=p`=@*(~<&D6t8zjD(8yEcLc7*xSkOjCYxMVab zi4jWo0h4G|eRsq?SO4Kws|+3lCZ!`%G}uJwZXMgsUr>F3jB2Y>V3u!-3IQ?Nfgz2e zbLN+r#gk6d0cr(XTP`o~#Y)MXwcyjc-*bVp`@PM0t`ct_ zxd|Ms()OujH1Gq4aA0rImJFyaCDpD_%eLHk&lZ6Pxr^sRU6*AH!_IQC<8Wf=+ z**%@FozYUmhPf9=DWlS8O3^oX0hKca^Zc{Ei0w+Nk7IVBiR#mRhRH(1teAo@F}E)3 zb4&|#quf%H_LvxcMFHP_aVBkXOi1J&Z~h>zDO9BG79}DR$bDVtyojC@3|6A?2`Q%0;1{zW}C>om9HKjU~L{m?rN@Pj;eSg$N=; zf*H=rY+}uA_m&o*{I4AUO4jJ~-wo&EP;fI}ETmID_M$}wzIG(l5SoM75bk-Xvjh_b z?)asK@K)?6>lf(3L>kg>vg_!oRKxsx)3y^a|Nkqanl`f~$>}G7g1Xm$$>9#udr1*RR!61;I6-hpYaU z<~2x93*bP>Kxklwp5cb1^wdb)$k5$wNGA59lm~WPLWg`{s|Po@kNhc-%ym>AVYR^} zt|<8P4e6uXY2V{bAO)4h8#k2>gy#1&+HL}ypQqtLI)VjLWP8fFLx*~#XYVpJTC!+W zlA7z~vpY7omhce`3fdhqZ-fJ{NoWZ)YNuaTIFkSAYsVtPY}3r8rg#1(IwyZhF6TQQzShI{Yure=E3{A6^<93J-vli35 zT&gmJO)}Hi3d|2u+DIfbY7uoI3RO%{rI&*i$tw9-w&v>@wB>ABKK){8v$hXwzD@Fm zbmhdd()11IwN|r?XKut-@G=v%$xmy|)hUqXa!zCTO%W$n@Hy(~ohGuGN! zW%H%}GuuAKitST8t&pYpW(C_hbSKffSXDp!9_cs0>|@4c%WIMp|8GEWx^U+NA=Xv) zXNkGSF1tXbq^gXPp*0vodL*9NF|?nN?Q8bB*w(^B?qe`9SQH1h^Ms1c*YLTXXR7d{ z*aRz9T6+_^lS7%OZ5|x7)03?;M*Pr07=&bGVE=?q*Cb(e|o%#*LiKyluJUg_$h{ z-7mU&u?dlk+8Fg_yuDq2Wq#Xm=k3oY43v&%UgRt7QD3{*=D!}-O+DQ?I|xwq8r*M3 z9JO4N2K*l^>f6_SKqRf6wUs}`7bK}QM!t?fW^mJ(!mfyl$}k8C*s~lMHyFhll+LHS z^u!EUKc4x>3@({8Hy%y&|(2zjh-^13hS?6`0$Pg ziCYs_zH{|l3X#7?y-Z&%&hXm#_`Mw44jepeieZBj;hq)}zD=67O+)bxZ<$T@*1z2E zM&5qtxJp;TXN;EjM;rR$~2LPzYTv`f{-C3h0`0bCaRUylWkgU^Cz6G_uj2!^(lf!MEpSpVALBC}A zgb6e0H^gwwK*OB%cy4ILxCNI)LOM+gs_m-%=<={2J0@gVl@XT5i!xR^CO z${&vb?mL)APEyEf%M6G+qg5Fe%cD+Iy-`~FrJrny&PC{RRPnqqYb;Pct;}K=xM*T` zq{G08<}4@T9|k4p(nEX8jM5}1gmh0hcFIsNQ@u}E<-kdtH>`aE~ zl*Ns1Dcz$-&+JZi3z|89kv~uM3 zO^RuwEh-`JLFZVbI_s;%1SZ~8-?&U>lar9=%eMxmh>VJi=AE?Ki~N`?Y7q8dKwbEq zSS;O3I8#cipNE`?wObd;ZG>Loj})P~GM_45XJm5?SoBU+_!Q3!rO2Ewa4WbD4lCBk zQ&?9Y6Pol4$W63&W=8ksn}bX$L1~phT8eq((jaB1U#0KEy_~h-O5Aai9CgK8_+(*ZBi*OZSvLeZoz=?THPBfq@XI^7*6UZ4Q^Sr@5eMAlJV^@}uqi_~l2_zI=VENIu z@x~_4Pmfr!OJfw4z3B8u7NDz@#>Mh;SA#_|XXY&UjV9EZ`WCExY5rt9yStObXpQK( z8~0uI?#`^gsjO>fR#RRxuK5n|c>CwS0Kn;(57VVq+&5$!UsfQcRgCZm^worZQ;YZiIxfT z{oPFxC4MIwkFU}Km{Y8vK+hKgg4~W7Ea9=RWJ!53+oTSv4$;HLqKi;?HI*ggA8q)r zo&S}bs=rSdQWTa%)gjLi#a*P0N!zmF6h=2);v_9F;E*h6jZfdrO(jsKa1!n@=kKAg z)|q-Y2<`{XD6yKd>Td^}2B4}EboM|3y8;|BqGx!_goT+GERE>s-RgEyBlaX)S(1%Z zIufx3TRKzD2&!NFI4+Yg5W?zRtG9v3@0YZwODmY*#k^85!lD>DTI>6`x9M`@WAdu? zu*FYToRTN(mhGuwX->>3G&mZ1x1eh^!ZU4*&h;0S$cTGDoaT(70$p))rpdX zrX+o(+c`FV5<%T<6n`5BGz?*nKpMi>*Fyk1Vs8`{RdV?nWZsrHnBY9b#8l;RdUt0F z`V}@Z4a}=W2SwGoTs_NF#y{K*q5n}S161bx0J4rXOf$oj1KWHP9QNFL2+5v9{roWR z(dZP{SQMjnRv5zLmAR#Ry;0;4+Krt}*&K7Zxnm*Q<8Gc` zhRzypHYw|=F>I08vLN!YsJ(J;j2q?qh06^x1WI|yoJrbUr+d>?$XCs$_8P&T&S&Tm z5<6#Ohn~rUNu1W2aL)k2AP|V0sOV4&ApAOQbZGFE1TPPoOr+<^aC;z9ONKAMfWy+# zzMn}-YU%3=QC%_4cj^xXw%mbkzcco%wTR#{-%~V=+*rgw1TWu$k_l6Tor6pvFMzx` zOv%bIx3-nF_H`{j4gCg;Mh52 z5_bh z{Ck=(OHI+ge<9CK$kDoc4aIN|>N|OK?puUdQG<9DbOi$LMc^8>)R?5d(_Cf}GX<^f zs=oTD^AhdNj5GTll>4@Fbc;90!^=x6^#~73@T|=HV6>|8uZGAm@4%U+IHhDkU73dq z$UYzTG_`Sw){}*&crP%u)>18{9(!f*;bu_-G-aoc~j4`DEFjha8K}B&9mxeP6TK$2(j1v zk%~cj*+IenwX&H{IQd3|Fj0r75X&m=*is?`k>z;*NM+Rv`C+TKqms4FIPJ2Jl)INX zk8(~*662Wutm32gc%Lar%4XI_8$Ih^eP{IVZ{|GoRc^R?M0b&)(NNiy_<~DQ*{l|S^(x(m+OWo2cT-QIUcr_!7|&$cc|Bl2S{E@|?|1vel#QIlja^q3(8uh4l_;tH=0F9Raa>_Z$S6a^3o$7L?k_!-PA!97(y!L*ernWLYLTMxaw zO2_?=M*Q0uQXuHmxtf5mN%k3YGX_;)eW2sD%%gcjt&uPt0V}S}TW5E?M!pur+%PS_ zb~WaLHI_1#Ujo7=?qAmtqCp{?WA{-*I<4ZAVfAiB$!dv;n#z~`Cz{WS$cIIORA*4M z>@UIbr(E~r7~|0LG_s14>3)v6R$@=Oq!DreUQ$78c#1SFPRjT8-MKR&e?x5 zXu>|rL6H0)dmisYW938KVIo3e_n?tSK@BxgtZ5O}xBx1ZZ~U@Vte38x7g9-E2lLows`FLo`+}gn?lq=36KnHfqL&wN&*SID0CqSqW>G ztC=O9oqfnL?~HUY!o~neF$ExRD2cQTB4WI&zsW#j^#h$d`jFyN)!>)$M@xwJ!t;c_ zPo@~-S{cwlf`u63qI|BWqAIZxyb}h4Hwk^Q8sW5?iI%eOBO2i$xV@2#S9k^6Bu=iX z_(9B+fnSz`-?}Z_EUYBJH}fMuv0y%Gbn1!5miwenl!>LF5#9OJIAfGeUxs&Kr(Qne<+|-7{ zg3@j^8mCF!zTHB%Tx~^mWpy3*y1Lw85zM8vr6sJ$T`X~;CzPkSpTzspVlb&^B54DJVYT8n zKpyoQ@Gx&9`)nfj6OGkwzM9bds|j9}!D)ggtOIa|AhR{ldqL!P;3OO9JvaQe!VD#y zEKs@t-3Gq&yi@ucVC_h~v;tU4Id;46dq0jL^x9s=@$+9otRH>@W^No@{vH`|`^K-v zXRX(|={g+`2Y#*n2ApHuyT2)Ql>YNN|MYJ_P5qAP7r_5+p=-xho%GXRGB!P6?y4I258k2w`A<&@ zDwA$J@!jdF$rui@_-JvlqP20Vd}4mM3Fe!2NtXG{t3`2Nii3cI_hkLNQM``@keHd1 znF02Keg=U?-02G}rsgq4-zxe;~i_mAR_06Nq0C`snI-)^_33~qNkbIk8~i~iqV|0@Bqv47HXCM^F{%a3;*L+*mXnphhQi)~EFP&~7!Jns=6 z@NHZ=?Ky>5t!847wNxW*BM?su-m3T*rj^I;py1B zkVVmVZw0FB9XZ95Sx zuE~c(ry2V8B}RYM4nUH_351~^ab3<~AJWqB=NG6gLiH&(gDXVf|L;8NSa z3+MmSWB6bH@SndbrzY9>_fDC0yW=*iA;4k~ZE||`9P68|PRH-X$yXo*M3!Mfsi>km zrEG%m9T5V^9lk`q`C7@tyoyIyz$VmRp0qQVw)?&>DH4`JKU+K}+e{W?IRCviYl22z z!<0xB;yXy3M=fWvy$Tt~k5J2+A605tf)~6!hDF9+ygPGjQ+qp(n^pPh>J{itqZv9d z?nmE*lZfNFFC+Us%xs;$RLDDG5ATkN8c|qzm;I9L89kb|enPZ#H(S@Muvn{uRty>@ zb<9(&9+k(#G+c#vpZzUG{DQ;X2mUU=-VGjkPfIHc53z}F<;FeO)87cUh8SK&0ssZ- zmh(4nwiu(4((RdkT3M1Mt>Pim#536QI=XmT9_22jUQ*y4FXTgp!e!Z#q0ATk=wmEh z!c|+nq-(uQ^-T^%dbT5JnLor3x4G}FmC~IF)%1Ljb^6}albsS11zQsdyy0-f#Z=gp z*K}tuq&>*0JKrCy-lLhpE^bc9_alPHZX&c#Vc6UDRk4wK;z5unhv^FlH zT3oeJ!ca?oMlpI7o|xTt%He-7O8%vJ z&iLOoK(cp_no*i=CqJ&cs!GTv_hkf`{eJE|U1?_#%ZoD0!HH;z6N?^i7fJtOqY z>kf9K#*R5r(A&M(V99S)W$p>J_6_PFAoU26Yqb`ZJIu#yD>+Q?WsdV^bNoK(o=TOljzh@(KyaksPJO}+o7*8!6??ko z%JUz;wa5|LT9Waf_Fwxh8m1tv{Z#R4Iyf=@qs9pW2vyoI{Bj|<6vM4scL zhhNKvPqAZS<2Z5FL7j5IT3g$Z8Ov|=f)+`Aa*K0g8fqq@>tE1)SUVhO_Dsj^6=D!d zvNBO!NI)qNrIgHvCl+AhnI$IgDN)y5y=btRI$H`EZ&mk6WvlT?wS0HK&JEiNZ!PzP z&W+~9bYT;vjYadm03c@_jWW(dVbnuCx(3l!nI<{T{f;llL@iM#JAh_VUqkEiH=$@*Ci9#+o)k-?>3fv`U_f$}G7PYMWS1 z3E*r|nAVa@)J}LHc`+J#i12QstTlR|dupg~ggeVL`Yv89t#tj$V0VdOnH`-vxvhjP#p-nO|^*0m@( zl*3x}@Zbanu1Rr^GJJn1?2Ru6aoYjZ@3^1byHBB;dl2rp9U1K8c;m=PAe(3U*K0P# zdM-{ch3TCB%Z+yTlzn}9%O@PYBc0SQHgI=ZHG7&+IjcAdjBSc=%7`*Kle^D!<@`vL zp}FX?g}|9;@u|Ex3RAKK=z??Sk7LU_OZP`#1&#j9raa)i0c%?bf}dns>V`DVrQFmW z845bYc{HYXlqr~_o*7mmme5UziI3v%gc&!%MH8JRu#DJhrS9PMvp2c$S*YAw{_Wdq z;2&JAY#9i4I}aZ{YTIPWkR436zdt(aUS?cBP~sLZTe0RxXhx5!%Sjv1)h)va+UiOZ zgIw|dprWo)FsJrWKu;$iJd;>3;~^$sxb}sD=$@A}6tf}XoiFZUG9I1s_Zhg2BLWA7*NGMt1cXb!L6I>$=f_f(%E+&#vU zp;M2#3=fIsPikAa&`qGH6>G3`vzR!<5(%bArmkU0)*Ox(H_%z0J%li-7 z8Hku`$-Rs+pZ>yJ>pBWGJ8u2hFOG8;O2JiB{tb^f>udO z6=`bSz+aiz8{FCi(GWWK?6J+jRc#*bZ+Fwf_2b-8$!kPtlfJ?%6Vq=%?TrmZ8pU$u zaIo#hvc=VpfQ;58b+^_?#gRN!ieC?RIq(9)!b^Apl6=EmfKT!l@J+L{hnpp z2%gX~%gQ1B4J?MW80HvO-pzCpF*E?1XC4nf^|ZP;t)1OTrum1|DaP0ON7i~MyR05IGyGr6(ZdFGQ{r1kfc zLZqs9_t`_;Z`m=@WTNw3v4FDYlU3eAi@ zq=*SDyYUr!&*Kh}<&wjc@{(7EUQj;MRyi3buJOP1&7Uf>WEnEfC>{)Iecu(5-gY}y zzfZ{ea`&zJle3nWI_1~O#~6P9Q{KGoNXh{%Q_LbxY{sWtI@42= z!_-S{LPx*rdR@bU%u^V*9IFK4lMCf~&O&~m35A0&k$GLZb*d*xMU}G0!82uG94V=L))7Ta+(Rfv2VR(&V z#$*;~|NFfDGd<{LLVaZ%57Et&W(uV;bHIX-0tKit97!d z+U^`8z1#h|vP5tYecWcsWQDJD+X|u9M?Y@T5JBYE`;n81l~Xj%On!N-Tw$DC@WTJ> zO1_&d>2AUU`Y3v7T>~HMS1$ZusK1RLTk)#aIoKk{3J0kkT!KK9sP!d9HTXvvh28VP zeHeJdaWi{=l1Y8WD16W_BqS?vH7v^ZwAxhua7Pk_Gc~vfpke(vx1u+Ved|DR!PceLkbS7EceZeSHg3 z6>e8^GdZIE1`I~xwqmxvWT<`$_zjSuw`k;V>P3F)9R1nCZ1TVQ2ggT_ZE=l~$x4aQ z-zDmKE;0WGxD~-ahQri1TRuJVS$KN1NHJ93eX2O~v8g9>^JP;{7C^LpD`t~+`@N5& zKS|vGTett0+I!=3&_bmF_1GdZ`dw3Q;CmQMM&`YzOI%WG6D+IcM9r-*EuVb)iMWxl zT&^QD!9Ap4;PMmf=w94~XPtlNtdVSt1OOBVwey)}1VB~8YP(X2I&M0*`_1`aI{Ghg zQi)zNLfj9Z3tZT`$5N*MNRuGfPQhV`VA9S2L?-CmS?jp$k0@s^8D&4atHQMs@|-3e zxLQY#B*tWWmDj!x=R&-9EZn`{FX{s&F7LNo4}uE#v}oFeocSb)!;}u9*NP>sEYNk_ zwI>8cCDsaC9Y5zfn9>QO7QosZF+hen7cm~&yF}xNEI-6t_Fz0Tt!++x%-z~O?|V|D zm7*yty`&Pe{3do0gYZCHl!K;WB+{*Dst^Seq2qr0mkv@ceHCmQ=Z52>TBm^|q=#s0 zRmK_T$B*uoC-CRIUGR5>tlM5Oa6^037%#gpwQ?3qSEh0e`$Lp?mcn)VkXm{#4DG_*>-6IiO8Ih4g~wfcuGvkjSV`udrr+m%qF;VsChTTe~K z2fCC`!#9+kx$65J_p1NJpNyR;9qh6OjJ3b$YVqdveB_HjSuDZcJvnlZx;FO@#ue{~ zq&5hZhGU?)6W#6p;24lZNklRY$MChU@jYGVuO_i8-}jS0SO2^&^6H#)fA$@JtJ<8X zI2xMEqQSx977ff*pocyH+@*o5ISOMB%dVQTgWG6GjG75sS{Qe#46&L3!d{f_%Xr?) zaQ35o_2JRD=R$md-L&Mr>_#^+NeeDdM8Bsr4e1c+@mI(F>AZhCXi2)&{fq*EP>mv1 zz^r2b$rE zdqDc9H%E(RB%Hp*Cb+S0L@~+Dr?C@j8%5sB119Ip9ilhp!pRCNXZm60D3sfflZNlV z$@$lXV99K!7sW1muz31XrL0Bqa~5`!wmT_@z>b|ilOx`u!*k2GV~Mrk&uHlZE7FyLL+c!8!7uf{>Sf}e8yR`%#Upgy049&q$ za|#N`E>b63c3Qo+Zxw_oM{bjcTMDKEfwx|64C-fnVWfXj^w07`)&c&-F~5FzI0~Xp z=GQzcum6Vqb>-qI3f)HOL0Jdx5ODwZKV@d6sM~eNd?ZUib1?Mfb{VX!buQ?>cq3hJ&n{+w zQ1^8Bxv4*m_@s&{XQ1S==$zUTXvZzBz|r_s7sK$xm&YTub}2Sbc9^apEjWO^WAP1{ z2zC(UBCrt_I76mP@>fU0`oT&QyU_Ybb+F3!W-0bOJpD7%4Bl2&9or#ex86z6EXSmG z4owx)@3sUSZjdw-cWQrcRmU?PvZ`ww`_Y^?L-?Z~)o`2BPvO871ofPU@_T~V z-BE-bf7(tNGqyKMXBpOqay_eIqHd;?t@TwO69v78Z|%@$vFB-o`mqY!D7bpT+E+I0 z+unAuB|;fxyWcc|dCGZW>RZSct7sVRD__5%A`H|D(%U4`KnvQBz45?4MuP_$@>bB0 zCj>!WUUew!TpFZED6V=P$+jjeY`K=kT$A*4gr(vstN3kD1lvme}a z&#-sSV_M)Ft6U;V+V=lqCb34%WAD4#>HnsP8Vn~`go=jTMp z8T_o3feIVbwj3YJjnd3?Wk9?eq-IGuP%VFz`K7Sw{KupmW=}=M=L$H=3XVi%bW&-5 zFvvDf8TU1QG1xDY?_Q{5DZLrSi8$7saqSJvd>77c=X|>lT}vUfHj)o?V3=tI!53NH z%ZnyI>R$KUx-l1=X8Zu@U$z~pU-?PS%x^v0(3UHxe*v-D2g9xwVZEh?but=#Vqn{% zu}@`k5B96Sc3F@f3x03A{bs(N2In(a{*+jDd|XAt`~BbjIw+$?^2Jebp+Y4hMG~rH z)GDGqa-)inIgb$|ivI?LDaS>I3~~&-s4=B{JP_!hZf~32!j!X+5f(``O>ithS;Auh zql5l~8+7YNF-@vsy)q=hY2Z~+zr*R8jjz&)=m6J>?;3LtRayW2WJWLF#qz+!q)jCfg#8DB3V4_>EJHvI-x5;@n zdad9E%A!ufTFg+gP8iHha;P;0Vt#>T&_ztz{zAD~M6sXco9t$8Phi_}rT8db`3pPX z6%Fk-{V1M?jSrb!WxJQn-nZNLb)60!?s$mSpAd;okawFBX+Oy;p}giJ zd_uSRt`9S8PNe%Q+T2G~L~ag1TMTrJIZ0YjeZcK91F? zuJB!+F3_?wx`Qyplt4xwNlN$YIDwK`Cu+rkxO7<;NCCZcYIGW)m-Ac7i$mL(q4o{j zU~~xI4GADE`+9!~JeQTw-v%0F3{8p44wt$%PdDun!#sbX(=?5KwX{JhNV6#47FEta z)G~3a8%5u67~sK=9N!2d4{&;AXokC^PXgR-F~% zj-WevQ@(mnDJ$_{dpArEfli(URYBd#pYdKni=oX?9uPX&g36mMigXoH8T7GSq|AZy z1X5lim2OOL!j@%S#pr6pgk9jMh?ZN?=rt09tcB#0O=%G$Uh&j{zGNxyee53BGzBh2#J;;zWTTkW@n3tRwmIh>nw*!JoSRI!?ELDEg=xeIX=EUXb_x1qLnh zAhg`~VSJJ)2Mo0 zSMdBg)znjkLvDG`t#t5v6x~fT06-u^vOytMnB(Kuyrjc3$ubJH8SGh+T?R7rUZ8HO zpkMZ`SiTD{FUajGJP577are6MFFLO)FYWBK**y`*`Z*|_rc459K5MiIADPOHGQW}& zF=^;h%Dl2F3Zj(A^0_9@cRXpjU=!p9Hx`4(4dp$Y=a-jyQQCJxcJ*nM>h9Tt9<4b) zE+z4yu>n>S1Bi?ay%2ly9p}9s=RTy(v7oVfcY*B{ipRADy4CA{#QcAc&_tJkx+N?p zN33B)*nnF683nH!Tj!X?yOOPx;^XxNgF?g!FRc1&oA-0?%iN3WJ2By;QD=AcdHyG` zZ>MEWQdaX-3E$Ml_cX^*h~(Y|DE&l1#gI!OD{c+$rxOiK%#A+53y}LZ|a3m8KXX zK$VLHYsus+#)xzL+jX{_BAtTqZpAAW{k9gyz~lQlt9prM+a_m{!L2djoT1) zn+IkIS&~hzI4ks5mrmjQm6w+VwW!p5gnfuR$_vgc4&;m$#MfM_N7S-xi=`>3!ATpP z4kdV2B}%;aaE-cBu0{7m=KL)0a5ojsjS=5ZYkrb0`z3SfoE=geODOp2?KmtRN;r=#8@sJASVi-Sp~0l$9)-DDU`U$ySd_VMjzxjaCEEMX_W1qdwE=bO z7}^}_HP$RTiw{>ugJbX0c7BpJYRBZ6Hlu9)>pr9|BYAk`Pn;)Ec0Xe`ctm7SyN0MY zTE@hhc0w_{FW#Eh(zOp)ZM7)XT1_LkjH7xb$6XdqnA)?GK=ze+*p5_{E6)mGzOPa5 z@X42p&1+I9Q`T`BQW3Ej+izmRy3ahmNSal9)lWKh+YAtniIThzc9p zthJQF^EAD;g^f>D674@bIUcYsZ6E0bpG2g?iOr^3=cqC8oUQT&Kg5Xt*!skJ-#koT z-`_h;Jei#P9H$y+TQDcFbnn%>1c5g2s5kDDhU?d^|L@z#;1A8}jTRk0QU(Fr<33@i z@{rw2nRK+>efIlJcGs^-Gc@bAZe#P`4@KNO<&zk&08$;z{`rJ$k^4Obey8y252ycH zwWn-v_Sm{N(W6c-rn#0G%0O@HRVlpO-X=_v7Lr@wT7zo+Iw5J1AH2Oai{_9l;h@b$ zuGkfFdgHsP0lP{zd`@P~%*sp%zF^?AI<_Cw&EViQPL0)UxEaD2%U5GlVPl#sY1G$^ zy6@4aCo}u+!w{$CHqyG>w^j8l-J$)2E%Mt6U z8{*B80xn17^+h7u&wpVnO;D7#TB%fP7RWhzoF=~e8dMMlDr7%*<}OW@F}QxS?CEb& zj>EBZqZtRKu!H_7YH@S(!#Ykfto)axgFlcChxOh?F;{vEf7=-)USyH(x-LdG(tTND zjyJBh+4I=lkoMNMdF>}!nWvr!ZxYJ;`jDyMt1qnQm=`z$RP{LM)0p)=Bm{&2~gg^$#51DbC+aJ$((3Vy{fotrv-aVJ-?jTC}F5)mkDR>}_(@gf8 zC!ysw=azx3PujX6Y%S#Y2}f8_X5N82-y*I$xYHuE7+%pq^?!3(en<6IrduH$`?=HR zlb&a$T^b-N@y2QoZO+^2rLWLAs{7xy7X)s|e;9;m)`DMJ^}FEp@U#K8p}5jPN_7fBAfHafUiI_4qr6eB2PC*`fQ06+%@CH_l-mY zlU7%tc27=e)xI~}in3(T)!3|L%7;zeW5;&~Ys}ZiFmBHG#Cwmv-5MxVw5aO2n5M0+ zI~eloGuqFsf-K2u881|(LbwMO)-FEJyTIcs;45}~iE6vLcz91FanB^f;c7-kF%>OQ7zV$-0D|9(CC91l82 zb31`00+1HPuMfU7Cko$kW~jPV>T5)Z6#16FCqH8-FaUJ#E&qA!xof(Z0h~D^7P^6uQl>JaV1{6oA@^fc44;c z#yqO?+&)4UDc?;{PfXtqVl*E+E26-MzMzl$$$6CUsNs2Ri%Uns+YtMvVnXrQI{?73 zAQX)}GL^GXe{l1;#58_rTY&DzA$ymTLxwK*lt7@*kO5cBURr8ez1^YH@Z=$AzC< z)zun7e8nSe`s-zd5y7F#w?+=x-E&df;~Rry{@I;~_7V}r`$jhK2TsOOaM2yvMOm4% z-5}7(xxCPkxwJ?#oVi9wrGN?&Ht!B3x28=2oKP@r)|ba4qs-?P;X|DwI|axr)$~Ih z+hQ@}43svNo#leK(ngdo)_m~i_GHes0_XCV;cS$%@G$u}L!dnDx_dca`VituqbskX zZg;(pEEV(Vt(fr`uf}(?V2xd#1it;pg`Gp_wX&sXdV=x=`@ug3og)V7!;RPWq)*awjx;jAgz#}kMS z_scYBCS=3EJ|_-sm|3m}*&z`nrf^`+lbyn>haBA_;9>8;R6Wy6hkHp1gTmc{6Cl;oI&x0O?jC-GY$~I7kAJZj-0pRHwZNL;y%P zr|1vUx^GnTzXM3O&aYb{uGvOG0MhNh+OYSoh5F_bjYPu|^CYl(OsL}bP@Td?Vg|y2 zRD5BjzL}76A`S9cierIlMMRg-S60cK3@}oQ-7PM}K9pmZ_k_C)!e7U2j4DQs-_K)%dBFGcuKYwH4*Cq`fgha`Sba5$08_P64hR>A4_D zaiCTS2KkJMKU{+!_vBM1v;$9&o;;wY?Kp4R@n>CKsf(+HYldb3#Q;Oam%h4muEvT% z%WAS@>)hp~leD*6|BLDDyA&>8!S;%<@G+_lCR#G(UXrQJs~#WH zq9H*Rba$2v=j66GX?gV>- zoR}0&Qf!+TdOoypg{|I1LWs&%P|gDDf>OIOvuLF;)49okV-L z2BvOTRZEdXs>k$bQ0Lre0H16cSn*4(vV;!=>WZC9<8!E>kpSehK_KoE!+m;X(ybCa znD=gIm**iIBBP=R#kU>tfca0l?tcF<$+xw#W*0^_vOUfC;pHn&JrHSW@>7rP@PiQ% zbiBWYOqKbpNvCP&cz)GU%S}R`UYfwya|FHfQnwMHG^?}TEw$Tw1xu2bpaOlEAh4n` z9}0eUGdSV9^{Wj&Za3?{fr93rcH-+q@ng==<>HRjIAQQRD*XgN0;!#4vnMsu!w{G5 zAK?N(84c0K;rJ6S0vgz_AmrV$p6DMcc>&@8pqzL=!rxo<$-$3+BFLwPFV#3pfRW`3d9xFFQicp`femHR?1yHR^y_Gtp5>>ObiUxB{ZOzKI_9eHxUKMO zDsy%Gk_D^8=m+^X3jh`vWVHxlVV5TTbFXdCM=S4++zuM zu@KkPeGRe0^=qs?O@v4yv5niNwkg<;bso`}t| z9TvY|8j)sT{_G3hH~Uwmzd}K;n+2sY<>v0j*GiCu&yQX?XqrU07Ke}YXT+tpuOUbK zYl+pO@p8rDMkZQGFxa!*`}`jmm6{?sAYadu3^wmkq|nMGmt0U~X2QKCB!XgQx`uuA z7Xk@`hQ@Z!!Enr=U3slU1>Bna%aEy&bj@3|gGydi(L%UxhwvK(FERU~Z^Y!_O3Eqx zt~h-cySL}3y(NoT=%g#FpLLYPIJuB4^qy~`$G$67dXP(s z(~phDk~xYD<#e38=MB70kCHh1C}sEBCuT4v-4p!pH=InoE=Weo?e}+j*TEhi#>s!` zQ{b~m6e6zb$baqSYJ@;g|B8nDk8pCgPWrc$m~1dCCn7Rn!fSDM#d7HDX+R#Xc^lRZl$+cS^qqyt>~!LniNi_(r0eXgoRz^_vD zoEbuu+HjeMYZ{v6ae4pRxw0W)Qrk3JlSQ&co+X!3D2-n;ll~ai=#EIC;$!D=$&lw{ z3=u6dF|Dt}hg(rxisWOet_f@1WTkrva{l{@<+1tkRR8YlPg*ggwZjk9ety&YU);2% z{-lhWr+ouaw1kW2vQM`v>AaFskEOcX7sQSkdu^D2h8Ex-O1nkSdU{hPC#NV3iPipm zFAJ*xZP4yxBEi4i1t@-s>Ut~d zGI5nvV_8!=zsR5)^K3gt>*kOgi1MY;5-FkcQBYgs-tdrK^{D+%&b5YSzXmlwoHCNJ z<)ofX{)5`}AM7)!6VuVXmYFv@`11yDRbGJZMcTk$gJ>dX-*}lWww?J!`-Kev=>A^( z<^MQe?pG=>ndmoJEGJql>k|<6`pT)$JBgsi)!6zwXBpfMW^?3vhMs`X3Em9!6X& zIwt1i-}>TJg?Qi&ooWX{=PGkL3al{ZkS9xZqV=~%`j?Ul6#TJ#NVq3jzqo}bQqDjU{}SLI zKKLtB>3?7V{*Mqjow!noE3txUvhz3V$Ll6mU%TSKA=&9gM4!hIo+OlY*Lw>0(=VTw z&$w2iS={C7G4HiRYLA(=&~U7*9jW1v%%LUMHB={a`$LEs5Yk0~A&;@LQol-;v9&L! z*>kqHk@JJ?_7iv8DaMFqoHu<+EjYi(^x;Wa+f=)` zE#9?wgsEUrMAfv%JzHrosCAo;)*`+|+IoofYesxdGr|LgxwqIk9pOSE z7};(L#MeQCM$o72$JXVMH;0)twWq#fegOJlvkUysTAHqXsr&H`v=w?ZeV^3wRgvCV zdVBOp@^7GqR`-_sF6H$PNp^rFiFOO1A5%3bxvd7DK5%>;j;$?=8FsV4DA$w4Hd%%8 zZ+<)P0{@9y;!1_5wjKQd*d@O&q7_6?R4QBJH7u z2Ki+Z_&(vEmheD;DOFIB{mC$yI-$`FG8(-fnXU2@5d0z-v>Mmb?ah==hV!rigRwXf@L2b-iZx+fpfbM3K|}2vhjARtHNrHS0d=S^ zq_3wn{1JbTT|*6$q%R?G`?Ona6BCXj{-yntd!I!Aocg8AU}LjV-Jn<)F#9W~!jHva zVBI~4w}SjX)5`y5VQxz{O}m=Ln{y3cKawXY1>3<+nR7peLV$sn!{0#vwCp@->$^k? zP?`9OEXRv~QkgPPBUwMGOe2ZeGAsiBW)J`T>MwDY{>WPVA1XFtaebNZA(zqZO%;Tx z*lt(R1w(lYOKsLZ4;C*A{l=a`4{t^&sq>t@X8U8iD+BjJokTJOs_sh46pwJ%PNjRk zo*$4rZV`p#pLuPBCr;#nWnoCpJFQ9G7Ylw-CE+Ijs!Afd!=K(Otn4&s_jgf{pQ(f`-aX?_AAm^0@LyN&;bQjvQMqu(<2)I6F%jKj)k@n;)~!Vn^<#FE<_3 z(p@%YE@v$$UwNf#jGx~wOlY$gt8#U6oFJN|=v{QsD?SgKg2@QnayVyLJZV7;X&#Ss zB!MeD&LBBB+>PVwDjRus=5+Gv$%y=DPec*HS2RNPlIv;7^rJe4wIsOQ4ff^Uh&LtM zvP_hDxs+SQbSSqGB)lpQ=~G+P2NUj(xcKQZ$NSee)r!r;Ic{-mUda$Yqp(`X)3dE* zub(85z5^HYW%nnP^}$qGGCr_ihf3rPw1}g58fMI-N_6j)nYMefMnlX;KW7kZX`Z_d~Cujzu>kG zgrkbJP+q6j04bNFrIEy(UVf!5UB!c><`ZvxQHG~B+xw1NpM5BJsTfh91-U3vG%V)m zBMunqDvdZ^6${)YC9%Z4*p4@&r~)!sQaau7F7j`a0|z#WR5v9lE8236eX_(wMOVla z%3ow@Ub08bIIEj^DNU=@Z`e>j+wCgRlpIj3)wy_Kr09&d7&E~t>cRF*IzIoY=kyc| zrW_MPuaoY>j_eS<=YP%C*da^gsd09_l{Z(*HIoyZUFP=t?};SHvWRcFxOrkC%opm9 zexiEU);4#$p|)JL7x2L?M1(Vw3?gq3-4zV55Fcb=_)qM@k%t4jlBo3nY|&K!)|C6^Fhvp7cx4-Q8{^kGCa1Tt#&SpCSa zSHJxze zIOtwmB3+h{I>6_d{A}r-$>Mp*p8WDjd0w28P5_Z@fpTQsAi3}4ygX|E%7q%;^zOx$ z5#yIAoT+RoPWCt@d;YUCA#0fa8ER&G&xj}GH>4Pq{)nRg(pt-XYzrU=_Z!BH`M=|1 zetRc|XD{XoDJ3R(y|K(3QaTAc$?L_?+6+W7^78z^EkOZ~4uIUpvDFy(%2nZ#zX{I_ zrmftB@b`KR?NIl+XM<{-0KFvewB_q{RhC+t zxb{D#V^3y395>2&Xez!^r};P;#~D$ssJ%EX$jV>gGI_Jq zOMGwD|I#DFy{d&lS>@m>qW`>ggIIh+cgJQ<;hN2iYK@t1OY`i@1B%`LZO8+uX!)5^ zpT`~%Eq*RVav!2XQj*f#@hM$2Ccz-P z=lnHqo`1OH5!bG@MC!NC15504mIYhQoW$*#6SG>h(RM`!Q+9o=juOF|^M8;mpx>Lp z`XbcXu}1M=@LO3b+?M$bflQIM_r_=KqD*Z@6`cDTAxijdHD5jK=~vSqPMV^kei&gZ zKHOo|Zf{Ub5>|c=635fH%kgyHaVz91|EA+MgZ1BR_eC#Tq))a35^~Gs6_P;=W)@Oi zg!v%OVg@P$6M*5?`ca zHq$L0^s@JA7+DyzzmTkuR<8@!eZXSdE=SbT z*LK&?z)B{wts>!U^a+j6{GdB-<98;wGI>~wB&vw~MrY4qK8r^uB(FZwUpnNd<4WX7 zpRwrKzLb30w`S44T~~w0jW2&7S-@)P4!8ePFgVW=4yWKK`7%p&W*HD6o!3)_l4Bep zS}2+K+s`>0RIVm#=CtT#dOA-?YC}x2_^s8Hy;bWwLSyiXPkRo0iUW+U3y3lTo$cR#}aXV@XXO@juB@7L>^ z1d3w%qMz&jow3xnBY2g}Wa|6&XK2cP>Z{ix5o%)S_85?a3O|(&t=mcZlnz>gWwO z+p^!le35!ve6_gSxT3~$hto2#8qGaeww(RFjaa{Y}#n= z9xu$0xM`d1|Nk5zr8M0oJ_AqX5R}@C=7*u(^Zek3wP#&%B3T8qxHcnh^eR%gKZgG5 z?ORNAy-$qSq^;kVUFIswN|7osTG8?9AFBbJ_Q?JHdj{xDB0@@#cgH$zS&1pCy<1Lk z{MNYoNC3vjK}%TpP)q%S&z}`bJi8K>wJm%}yk?J}kiOJz+5tI%4xbBWPvFASyfQ71 zmucMV-ccDozSvLK=yankMf$s>?)#YZ#|1iXq(q}b(sA^UgBBP_!9Q>OM@T&_K!_ui zQTjdZNodmDMaZd&Mi`eAsS?W0RK1-)6R`l6l@dHHjG~yIz8_*%Znl*-z9L^>urxHf z4Z%Bs`|%nY)U?316obuEOkX5?`Xt`w@;XB_E)UUDFb%(JF;|_)w(^Q-12N|OxSkP3 z90&Y)t5FV4%n-6E_pHsaDk_Wv932EKh%VSIjma*N(v) zx3IHATw}ANu2CA7vVca{N>*Zq7rHEcMjE6wabku_NiZW$`}b6At^bm9FgNvRiD;IU zt)Tf?MNO+w&l7AXuU=gT4KaBJBp5W>SL6hju>w-K3*+A+9owBPavIlrju+LB!9@qb zVDr8h+RoR34U#z%M3j1;Tv5GFck2}*IrfD3WPkOWy%5=i9o)8uuw0VSI1vkHM`h9m zZ1^;r&jcEl5WeOrCv^|4Gl>IDPt#oeap3(6hyrhi3;yg| z)5f~nWpHQ;i5vanA+kqJDi$}CH^W)anHo8Di%-YC3Q&kj1eLz1>A$`CmEBM??8g}L zHl!~?c;Q@zVd6(nl+D>dsr+5ArEg_&)du4^R{Q?kB`VKyhDt(wU3Fqbj)5r>2^d1U3NApe%j2I(xh)EG{H1`}nU6x?XMvhBtudYHuhRYa(80 zf&NM2HjaR%tm*b;(my@ma=*XnjoyI=2Qt*R>?xIfOK$}xA8sDJ#yOtWQg(Es*iME}xsxRmp~+wzz=H@~^ujc#LrLaqrtu6}PUZxu}S2sj1)>*WtL zbr6WIWzDpQ4*W%K;0eQ(;6MHSFQ~Zwfnpv%^KiGW9Ny*9VEsVXGHJ?I)%ZHnrTjDzK3Ds$0;>c(~OmqPTTar1$_7?}%pBtv*z7bHZrz4J`|kt%HH@lKC8=8GQaZ4v(Ox zJiioZchHQ3z6t8Nka(4A@kqJ=OF!Ao4k8)-Rcwgmv$Sz?w^#s92F4aMF!@9nye35t6}vCT6iXWo(_#{5sdW1UoFoo;YELSrj}w^rw~v z-k$W2XkMN9`pN}h<)5Thl>3veTNcGYNezxjF>LP*d3e<|eWl7tIby;W@Mj3l=Gz;J z44T#NvdJ0;NtDgwv&Cm?XA__hWK_P{oEi`wwL#-l8N|9JH9BwXM9LGRH#a}2X`ku zDbanEdR9phgTP>z)FYKr3^1~k6ADYbeO}0_#cfn7ox=;a`Pq&LDdTNk6vq^rhfR4( z+U`3vTk-hrbMI@mv~yxTm&#sWa=25;ITS(+qVA@54?ie(3u_~c;Wg5U!2MefqL|dz zh6W`#-5SlClHn^fw2`GdZ-}rP@87BM@1jY7n7=5_Y{`mEEb{RnD`Rd?jO60C_$U_ zxD@Re&BY{(4sNBgRK9)|+v=yTX9a1B2*)YrQILjtfUK%^*dK2B^u^Ur z{f}bvha@}az(=7Y8)M{%!?vdl(ACzO9y4-NBXyWZa zDaOh0Q(D?i@Om)F-a`A#(?dF*(XE-rJl!bljQnjKV@LQs4?%vCt4_augHZFelACa} zyEP)G%Zfk}!l=SvGN*3<^$ViS_J(;}v06*<3!%Q*`tuWz(~o4!gj>>Ab=N`pKUqsG zwzqH8#AuXuK~9V&~7Kn2X}sabp7o$GEpLmV!214J#Cp&LepcWdsb@HVBqW`?N|! zAN(`o-z}SBCdJ7;iN#;``;x?wBQp}US)_985)uVayj}mVIw?At=O2G8w>QL&Zet}% zOaKd8Xqq0Mlib<0i1<|cc;Fh{l;~G$klDVS%;-=fo-EeEhxI#OFioL9Fa~srlYT^% z-8=+O1bnhNt7#^El<1^-?-|QK=L=XKmgZN8O$zlCj!E}cr&bvh%-i>10iLTnNpnE! zUyt)I^k9GBKgS5)^z$aU&EqW#REyyx<8f4p$OEY+el~PWpVU>~i1SyAdODOBagw$D zZ=hSEBl!<2x8?-?26{}%&GoaYjeCWO(lCef=3J=XO@f{YQxN5NTRXxl*&|utu)!yp zD=V4I`$%eWtE#gpaEURFd|fw+usj&^c0~M|u~oz}ucr&IUS|c5GQiCt6h8O@L#Q9m zBZ=wwa$1*JR4>|LB zYbMN|EN)&fnP?KU;Q_vTF^SJYE?oN9YQYpT@=}_*KE_+eu;4;E!v4&jnva~Hccw3CrOBD_GFFTe5AQOPfobrH639s9fcDNa6BPY^wH!(^A(oauO>Pk zP8%VeB6HR&H$8k`M8-9nzF|Ol4r2H)C<}`ds5?~_&}Rs$qpR(`oju-j+Z191!E8Iq z)Rf4a*}N%0&2b zUmU8mwj_$Q{i-@ta;YabVVYo9CCAZ?cDCc!;%)Y5e==X1Fs|kN`dNC=ncii;s`O-) zd>yxz63_SEs}yD^*rB&$N5-wsi%bf=<3~fq-M?LHfUayl zi4=n>EydvRko*|DW+E$#0gcq6JjC@9cpygqZWR1Ng{rWNECzOTThLzkv~?Z5-Q8xS z*2Kg+t$ewFi_7*R`DHD(8uu$soN7D%yZgYe#aH#w^SG7(pATOaT7@6|DccKT2@JdO z$f%t$4v-9)H+EI`t@99uLGdgqNqwoboz(^-$jE$^oNL7zghxfSBODiEbEnVgkPQ>> zfjlt^xs>w!tP`)f?kz_aAu`w#H1ydc>W`1zCsCP83c`JttWORkxQpqJFW`7;m*vOS zNH1{YzW6p89r1}~^N__FgTiJW`>qsLpnBT%>efv|N%aOQo%>x60 zQXNb0TpM_y(Nj}s?F^-w95*ti;i9COZln?58(gq@acKp`yS+}L7}bcxOQkw+rCcdbSydUn`^ZU!F#km0K5OjN7w(C<_wuOq3= z5s#yQ7`mvpW;L4{9du_4hNc}dxH{4}DC`*lgLuXw_qs{ZGiK1L8LklBrMEn70}w$=C9XETfT8V`e6AvG8<0iHLE) z-WCucDWf|aAj6i!b=#n4mgeo;Lw#`4n1z;wSo-=b7`*y+iK;Sc@>KNtZTDRfyd@9L#cBFW@Pvfv z=pff8Q%0<*`)ej?mD*uCKJ1POK4d$WxV-rAikwM=oVC zpTP#IelOLE<~e~QS`hPdj$dOpvg}Y(K6)2>eI9((CEL@=o1x5X0_duYIG0Y?AKVgt zM-~0E9)GvE0#(}T+RRaGHTsTy)X}cZ_a}r% zJ)gN9V{0?J(+z>K@?hq%<|Qq#;m6uXN(<%PBDoznpcyrsrX==^fd^UPP8ARDh#H=g zQ*w?QF`;Qf#=Nq!U{%%SRNDA68$1VUE6TJoc{{}yX3CW_|G}flFBmxnC$}|EVUqvJJp1Z;(pe9*n>#2P z7|yUiD5U`j-ex)y(F{tT?X^@~_q1Kc$rrNcZtKQBilB|l9KJ)Jjwru(R}+%x;NUjg zN?oGlJ-$`EpJx{8WVkdcG|Ig!ixsw;<}4WhGIdIkN%rS>;*06Zedb1ovzD}P)P6Y` zOgAj^3-XtaPIP_%32l06T5O*svnsgl<1F%}f25GXgs-CiH%+qO_g@#7e#tYgJ$!Wa!c2P%y zeTRb%xS!tPm;e1?MI*2z?OS{FX{KfL5h(6oge5@oXSHL6w_^p)Z<@Y0N^Zb$Z}B5l zD40Q63iMSfqoU(X**TWV7snh5P0aJh_Sp67pcveF&uklVf1j!#-_q!i)afR@;s(Pk zDcE*GuFUDK^1N-nNwY#Mw{lEK$dgI{C=v%cm##8<)2a;0alPTl8ifY)^ zngc73!Vo6Es1&XSy>pOl-;XjnDrJEDg^8*lh(oW0j9Ay_X-3z%l)N>-G$mDKTx7T zKP7Iom}JooSh=C~9xFg12pg>zs5#F$-Eq6;^|hR3oGW%ob(wz)nzIdH_%Uh@HjtF7Qoz(LMn;`Jp357Y%Lyy>? z>-@&sf?4MF^>#DBP#ZXrHK?x=Va^CN1v=KXrC&>|bX3z&n zpcmZ!bY9T2p6DHqFPPqH&|RFHksD{*Ww%vYuQwp~h+W~y9yts?m%-&6aijRoM3EGp z-zAT2A_M&~k+% zh5GB;fB%>W41ud?we%#Hbs`SZyy?@;9`$J0FUas+w!vgYy$;aPKo!`9C4MP?aWM8! znodpracp_}srOqs&F}Q@+eL?tmG%F4bDVh~uY&Q^`iZGs7;%ygox>;$bo*sjM@P9o z9m_=3aeQQ5waeG=bwniY*rzgGEuDBbxh!R+Wr5E|uNLx~jl^F*k;+{5ABX?%KBbMW z(X}a$j7UYJi!3Kds-F zcw657eo~`-wY-=eZ^~SrRMZ1`y5 z1sT@GxW=6FnXGT#eBdWV9@cP)G+#R+>rVw!RKzj;TdPlX(QU~MHQH9D)jX^9lI3mS zk7>&^C?}sSeIQ|vO|Xjid~e2EB>B|FY39^l>WLN)SGj$*)Qn=(OZ+jL`r#t9O18g; zkO+xrZe`zztc|`tS8nx032%gDv$`F=YoEZNbK4ZZEnq##Ple;C zG^Y`Rxsg4Hv8HccQ@XT9g#$oh}XSej2w6o?N2!D!4HzrC9>3-(e!3 zgaj*a;s@<7eo6~2{6S3DGpmkoDlj3bR*$BeC$hx=FgRg~i2be_T)p#zZoT?J!e-6F$ai+rH3Kc=DOkhf?U zJYQB7_a_;+w^Dd>hD7RUGcxV zj(_*lzglFuc4r!Xezlw-8W~qeLb*!{i3zK6321guPo|4H0&ecR;rg-O)6cNU2(hal zDlEO~YbWwQK8e}a0SI1Kt!o1=*M9uK`F`xsA(}gxs~6=WmRio?2v3i1gh{!v*#KDE z+co!{s4C^mE5*$y6ulxuvdEJLgoz1M2O@US&UYtx{%;^_*W=2X=zU0#49ovn@pLn>7H87dtTGYY~=dR?gNJ;3LITf>s>U<_cmLXK6hr@tJad}2HJG9jO9oC>cdOHl_h2urbYC;Xyk zh=q^NM*@dZwL3?O_ehn~+1I^n1;!7s)}Q-C1{KF# zuKmQpxgmF$9?f0K)rg7%l9L<}fUQ&`Sk;YN@_@_j(WbZ7jvVO!=4KDTmKNz>ug9)B zQiaGR50^5E-a`kOi0$!<$Q6yHxxjYZ*#Q@ZYt;CFE;X^`pOO82`AZM>lLMy{&8(>R zo3OYi#Co$#jM$Y=qEpF6XttGpUup%~SRNa(>NC*?EloV!YxUrSu-b+__LU2r?4C)p*N5d~edUwz5TL$|t|yv)tDW}X_2gltJ75Dxa~F%k8;5%jw*Hm0O| z#;;2a+>OX4!9VS2zs+YMC?Nw2+2%oECDV&aA0E>O)K{fFVxERYzwBWCw{)W=o`h^Sk2>fLjSjPIHPSixVM} zIc;HmRgj*9EvAAS_W9|v?ypWEAvwnpKlv-{fc#^31UqtoD}XUqgs48XJ4^;OauW}7STUc_Gr0mL8aKm^{in|HHH5KiRZtAmP&wlkX;+~k4pSCEF z&(jaEOV0ni1f$CL?ycJR!pL5*bb>MCMh&Exwj;^U&OVJhpfgpt_K#l1|G2pR@k-0Oa&Pez4yFk>0ao2NZOVNl8GYF6kA!BOFLgCBN*TZWR2r{#Ep{ z9ZWy;X8P%IbKqB0bCCwqdfIKi04I^GAKVDK@-o7GyRS+KV)jPeY!oG#|4bVY*#C&{ zZbe;ZWoX^VSP2RpqImZoQw#oega3GO2ldrTU3zoR<1OmREcuoYS$H-h5OF2Z6Y#`2 zA=Jk2qOeP!XD7zLj8z0Z~r*MpLy%?Y+k`NYlO%O;Aj_j7RIQ0 z=3B7q8+V~Iz3S1sfG{@M!X@715ZuJPm*1u9bB@dZfP+5HXp60TIX|&)Ij4@|(J5&(8X`;a_jC|7v=^xA zrgfJX6`jHrG;Lj7Tyi-MAG`zTo1S1n&g>>B`ic??vQluz$7#dY;l2sEztwjEh!4ap z!+|a}zVhm6e^_j8bg-|G($1T5`Hetp^5-e^Ik`u8BVAd9p>^FO< ztOFgCJW6U0_wU}J$aOhWWUVol;)V{%g8lJ;VkE7&VNrkojx5#w&piM-Q}!d+$YdTrwf(h~iOYAe{U=xFUJR5keQ z--h}WhrhGm{PEfNutt{+tU~xv#={S+XsWWugMEw-o-y~{H=~-mw%&S4?C1u){pC{7 zX5p^QKY!Auq&`qO%l(K=RApSPf=}rxgUNMh?Z9q*aTVubncQ2Hg)WKgK5~xlh>1aE z_?T7|3+SlSs@8tGOu;JsaFTXKsn`>l2iuarP_`Q%fhh;qx6}FYd(;ANC96mIT$xBHmOaENsCNTEGY`nmuw5j@(H-R!tP^* zd&P}G(3#gcef3>B)(ClZE}1&v`}(Z!hBsxvwIl*^fmWZl%Kd_s<*0nTTy@Ax7X5;o|-Y_39oH2 zHBZjldgap8BJQ0cadC({dArJ?FTF&43Z}f5>HY4^+d+8wodE}${f;|Q=l$N~btHMu zex+6M?wYGWMunlva*6I|5pcfBeYdRFVwgBmhGb?eML$tu6mKNJ`+$9;+3p7CMqH_v zdZ9?HU-{S5#d?JZqd>C)kqA@zrTXc*sVngF(4tIu(zjKMDqW>nZkPPd4V=}arvk5& z_YC(Ss-pOy=Zg4q#a(HW^emn_g$z2vi;)a0%JGVhafKWnUuW`U>q}UH^*!=UJ@E%x zVPBAv{9p6*ipLuas#ewTEm zk*9QC(K=%2N!1GOb#W>DT1B1I$%vTxq9P+>=tJAO8Hm`fWY_WK#-#}!M(z*(tJV-B z%RJc|4=J!pXDzKS@m5LfBvg{TbP0=6(dUf(Dq_On*3-Lj-?NBy>hi-4^{@Sv#p<_3 z_fzgBUzuKhukTl~B%*I>B*A_B9lSZWhTX7)u}Ko=0<-18$%VRxBvr5lPjCPG^ZZ{f zh2x{zA9=!VE_!Etig?nw;q@mF(Lb)iUtcSIies>qG9MVv0}tdIg(IYkX6_wiadivy zlM$<7wjB`RLvHDD)$VFnWi=q37jo9lT;Z`Gkj-mjsgmRyWTpCIYD+)G9s4cwqo0D}o3l|($wJlA zb~{ss5<9|Q)ifM|n3zI_OF`?6>ee#2UQg_7td3=J;#s$W38eD3Dk@i9(D1-`tN2MJ zd+y8;NKQU!4f62Z8AEO@hupXQ^c5YO*lL+5-j&&!qK}{TM=ZQY)F-zg@$oVMm;dI( zS_r3@c>MDcn2#xOMob+awCx+*n`%)Of8v5V%H8~N$*ox!{>PZ6h&+f0Z(fx}kv^b{cA%0z5- zcbI3&;!&X^;V^i=mkeHyCSzPs?<$iExstGz9YQ&5fmGU^}8_qv2$9o-N}&mf&T1t z)S|XyLXu|)MLR`RO~?jBpI?nlW>C46Ek#%wzEGG@phu6d?cRrV)6Tn52do#ILF3nv zMg=OmF?E#tx`2)7yVT>IlL{~eCnTqHUw~iHNY%TkDH*QJpVdQkJ4^p{=Q@eH^mgxk zm#b0@VpWE#cEfBx6JZ=;_h*>qi7O6apV)E(?wmF}%Z-ul=ETaw3eVQ{#1pcHq&8hp$Qf0+(r=pT0MDa~DDp4^em^?+M2 z2dK~MxM9&9m9Ro>bdqHr5!QQqRmjOMj37XP_ zj$v#^!R!PDnImG7{t#RYBPI(b*z1 zO1pPqilBg^ARR$kfY1rODlL%EOsEM(Q4(tCRS_BK0sN-`6@_>1Z@3cjgf4}1@MFA}i(kVB@jqxl$8OSKKt{e{Z zwSGUzubzR88F9%riu**SzAK=H3iX|eMWYH`HOGnobcse=Z2+Z8&00#c%|*r}_;jv{ z1FFIeMFfcpYkT|9MY>z=ON?HO1(SUy1&j3oGc}!&29!L)EWlyAxMUDQY@==bh1PDAl4ZwrC zJtt&8-QEUYwvreRWJg!9#>*%>uLM*jMD^`1Q#06JPtNpGUv7-FYL$@DYPOFnk#E9| zhu(#VqypZ^mbkx|hQ0{FgH8`U>>pxQE<#!wrlw}9G6ikE9pk50SnPq&l!#3->KVl? zyPq3n%fRb<3?$12(2rfoIF67Xo4SLu2J|uBv$t0FCC>W{2qFCe_XH|8U@|pc6^9^H ziYQc_R}!BQr&!$fbm@TiwRCtK*E;1JZXb1ThTV!g&(1xLY`z_lX3E@n(O$B4yf$Gk zjsJ|wsa@X?yL}U=8lwm$fjD_bcvR z3JegXk_m_Y!Ipjhb!x=?`_Gk2(q4f<_XN#h8B5O)70_!MhIs}6PsEwSvj6R%RYf)c zDWfZ@lZ@A6t$p@h(%;GM&_f!f6`pYlf5~Cm#CF=jDub(X0_|41u1-*%6Hz6Qz`}iT zz|k5P^tp#~(A31FSE*hu3FFBFTV=?OnsBOo(inPVsprk(uY(@^;cu4DWFb6vI_FN_ zR+Mn-x4nDqnosrhx54ic0w^!Gj>&aSOeW;sv;J^yebMIN<(p-W4gW_|r{vldSIxkV zdGmlgXBgjCr+`-AUil>EZ2vMgS%rbmnUi0?z35elW;X-kaXL}1VdF&A%n;ezJJl{b zmX5NzF~P7qwsJ`)bFND-X)R=)n6*9kit;N}|FKb%&BwPn*A~%VPRC`s{Ys_X|Kx?( zuTORnI2JrVlbyW$AN&Bsx$PeU)S zORjC4Tc5T)SoxJ|_4rPbdYw}sY&GGIO3mo&+It@li{y6T2;}KyDMqa(Y?`k6pWWT8 zzW)Bk`xqPj+!<~0(T4q=4??e7&82oKf7ZknA+q*3(RJ?H<#p3Zzkl8ytd~0@mvqM5 z^P+LEbno5u$$yl&sPCUc&xy*LdDvjjN%JV*)a6auuT%tuHnugOifh*xrzf&kL*9SK zuqQt>|9+vLO;5Eh%(uApL&6;;_qmpxtCV~=MRpF9xOq-BDd@TEZN+QnqHzspHp;C} zO6|B$zi_*l%iWo_$3NiB`Gn_O{!CX&RNrfae*d%#XJo-fm!2$Sw%lE8^|*0;HQWb-Xgi5Xs#Mu$ z7b@g%MLUIGcT4sq*=}-`v0Z^myfus|L|9SJP~ctc$s?ViiB_sK0m-dNG%SEvsP4cCPrw z6&{O`97SolN7_;2Ym%~S26hMUWOpOg6Mrif{OZTU`MO{-`TH>smv3i`zrL(1>7gh0 zPVycsCrOC^G`>NCom=nv`LsmBh}~hO>wv3PKZ-6d?o(K7@wgEV`tE~aG`{fTG70Yb z^XjTz2vF-2-fy}e0kxLa@jUFUUd4(+YgaVZ`>Afh{TstE%^#O80^M9g_oHB*^b1vr z(h4f;Lb&zh&u^!`e+8=5&z4@$^s`k~BR?-^sXX=PeCYho10yC@iiT|8&HH7#2vqFLS|&G7%5XM90-I1D zy1DIZfjOejN=8%h=(1ki%{3trj`LdX9GR?e*cuR}1j4d(f95GV9D%9lM#afH+@o$I z+!kXZHPTIop*_inxH!714 z#gud*_Y2!WdGK6OLge6JLKdCxc`7O#eN2zyyYSxU*DgL%Z7;ouXzt2ls->!OY{6!E zaBf_SahL?xJ6^PE3XO;d@I1UPie>I@y@A_#IShGDRJ<$dC6rg1kSZjVO6mv6Yt;At zAod5WV1Lv7Q|YqV2Ocx1+9CZzw$E+r7NG}CAfwasT=L}@w0o-{|A<2Sp6IU}UopU# z@f(3!a^og?TmIJ#6Er}iZ!;(Bh%(n27%v3eJoe8{MAb<`&P ztNKRPbsx^_)V6&7VRuK`xNBP@;sD4P;9TY&W)AS_K7+6eFSN5biwSl9ELZFuyCA?z z@^a7VIfy1`v_DR0(7z^|J%-7TjW`-?IZ2zaH^K7_QL2^dlIDTRFQBi!tQ{3n6Vtu9 zI`4;Rcz(^S7vrwO;=lfqy7IK(IrC88m4?zgIz%wzPv1uW;m1zvwC6u2vpo8IB?(>B zXT92hzaFVDgH{+E5LzCj%MG|bbv9<^35}Y0Wus9(85Y>;1uC-0J)q0yjG%vm^j2pN zJhG}?#Sb@+oA)7{*H{OU`&A5D2xZ9%+EiRkZ=Yyz^f*m#sVH)_6S=olzaWbTvg+5V z8F?^Uuw?6K^{K8TAi=oQG3ze%TkfWk{B5dVvXh_&XyaYb{j&V)(B?C!HIn$J!NH^5 zKWf|3yk$P$C~l?NKYLZOBJk)-q&a}C(>m=dm}u4|=~z17UfdVc<#$pO&`J?mE8rE( zR6R~tvL>hy)8ZRoHMPIC>7nq3iXy6-pl}`bhQr) zq8Xecipy!(PP@-fJ~-H{s@^%!dcICJtj~`)GCbT6QD~}Ylo&otcc()0=U2g&xQ44$~Ko^vnf-fY~;@3rTT*75UlaUa}I38Z{jy>Jf_+9EiNVDwuZc z;Z5$x?|Sw`1Uh94&vdOuE+=eyI`@1KmcP_1dr$L+WIoiWHH>~>fWYWjRPHmefia##B?b#R33abl~ zzaBRbVXLh&_d<0j@uJ5M)4jdkw`K1g?bf!{R()8KoN*HPPm@+0D75#}BU@J4iZfj* zPdF!j$vu1KqAoom3~}9PQ9c{~1!+$!%Hl7Ap_lhB!FEd7h5kxKpXD@G8_23TmC3E5 zG578@f2vVfZXV7ks3x`BaTj;6+q{%DHUFOUC)tnbDjf6!%CXV4!cjjW|+WjzhA zz5t60YsM|8C>uSTIf)>BKT{uX>k!c4TQfT4^l;B_03iOvzh_r!HEE zUDd< zYK$(dGBau-WL2rQJcXA?d!chi3}15~(mcXsXVr`=Pjo6g5G#OuG!|eBc;q2G4uwij zU#zd8xSR6R#>84jW7^sxA)4fuibSe-f#1KWrwuFpp&P+kgC9Ox-6|PhEE(m4oAYi! z5Zo?i8R2ELPh%%Y{nSw;~p33}`Jscs>NrKndoH*}r-kcrkE zvCBgB7#KgSPhC%SeI614_VS(27s@F5S!DMy0FOA?5M2ldMx@+C z`jdxU@n`(I^-=p5l6x{S9<`T*jsSiZVN>Z3q^7ao7>U$)j<~<@+D&HOe>8&@;wH_E zS~~2tu%#g_?ZI*!v<=nh6G<#BmJ)WSP&zEEww@{WXI+mP`z?J)$F|^XWL)Jq?A@;K z75qx&c~r-EO!)YgSK2ArtM;+S--|SZB><^6)2U0-OP(zmE4`tbh6{pj=T@l_U&{vi zqg8uM)2*5W8jY)!qrnVLBJ*D5Eye(;!{8v@C0}0VEma4HJLhW+ELbnMH1Lm^#5<=A zxT)<@y)8IwquMehNH{()^8^!YEnVb2M2;JtcKcJbu8xZNeF+5KUjJFT$RpRIVQXoh z$nTXo_Lw|8W`N?9jyo5BJ4idRj zf=Mld$enun!`>lgVT$(pt47>F6D}L4ZGwWNgW-f|uyZ2^isKNoFr5Q%Cb1wMGTca{ z{ogpJZ*lvdQ+WWK@AX()H=oPtj#@m=%i3l1Dup08`XU|f)rRWUxFe&No|nO_Y<*W> zSY2^mfXVvD0h%{w&+fIU?iJUjZ?v!t6U(HKuCC%3{Vn4k<%=(4uJ8y&6Z_F>j`80ITz{oHA+}2^frs|@zB*N}mR8*J zDu0{&(?T@(3gZ?}a_8W>S@Lvc28PE9YdY%b`D+h1MplBOk)0jfI_GO&`Ak3qdWrwfb`~U!?ouE_09N>bC)03+JIrf3K&b2eBs(@5_WmNpAX*Ar zcvx7H-kRsThG(s(W2XCW!1Q-17eO3sRUH6i}AxsOJ7*S<2ZDd>ZXRx>#># zoZO>F4K&vmr=gjh&$iCUGKG=SgE1q{vcBNP%*Yt=5h^U^6U^IR}_0ifg#JJ zSH69~hRbN1V61;y(T2OC+!X4ra3M-&BuWZp!*Xq?`OWQx@3~xjh`C%IgI}p=T8iI@ zmK{XBw8BuieEY*n_mo%}RPa&E7wg3ygXUo6Oy<+Ty8n@`O2~OLX9i!HFB%Y5{T0+8 zJ|UM7ox=4FTHD6dkR?PbRLRaLgZqg8MVP5|G_uUL;ddyEs^Yp zds;ck(L5s7KPrj6p=pj4#fk)^ zZzJ^R>v76<4FV5hn{vl2H^7R6fsH`HV@yOx6lylBm&)@D4uR7w1f~z-1gg;VICxvA@cyj=rqm z3ScCEmmG#Q#<@Ar(r!~4jF8C69xIYu#@O9aUcGq8{6HdE+lO7L!t!DjJlwhL#FKnf zO;7o*60kYz2ov~G_8)lq#SY-LM)I76rGZq)L$2o^2mPOx%>S|n<{c_vrpZuS!f7jJ znEGs##wW96xS{P3*feS%xR$6ABb$4ea(wx_k&Jm=ViJ#BXidzHnr^16kaJE$?9K2xjEE8iRi7%Dz;Ykh(n9jK2c{Gb;Z>26=@|EG~ z6Q5*=g}Wl~S(=VC+ddeLY0Oe&>MdA>rh>Xv+O_NLl5qU?*icrZ2-MnKOQ8dy&+6*6 zl5IB}Xez^y$YY60Ifj~=FAh^DG0O-bFN02_(5Te9JX+Vd2@=2kOUWOOmET(b7q2vP zbL|Zd%|4YKMfR)QCnu^9*~In=5f5Dl7(eAKph9tCtL>ip_`UZM-ySpHA-Wulyc3T6 z&=Gn|ImH&|(`I7fjdm_Gc`u>_l2AC;a2~QH+YDj|B;iMjh9m%?COIw@jsWkvcNxN? zJB)0>d_IZI6vebqwOxGT5v|K>rB6Tufm_VvDCK%3&!@psiJudkTOva36(@#$RJ2Hr z=`By#2+*Rajn}JR5medRJRNqjhLu827o3#%jyHdiB7wlZ`UagIi0~Q4t8RLrimb*s zS-C~k`Skc(aC~TL>fOYMOP2ugpZ&?2(4dP^Y|r0#gk%f7d*><8Lgnh!+TOe;!TzB6 z>BODf@3UAMW*_psnQseT6HQIQ)x8eGkIA7C?Q5r}Gz98v+A^l5zC;bQehNyEW7nP1 z3kkAI_}~bb+er=i)Wi`+rFiV`#Ml3nymdQi(4slsOH_T`6wc8!G@9qD)ee!+2MZ!x)~yrqwVrSS-0>!E*lj-h6HY*BSpTSIQaIy7&Nr7ORUM)m_` zQM7Bq?p=nTuxLT~nEh9YMQZ9xR1kXhIpc@5^Wit6c$&ZV+CpR}^Ulj`L@D2t(okL~ zC?xAVju~JSk_q5AFL}B~gQMN)a(02?HD$2p8>@ok$N-!RkqAUA4-6cQLzepJdgL^Yiq8nTkJq&62PkJ8 zh6z(yS{6B=#Snn@wx%s$!^L!TY?Lq<%3$U04}=L}ka?ZzWDM5cSs&ow(+XLblw7;3 z-e`5*9Gus&&F#dR!D8l8O1pIV#TINO$t~Th@Zxu|5=T{j)MbiTmVV_ zUCB>@<8ohK%6y@zQ(yahu`ocv!Jqn+02P&3v!xbxumPNY>w)_N`V%@&a&O1v2Z{%p z5?NAH&&n~}Z}){J7&m!X&9IA#lpeQn#zx~4L^v*iU2acLDDlLj4!$p}zZLbbSi6rdD&JI4(p(gXOL!d-xuEfZ&}j*7 z!tzlT>_Z6SyBDfQ>#kF_!D3HdQeSMXzgYfoyF#X7`VOMT1Mv@EFW{M`d5kVojB4;? zlDK=m&C52RN5Uhy`1(WBH9HZ5j7y4d(52DL3~dgq0um$aT%df?KAU%)77)(({k#d563ag*ylbLPx43nB|nLaz|?co&- z&Qg;2rhTR?KFuxuGzv4Bwu$DM)t!QCjha@crUpaPS+H)Jc>MiUVa{qmtN0a3$uTNk zc|KXRAXd~6)-(}h8~U01bZHSLU8_~K5f3{l*v${k9Rf>&wlgC@psQC`3zc6a(Ad`` z#mCRV1mQ{o`^cK~)KuqC$+-IUvmz7SSodvvaL;jKK2!m4g}+#4tkvn_nW)ebY}x4y zSF3?0l?gv|hR>)d`{5d^6ksl?BEvHLQiCO;!e2V2O3UrL1*L?KO--7bERgU`a?$Oz z$%aJv^uEidpEk@ArMndy1w{>rYem9BeaZ5Pf?N;XD)t5kofDmo^^)bIgtjFVX?`&& zv24aYvQ!yxEMWV*Cxh_bz7rg73W*E#aCuZ$VI{$MDmKFc7b%y9^H#&E9 zsa3q8=DDd(%!#>rFm7R0&_oK~+W@jalofO-t65H@GF&NUT7&dIwJ8O zy`n2AivWrHFk}cTzK=tgg&gvxYR90Ryto>&or7H$W#bN3d=BU(1I!fv z_DD%7C4>g~w{Nt0f+*{)=t*U^17Fq5m>L+8s)x_}iUM@~PoYrf@RvH59={dUx^T~j zY?%q{Wil~sOB12l8O=*zxWZdv-W86M9)Ixnvs)4Vt20;mq=ln2HhVH|>xDxuUf}@t zk{Xm9y66#795qcV;hF1~-8GJus@G}|ct5Z}ZAz5SjoC_6PlL}Z092O%sY}F>oXy5g zvzeCiXS2uGdcZ{)(L^7wq-wIzxnoQ^mwV}6>^}p{&sW&|bv`OLC0;6Cl@CI^0&j@Zb9Br8DlEUQgs#J7c z#ZUt(@%(nWHMS{Jq^%@l?gVB*AURp;bA+e1`mz!)Ee@VUu}O)c#7ubtk{VvB21Gy& z42UaN8GXH0y+IvpDZ`kyWg+2<;cnz!iK!m~rM`2fy%_P^d=?H+g$e;4|0Le!a}9u{r?|PV{u2xg%q)KpfW6UBxf028mB-}*oj}KLmHm^G;ZNZ-z@O{+8R5l@$_%7?@3e{03 zI0;@ekW7DC;;P=3=sb=tn?Ujf;Eqx5Umu66N=65~Qs7lyu{1sH;5h&iG}ggF?R#k# zr$F)de0Gm*;T~>)0-+00g!N7=pfIa-{49`@Tw$eq~m;cE-X>0N}LDgF+ptxc$;gltCl&#+Chg_+ zB=D`F1w{5-g0S9uHZtU!4_6IbiJO>*y>#yPI{Xd1)-;9ZeE2tCmFK+qZC3iX3^sis zgWKP4T3RV_ujN)CM2y_gK{G*$5(JbVFEWS&KJP{Nzd;Qa4}s5es8{WIVO>#6ZRNrYUnNR6#0;Jy-LzGH}D*;y6K>FY#O>Ap6sGn=BkyOqy32ctAUpYTz@8$*ULE3 zioLDrrjYR^PNxULynQ;GEaGtjzEibxOw8@ z1``xy18m*z-VQz1%Tl_ql8B!np9ue);L}|N4d-t1>hsb!C{}qG7~Mma%@0k&`C+A%En4W%JZV%J8tHM6O+~}jTUwaNMUYZ z0pL4SO?mL(rWT2NJ)b3ij+5b@Wuu?1H(py65s;RR1()@{QF>G{9SUmKd5`*t<6qF{ zrA(mSDAhHoGWgKFH6%KnQYnSoEkoc)3|qlVhmxpl${cwXOG2mO&2Bnkp4xGE(_h)hTgSs`dP$3(0A5KJys;xfC}D zs$_q3ujgIsT{XKdE2QvzEn5Cc?ky#U{(JQoa>PD1dOyyj9>01y6};<@H5-+N`3yUW zYo>LkQ1;$fe(bTh@do$ip~YtSVso1}Zs+OLo94%DUI$Hfd{0+fzvsKsv)*8qB+Eoi zW|fU@T%0suy;C_}YV7V@Uen&#ViaXUisjhSH&xwy?ug1BiK-BvJ$Z{1+Z^WZ%&5=R zkevv!kzuTXN>vi#U?~&*CGl^GO3gIZW5@D@uhU222~ovvI39`)1@*Yq|BV|bLt#ZK zXaa1-&O2FIf_t^9bzBf^a;#sR9D)KBnq`|xB3_@46EZqJZSafenf~3oPol>CN}Kiq zdvx);Lu{(m*{j4<);uv@^sxcRvs3*cW6nA`uQ(^JVziH=PTa3qLyor;JI~^YXGF}_ ziUu%-zz*u06D2E;!XO1|c5^kLPJHh!AC*;^V`C!)Zeq7;U%uPqeQYm;yhMqZkGEGd z5p)$(&S)MIOM6sQ(qt|qte7elhu6Qt9lxqv3Ge&f96X@wddB5m)P!j9aVrI`0g$Dj z^gLT{ZEaKK&Rg1-xbwgN@PC}0?f(>g^YL9vGjpHJuj1r$L2>ezKhFKZgS%*jI?oLR zRvm5LZk0NH=y2GhyA(L|{*mr0Y}*>GMZl>ZPPs=Mxb?BcrdtWyU4ekM3KPl&&{kPe zvSpE()6YtP_$jVgMnV=rg3dGBGrQSb$p=jg=0%-`V*1_P+TfziNWcS?0B+lM0ZxR28q79=cXh z==lN^wF^#AO{-Aom`c%`TtA7)*OK`tUV<4HJbbY*I1&X=;+|p>+Uy@8w#(!_68_4OGY-Hf}2LtgPAMnosIiiPD0kH&j|e1v*$_#o*O?R$wzu)J<-q%c;7C7UbeM|b#H!`v?kfea6g6Nzf9D=#scBUbpSaQ z7jfm~Z*}4C9PDOFV_s9c(By%vK<4TI-0W?*>X92H1({3SG=Gy>cKD0L`$w@33MXr6 z-V{jE)_SLZ;nY)_mSds$Sq|;}W?X;Lq}nZJH`A_?3_ml<}Kl+*nXx};HHBl(dG#UsGurBR$jBG+Y;hIDQx4UAj z4GSZB0j{8c*d<1cXnB57oBtHLsWj?&p%__s*Z)@2QiExe7rzTJ)juNYX9Iw4>N-ec z5mhs9awS)ib97otFE@BerCcn90Nr%%cX=M#V^(e!;{GDzn=F|;mY9lWqOXRe?s#uH zr+fy_<{90J_ZM05*qEf(qXrGRV`)-A)FDCq-kRW8t(|u7qfHsd z@l7W8XVvPIc773;D{wE#1igC;HwOcSU4;A6n~Jp3S^LHp^n-_%2yMZb4MfY3 z3ogp=@|sU?nh}1+EEk#)Y#Fg^dl=;s!Lr1}@q2CA@dBD3+Hd>q&=5=!qq#h1h4!k@>WK9!&8gv~Y&!Qc6RcE5o zl-xCZe?X+`-iBe*CM7*@VB=O|-5^hyqfRp3g)`c%~Br+izQ6l z)7)-#qO9ku?4uf7kt2Ai3}Y0rA?0=5*vFvnB&`cqHK82OqU%bROzj&=#$u-NLo@Gk zah>xN)0&bBHJ8qGkwHz;g9LV-2i9zELA$?lyzPU8>#_>1EI2V=W1OVtFleWhlgWJ$vYKf~vf|ctCN-1P zlrl^+&nlbBPoa2|Qo$M?ptGET9rk*u8pNnjUY_2fnBmfO-^z?rQQcRhL@_-Vs*^08 zV+9)?RZ0t`J>0T<(#%=Pma#nE+@Ejk0SR<<9DM>=gaDGFEq-f*qF5&>Cp&3N@(b1* z+Bv0zrk%DX<5#%baLTq;x^nkPU(T{O8sO$88ZEi>d@D+K-)Bor+!Qr=@7a`uO05z} z1(btbIxm};OioTYyZ|xeLr=F@T#>@AL=Ae4R@GGE$u+ZcdtXe$rdDE5mKE&u^Uvp- zUYhp$CwY=2pksKKRI%8IhXjoLF;hPkk4B5dLJLakkfkuUpgh-jNtv+{W8c6rO2d4M zYr`$GgBlC|XO3A&yJWK$64#}xDU*fQ49^Ti4M^2P76)?Ve{T!7`TBUkYD? z71PoI#&Rep;gQ~BOIv$4B+9p>p=rUF5l4?D@K`##2?MkV332rb=K`KQ=7MpI1uK~m zqnvD{1Z^IACnp;A{WkFZc>QkEEyZ!-YLVZys7H$isRs=@37ilA00L*M?5Fy#vy%Mz zYAx>xC(B|<%uFq5;_NT5MFCEmQN2^d?lAdAK$xpdJqs}^usgixkUMxp#3R1b9O-q{ zYL)v=+?%>*0H=z+7co2W`^+(~dg*DexmAfo3U{lzo~KAcvJwy&m@IBgoZ@$ST?5tA zpHI|rlI1{gx4`-aJ8Y)y9!dux!XGy+K4@e;dUZ&i!wv8{!LHQ1}p!&)O5CoLJ|CNdnA){(-yRc*sG!20%ftzE`k1Xbfyoh#J5`82M!$O|>W)KK%rWL&-(W)>d zemiK&S%;HHUrPq*^hKLEPVJ_d8G8?=gJKrp7Vsbq&%V&!9M>U&a};2l112Pl;PM}r ztDG%)z`b9nxpglee7x53Gk%CkeC#qv#E;*9Pq7}nLVCD=ryims9@nScUwX#wLkQuM zxqe{N#=*5AL@DgnUclX7jBu}Znl|kq6b+(ODj8<>v>&O@=Rk>^N}uH`Zy-UOEQpowdq`gS{z zJ84?@S<6gwh>*fu-(X)_%GGSlWd}ZEK*p}IoIL+*gj5zW(1He-bl&DOnj`|5cQFwU7TfeGpu%#P=|ZpB**N!C}J=*1f88iS1IYtho0^bVa9X~>gNpODTjU%KUi z8DnU6*W5)xVZQ&aWd_8%F3SDmw3hl(IS^<~{7%8;L^sTFxcLl7H)M}t(=ks`Ty;5# zT;}4MgYVxkQe@smTSZ$sN%3ji22X-L5EXC*0A)=i<}(np9`{9wRNkN}_~TFivL&-#UFNs|)@rqAHbE@q*)lbz@~yKxWg5 z+yVX+G?b{QuWzs)fwLxiibW9;34)cg#iN&depW8KynePa4p#{;P#_MyCLy3e(gbG=(`;T zYdGM8_cc-K>Nn%G+dH_L#3%J6Zj5&asqdkfVFw>b>~Js5&8oUOvmcO+iN~2&T2?Yx zXjDVl78TPo?DXB1Aad;2Yh34(Y>sRwaZl0VHdw98&iEoY+>zXH8bB z--Tk{bLIiEXTc}hqKDiq!3cYlawf?T5ZB4yFdELKmpyblkAah|OM4@^HO%_Zb~+)J zwE~=yBgymyFL$^uT&|-C>A!jnPkWrYQ)M1N>nTyEWf?0Zy4@7)%%cJw29;?C1$r$q_N+ zMW)7G+kEczzFA@~(7ANI*EjMlw-lM$Xgj!p^YV*kQ?@zfQPyj(1;~9#U~7Yv ze+)GYcYx_gHjya6Y905Z9{)Mn=TLL-KOHA=9!?KNuMyMfqh*RPPae!E zeWAMgr8JoToGg(#Cp0*aTa>Y^8WU=&yWaxY3y){LwX%L-zXLjIaqEITEuu*%R3% zg)VDqZnCRl66>Wt?{xB#&AY<^o_70y-OeV9y)QY|` z#}E>u6^Zmyf7$IIip)i&&D(Vt+}l!fR?)mzpb-n+ST6DeH`mt4zUYMY}wUW zquI$~4=(yr_u75TL5y97mbrR&kODVz0l-s@+0#DFbzuktsD_$6A`!_!mN_x%q4_CH zK&a!;;GetrFT~ntYdvC*xjI0mFLdZyC%2utER(|AunNg5_eoEEQ(=TeBf?4gG`7_^ zlZ^e3-sH;dJM%*G&u?cu4PSGnou6!kIMps4W>e(U9%fS=*4^*1wO}4~)omhtx zC(CKiD-FHZ(cQ>si=nAIf94X1R=37c$y9J6FriR(yc`wGWab*!wLGMj0fn9y`S|;A zdjz*ZD(0Ylwam8BAbGRw!d=Pu;?TyzGYhkT!d=)Up+j!*BLw&DZeyCvz@q6#HMatx z(gt?N&q+tsxQ1f&4YD7>X(;dZ93E3l3)g)1=Q-4J>@sj0gu$9Sha3KLWvw5pzt zl#;SFJ`1jKLG{ODvlIIgBJlb&yi`6MMHFygaWTcr}OHHOQ{ikc=Zaj2V5Z z@1v`5RTo%f=eWbnSS?`^d3(-I#UUjNZ6VfvRO*ADw=u}#T!GCF-ws&12=i8&2mi7_$c5ABObPBn@}!vQ-yvL#J7 z*}fv5Y=tM|F4z{^ZI8{SDlRp)Di(`D5FEgI={%^ODc}a#=QfcwU$?N=%|w~NyD|ow zBy#c`5@BF?NUg>-WZ(72?s`xZ&lw$Y^1*q@ikjN4t}SK<8Kp*=t@k&Dn+PCN zNnpjaI4pN6w4KaXv}42B{hK)^S9@*qqTKjE>iQilI&dvf!ql1l7VDJ{!2285g&^~esP*-?`|`b zvFAAB)3*yjrx8;R3LsGu&SQNNx5kO$tov7Lb0?TPqZOH%uvI)s|h|9@nnY}+k+8E3NMqtmm2wXnq| zIj2f>&M}=&Mk)m+vy%8Z0v`My^dV^4(6ev9&v)IoD7JW=ErqtU0ZSi-T}%t6+_hiz zwf>306c~pNkCPJs<^hO|NY@lI$-VDslqT-ElUI=y@0RYD&ch0(=KK`QPo6q~9bdOK zO)B{iPcz%NF?no^m>Vx?SppJQWHm`lknuS+_R|^_%@j|Cym5WCv^~Q~>^EiTN8RI} zf|W;5;dRHa*L-BUCRkVT@eDMGWI%{&DUxBufEDD}f6ShL*U58qw?vc*u@_l(p~C9^ zQ)%_0iDmCdF=Zy{be4Ci5qnmQ9}t;QhhR2~qS1-5EWwm=!}` zK)w`agf>^K5bJinB*cWe9jll#H$%K`_m+jf%p9JV-dcb+Q@p7JHq2xwAEdj&mZpm8S{tf- zCh53&WU6SpAfqlJnl(PD2(s9>3%Kv9de%cH@6J_M4q?$N{V9#o#^@xd-A}foLxC6C z?Xn3GWXU~?dDcyr; zu8yxNvnXt7GBcJ?RBse`53px03RBl)fvZ*6>N@Z7JHXq8?wy*ltM})#c+eZBAp#)7 z*)}jGCP^Z-?_2rdDFlUYGW zN!D@8!>Tm|K?WN}LRj~C8Sa0Qo>DtVdw%)_whSTm$sG+$e6bnbr3sc3_9zF zwSNgLM(GG2oHy)T$K@90q*nvK!_qHH4@IA)Td%Oi)%0I4uLaq`EJUiuoWrSj`hF~f+$5t3no@NeADG^! z@mRW>KmjFIH~2_HS+s=A6#*WdntYyW6aCJ9CGFX^jSnc($sAvko|H@uBa!?7XZwyH zN*ezddj9R@e@b{(xj`3Lzmz9*F^E(T1hVZCtjZ1lLHK;@hfuLOn;P8u%td z!(PgV{KFhW$|UVAhvXOOyk2(m@)!g3JS?C3K8fWN!}?fukIN~!{@0~751NCcqUBI7 zX*p`A7%$kf1=oBb%z56V%+ywpGTYMnIs#q-=Khd-CiRsj1#RW`DDHuRLM`oKQGeJ; zQ@B#Eb#>)<-Sag=fhxm-&qB_Pdvb)HVhr7|A{h*q@C{!`6D`VDpU6yl*{75EwEKR9f1&flTK(NB@{)GCcT4_fCwTe#fB77T<^qn_StLi zbM`u(_r0#~J3r3&0oO$)BXf*7#~4q!pZf;)+4!r9g%1e{LCr88P%2kS=*tS*Yx`fw z7z`|d_gIu-)MhEZfch0s23}EDI6cf&G1y!SH%POOpvOMrF}si@BqX%-vrg`TlIxs# zhgU$=Ob9YfOnbVy7O0g|;B)V~qW0ow_CO5pO8OLLWJErf&0kxajgnti>SA%TD-jMM zie>`Vi^J_3jmW+*Jl1XCF3GGljGtQ zQdV}USUF=dL{Yylq)>*@W+uOgb(Zc)n4`s3PTU2`-R}Ma-H#A)L2KsBsAFUH*N=%? zQTdw8d|KREwo-TPUCv(JA30(yR z6h;5|>T#J5b3DK1NyYsy_#e{ePLQb9OZLhi5e`7NexCtoT8(m~1OVKj2xb`R%=$i? z!@YibFn%T#ki~}ixg7V0>UdlulD_FSfPJq%2bWE|cjE`z&11ow8iUj5Ph7X#!t|G~ z)^FW^GWFOEv~@o2aX0BPpdkM>i>B$O$TuePw?oy{D@+snxtprqAHICZ#;N}A_5YvD z&k5Fj@wilqU4>E0f-rM+pmUp~@qMXtDaNQ=t;(;Y4E$JPKW)3ijH0*2LzSYl!*iJq zr1Kub4eBxO`nG}6Ot6y&{{?;b(cAf-wttz71|U*27tmSa5zE3#VjLqx)2d#q8@V8X z*O))!GJwMJ}GxQ_rOf zbPE@ir!|#veFB7o7W3q1@)KH9*@^Jz1z9O(E|CB$a_cP{TH~7asNMrr`mh;#m#-XQ zl9FyEhxfSk<3nYg`OdViRg=Dy>cc_?L@W$H-mL8O{`l|X`IFu8AHZ}+7rnr8NLSSV z4r0ZM;m^JBzV!^bR&cp!%k7F(Ei#{DtK=C04}O+6Ad!%mB+k#aI2Fk_-yM!_%d%xW znGgAD1n_orJ%5_Qr~`EMs|GY})duoWL6gjHBfZ_Q-$8hP%hWf3%HAs~)Hn#lDn!JW zu3@=1c}wOG;X%V~jbwffw~*qH=6m}Dm?q>znGj}Fa+&2+oI>`U?>87u{^NdK|Lh!n zkxP%5q{`zodoQ2e3f6F1pbF-lg?=B5Mq>P}AGX!(-Spf3WUeR{9&FQQ8AM7@ke@rZ zLgDbn(o3%Cbt_E7q*<9~2nOcmnx8k~DgTM3l0E3ZkFtAEkPy0 zLJH|{Z~r#aNZ*=Tsr;_o)M~|t7Y^Y>3H$)j{$xZqU|;T^jK$fqXJ%E_$Jp9BxK5{* z=>a&N&OpUUE;yJ@xU?-H_87wkd`hB7{*hwy>gw{)#k!_CLAA+pg6mr<$2S+I-P}U5 zao>-=>d%RmQtm~s7{f05n~0%cV$qX1EnM{(;F4d#fzAGdGK5Gzfpg~O3#jS^>8e9O z6yntS6Cav}+Xwe4pv`-at9Lv9`~j_OpK3f&WTHwAR`)Xxh8y z6HFdH7UmM@vrl058V42G%d#>#v+65HdNE+n94inpj@Qby0H0ktKXRMX#WQ7hgyEYQ7C{w-3l!?EVU<<__USyc<{wuFezx&gMzkO$_( ztC;tU0{In2MiS$9w)(Y{mxtBAaqC^arpj_Z(7x$x&2(i@u!}(j$!xC|#u|4QlQpbe zWnsqW9m9|B7RP^TFXc~6L7ge@uKO)^|2O}|ETlp;DRD%j*2`+0wWu!=YIsp3ds?5( zu+>r#Uvd56O6*u|*?TnHkL=HKU4+JN(?_dkXXyue zb#hKgn9wF^bhk`)-r#OIX+X+t$h`r^TOi1jafQZ zjb)IZsH{1o4V)w?y6=&*J(4#|{b~!;- zPMe0h&q^z&GY}}FuDrVNaBX- zAQ4>wX)!|1*_n`#Ab^0ZXPisZ*C*8Df%~y2QZlMPA8RffM0G21ykRoqZ5I#t@ zTmhxrw~XOWnmc)S86#sx7K8({&f`9(6=A)F3pTxM`3;b$IohyJxE|lROrrXaADpcJ z@91~@Z43Xm-(Td#Q4a#!+EAYNhc9ysT~Ii`1sXJKa_dFMik_|adM~^mXsDMBdb^>_ z9;>+R6ho+q6{XGmPxx;+hA1%%)f7pUcy}v3f&_!Dpr* z=IM0xN74A$PJ=rm@w2Y6n2~_jkw#FdWBnnLE0^nNZqN03bAP^;RkR=@+8Sf)Q`@GeCr!^@|}2zCa$8;x%6t& zKu#l-KlYf$AHxC0MEHJbb}atJb?gK-CxRQlVryYl+)%+|Rx>__fz|QJoV^9Fy`uDz zK$=Iot(H%{)=Ppw@qh@7l{frIYm4S6Rr9k&$h>JgzFP_{K_*oa(xd?X^}zg-{=7B% zU184J=fG|B;>-?e+v-h1F*3|Tbtb2-*SaNyHjNH>dsccuC1PjYybe>&SOH!Aa+3Gh zbD5=xtG2a;*Sh18QNv$x-iDGAKJ<4E9;qi=V1tBPNZz6> z*sU#}_aUFQfDvArw>WuSPtjHE-h?W*otNkIg+?Jnf{+Bx!rUZ+)6L^+xM8qb;ErH% zvqpEE^!Nm+j&^%lNN|;^=#Pm3f#mp(Ipqhk-xpJ7xgDd_o!pXJo4Pt^ga!bC%$!lj zXJx7Y;WAqbdf_>-G(iR!I%r1RW4eh07J}Ppt~^ET%w%q{m;@*kMbCslM8a2Yo?&}2 z<#N(jO}wXSUA+7?F<)R#cG1zji9GW(yHJ_&C*kHlSQz(!di}paIgU&Vu0YU5)9zd0 zP14Cw>e1QDQ_m0Jw>a<8P(V9o-=-W95ui)IA1OP+9d7PF^h~NrX(Q!%44^*=zf4B~ zylTVf+t7H~fJ#DXeq&X6gCJS4upIK}>#k8?N{KYBC;VF!L*a8QIi`s`);0OqAGGz* zbT=2hZ)-iu&)ed~H|2fl6yj?S4QWe9VOI_C)QO@iCjN&wvuWS_5V4+%r?1b_Priv^^M%C$+ zBFGExHhYSc7`GY(t=@KtqNQajG%z0Kl7TL9)8g3?y<_0%{Rh{ zjjsTR2k*w&TBta-VI<8OOPVAIoOA#~fLaz7l%8pSYyvK}6&FN&lB;`Ber0JvvuMB~ z{mI!heGvzX7LLt3k{!Q;8cKqmakMb>k9eU7H6t)LURSZ#W#h#<6;plewi)JOy zl674(gfXt|q$p$IqG5t-6CR9l@9v`cv=N;yQ02n3WPhg_i8tq0ten;p6fQ=$J*?MP z6`7~VS&^Yu6WMFoxJ|S0`UMSku(JO}`F*>o&>ms4cvYSOj{wD$+227gV6RByeKwNv6gl{U-1)?Wf^T7dqUl%*-M6c%W zJZXuDSKN5KSND05C+v5SchJkld)T$+)*mqi&jM(+0$CP^)dDp>(mJr4_m)e3BKJLD47(g!AljSH@PEQRU2~akT5|G^&Q*83K z8(f>Ys>CJx0k^YtgXkN=GTR^shUmH#3ku2gpP01Xz>KKKI!zz;<&@9R)#hmQSjtCw zHoB_*4iXtTX;vnZ*8tB!;yzQYIghqDnODi**w-xgoMC^T=F~!eJ9aWNn{R4_ZBi#D zn|ZZZZaDVDlt!~&70P+sZAq@d(~R*1AI*e^uP$byV03k`JlAt>`11fbQ|5FBu`>ljav)EbTbSEw8I%Kea}X(EA_h<)6RMA(FAo2mRZK+*F4|IT{Md9q zPgB)*S{=}F;7H$&J^kiJn+3|k2t9*Br*7unpJI6#PJzV@nQ_JlR~~j#MQsq$$1iYz zWqa|@=^uE(P*Xi6ZWs(#M)Y8Xrcq#fI(Q(!T>9#$Zz-M+m0blCL1*l$OZ{=a!U$aIJ}Q`!xd-VC+7Do(8xq1C!c}| z_l!B$Y&YtR9ORPDzUr;#Z<*w=_4Ao`m1xlohyf8As-v;}Q+wc8K8#wth8Q7iP<)G? zy9p=m!;k3}zMyL39+YW)AbN6L3~A?8#=YjImz}B@No6`EB-Gz|6X+##%P{Z$^H8pr zZJ@@F^je;lgFghn43D-RF}3|m9Luj;E3>t3%C8+e=OuK%MPTOR2@SU^ZlE#BsN4tm*i_zH^>1xZZEp8iOSCyk zK#i21&Ba1GEit5Vg-_z=%$;~nduj*5(3?1!AM%FfOjHIyy&DUJNUW_M$1+?wY#5=~ z$EVdy=YmT-)g&91m{a+}g)vuz)0kzcQ={d%?>x0l$tdpj^sSZ?RPf0NgN)^!u#DPo z)a*mBh24Hh$ShIOD?kXzUl>wPckRK@n9F~kaN|o+G;A|-$*g9Zo&LrIzEmuck~Z*Y ze;CMQTll^zG9-D)K?2E&rM><}Du8@>x+rdlpZ6yb?q5aFet{!({Kc@ITSQxEn}529 z&ps<8acZ`bITJF=mjvERz-Bc1O)g)Cg25tidA?b6D(+pFbK{op>+igkH?N%8iXUr! znEWxg=qrxtMa?(6*55%Vyv}EV{`c?yW9EU^r!CN*7E4`da?jGGSlucg$XXQ{-(;1P zqx;gY!9}N4i zPOdD51pTMq$ghN}a(#>mh-JkrRO2Cz?`bXPC)Z^%?7S75BTIBWuaUm~Fub&M20BNzAWu?FX%>P7#!kwtV>24ziW2q5MWa16ISI! zIC3Kb;lB(E7s(p~_V6oR5>~~p!7bD)MURc2;mK^CLPF+VX6_9&t%*1fjz%Lc0q3$L zv9(Bc2yyaE#q7HI0we?P<~f#}c-(^Hj$#QS0nAC2x()iF3Czf^9!wd7BW5|mT;_{v zId{o<=x=dU$U~^CRj|18ogqc@^`NYV!ekz~F%eYV3eKw@#27o_!tCZ$4z}Gj z)9(p$O`+F)tzKTux7Swbb4_mmToNW>i-pde6|gUtc&!?>W?54rII>0$*-Vk%aJ6(O_;p`{}({6=SU zzRYuYJW>K$K)w7^3fgwT{lKN|rseZ1cIFJk@eEf8w))Oh{t+=_*S<8WlK|4#)HzvNX#s`?0B2W@0f#PvDUrM3zM3nN-8+uHbaEQwmI*g{T>5D> zZwNruD`)9c57B*m5RIym3vy4<%UP3;IqlKb|Cy?VEnKm=_OtMmhpb?#KdTW-0I*4Q zRMs@)6BG%VxY!exW+aFLCdbWuE<&^qsdbj|R*%scnHCno_MQzZR;G&uR~vbcy>ovh zbEdb9kJz?b8j?P&meS@=0V}tT7ED!SG8rI{yCCh_(BCxXat<{r*!@fEOSCCKvK^ku z#dVe`4;cGjzLy{nXZXKjV*2+w4&Fc2aVU-7rxSD%;k2vI!sLcx++5)j4eB%S_c(8> z#x0?|E>*^B+;-pCxm(_f3#t(emD7aGFw|8j;fs>Jk3Nt1N{k>-$v;_uyFk=|L8hMS zum`qPWNX)_eEFwD!Sb8W;!cuZ3BtK>S$3}thI!jBu!kbEV)RgM`u=G`S&4}ND4`-l z3icb*c3W22Bg!}>@4&{tWTcsd0N&(4&@)Y7#Q#W_`AkB-qVnug$h107&jVGNe$GUSgVODMJIuUi1mb?WYW)ySA=I7+7Y>#f|pBmq5MqgKS zrV(vxI=AsLQlXIaG=NL^5NYjvH9>@2#~Rg`OBX{3S?g+A>!JpTbn9E{8LaF{+ygne zCnS-AuNKas*SeRe&UXH~jSEoTho_jfyVe!qjw&+fZcYyj9$qiX-$*%i3BY)y+uvW7 zHXPo-0bPQmz82pXJ{vSXet?swv0oHslgjq4ydr*#W=9O5m*sdE6f!!fr^5JscYen-6Uhz z){V5hZmI&|ym6%2%FA$F03swW4}3N4@Z0+(3)Tj9v-!HwU3UfTwcoVrhJf)_i2m>V zQmS`syb)btzPY}rvq-}pSH|qp*d#BwYf}w?r1s!=uplk;D!=NmMIT>iRfWxUgIiyt z7&8N|N*4f~tV$P4jDJ+IIs|Cn9*p=(>gN!Cf+u9b9aO6;`hJw4W|owu0$AFSLZYW6 znrttZ5ZrBb#}^f0U9MZ1i<66-i-Fg+ezP`V3Snzrp}Fva{8aYlKt#(!{?MX&Oc?Z~?PSP} z8=6Rw!~?QtW>i*_k5+sZ%0a#e$^{p|%e@+bl~BpEA>L@b#q}Iq%UJ16xovw6YX?VJ z_NL-u)Lq+I%-}xs%4ej@kEUiq+P7 zpUHnDi)KFa?!AnVFYRp&#wLj)!L~#LQ(=pIBs1E)?!sqb{zgFdBp|zlBr=?LzZ2oFRMrIE zuV1&_Qu0N!FP=4tWvocD2*F(TqfRmBQvT3RZk;RY>#F8oIW2sYc+j#ovG-`nC?tV+6=sbMEV-FOAKgG;D1vs7j`H<}>% zTjS;|vY)W()CGP5;zAIX@lwUoeN+t&(VR-ezntgUEPp5(+)vsoDQhg$K&PDcww@k{ zro?v`*Uc!|w<=kiXWXjMl)ugsgt)Az8^SK`hO|6cD?FS9h6J!@GU)=e>IEB()rz`% zkmkX#@lui-jM6VJ9vK)Y-44Hou5R5-N|cidcx-qs@>QqL^VMt65TSJYO$R2uUmTXYmgQvnQHE{E;i!`q=! zlrXXpEm5$Mf43B_V_-eSNsp>i&+GKP<6=L{kq2?CFkPp72()_LE}x(D7+c53&;IpU zxJ$Lm9g2CISaR*i!c6W3boP5J*D72BU~zIv0dYmr_=gg2XJVz^lxvViRcnbW_l8?w zlOZ`KQcxL=QzhOxU6YY)Rq`sNZ}U?ReX*i0R}0M%C#ndz~W5 z$zUvhtHDD8(LU@V?#?*yxHzPqI{56PV}ij%pXm!T?%@A`qrW^$Q$yP`nb8B3jE*Q4 z0g%_*UNod7Md0(9Jgk>WYIQ^Oxi$_i@ z4Y%R!+}MXJ>!P1_}s4pj&XWdjoJltupc0wpZ2Ux|503Is3GvK8yTH zU$sZW>74{p+L0PG&f6k(W*QFkVh0zFJ#pN5rqrI1Se1S;+rXNtY?>wZcM#@S_&e$9+ns#|EEqF>1^p@( zi}JfrmMO2m+^d4aLmD#dglB4WZ8F?T=~}IVkY>d)U*FAafga`+1iX;zEQ1Izsi1$< z>#SjFdu;vIf#JD*r!D}=I;F9WS-JgiN^0liu~KIv(ED854g*B+T_1h4;K!{DO$c-1 z>=fzFRv?PkhoYQT=n*?4b*!5IY!8UmuCv%74$;CMWSu=a#w-d&+R<^tCeZhnm556e|nPkw#9=9ReFcAJaSinEm-d%d4|l z=IauBRSU+OdhbhdPDV2FBF$g!6dB%>=O~_~XlL|9Pr^~NdYwpXuGGS_^tsNCyq5K( zSCy3JtaUG4C9ApY)Km$42v$@B`cvWQXqNx2(LQ@SR5~+IJToA*N^;gq6En2bL%9l1 z-_}l68%h_CfIAWQZf3CrK>7rg@oqMSX#vt`khDy z-pM?OEn+#J>6}-D#`kJi0v8=N!!Dz==%fh?3OLl&4*#nHB`u0V5y_Q>cknk|KwBfRi!SS;OPIo}PSrqXr56Wr`)JWs8K(IcNxK@w zH#y*66KVeUAO1(o(uwjWS&}{Z5jXFguSkqYX|ocwuIGdh{H$LCz2lpRgsdc#C$xa*3t3=$jlue6 z`+efOB9MUSxFFVUI-g`+)wDlh)h*l|cAHVe1HNj9-p0+~{);HxU&iTLy#f+Z{x|Pu zyFW1S*W1HTPv8_LU!^;HbnCbJW=Bu!A|u`-PCk#Zbi@ z(U9KDqLlQ>EoQhaS-!wtQ{Hkx=0U{338BWpBDauDw&u+ros12g9Ul7$F=-_Vekzs* zw4TVp8`G~Jo?FcuOFW(`bDmf7dpN0hUY?82){2l;y9z6xbs9aI1#L!yeAx_psC1e3OlmgnAuXHJcL~|%%Gpg0Q?h_Qwu~DoS;pT$zI2T?W`lcj z%ZA2>mnHs_NDB%!;J0Vg)BvRz+Y1AkQnALs1qGnkV@KuDGcY^^R;Ik31W1JN$x*F! zVk8uL)_2*hie}%+cc%-^=vzT? z7ptZHj(K_83GFI9HglgWq3m19V17)rtzs1YzUkBGpT ziQld@fM8WW!6oS}s}-aZRK7v#ZWqO9Eodff%OuqztvB<-7Z4tv?E4-`Y9ZK+ zr+kY6G_}2|kAsR>5?fjB_1GWep2^9^{FN>&P#UyCC%50@f&}1@Pd131Tq4H;GZ_MvigmDVjr(X6Nl~szV?s zx;1>HP6!_Fp1lV#<0csZNY5Er$HkJ7d|DlR@IAF5R$g7v*&bJo=-IjUbyE+7g|TRi zT0)FkY+`4`XIYM9zS4H559yL^k~%?ObVK}Y@t*_?Jg# zO8(ves6x43!p>;)^*YU?!oE<;)C}oALaWb@Ou6%==#NMBeZ3iHmL|@}0g6fbKiV3l zrsV~HeE3;yj01e7j0!qPQo>GB$&hc#GID2DQ<4n`13#CK&AQaZ%b^$T^C{$SLX5 zQ8+JS(e=JAHKV-EwX-*~Dj0^Rj-`+TFU?ZzEg9F^3wO088Mz6iE08drkO7@2nEiK6 zrKiYpTf+Bgto9vtzGa@D@kbo5%RvOJ^=xX)uI>VfVFbF;RQJZUE1mym6);Uaz`8lS zEl0HvOpZ~I1=+~q#^bOmI=exUuRzJ22igxuQl`J<&C?Ud`9sQbd}GkoGd_UZU<@jV zb)(S&ros4SIr81_AggLp`PLKstG0_1>p2wF2GzU$$RiH=G4dgTSNHK(Y4dH29`)bQ+u^r4>d( zKc*a=20OH$i|v*4U`gC5-)*}m__WJL@Kd!s%-nY|<&^lQ%0{hh%#xcUh*$iEj%oC? zaI@68miTv1_jGkJI`I0bGENm@l@qurFiaJRda$=WZxw^lY7rB7QW95b3eB9g-+Gxvg)^H~L1Ly9gi)1kx_PtcLJY^nv~r{D z)GcUX#y&>_mTSlW+ZqjB> zVqzj59TQ)EWuEM_D)hm|MBA&TD&Fm(hJQ!fxpX8lY(Q1QmxxYf%`G3JlAtKK!MLmr zn(`l7`j!cI<@{#pd@bryHhvD9nJZsPvVhghOT>Pbh}{nt_`a~~>@^)_PL$}2bu}$B zH1m0HAm5YI6QfEtX_uGB6fm*&C-%1*$hykWu1>kjo)7H`Wwms*Fjtt{PTJ~Usj{_u z37>Nb0@S$j78GyLxy@BWWwzcahxw5M(KY4>h5_9-K`ky%1ZKIFcevv#piS)==b-+N zsco;zf!#vH+k|BH_QQOTq}u+b_^KD7+Lp2=c@ed}cFQ_-D|j?>D&|oG^wsk4{;-sjid51LC-%4H|@n)4qYk_3C`@J)Zk=A*A3L(MVd#XE*VfBJgzp ziOKo-tT@@hh(^8iKSbTxOZ+jn4`ow-l9*`MNgv*=)^Mvo{a=vr(eyjs5RX`zS6t^* zAexrx`D2c#MgY=~TV+BTerF#6iQb0wh=MHTC+1`;yD~`+X_7ZTMWxaL+PULYemk7F>PEK?<`~QxbBG5bGlMljrfgI;u5}ej7hyGkkd1x zX0Heyc`<(}yUGzUJuqx-^U5WCj^p%#{7H2kaE6;))T{X%BP^A|hx!5=aMAKMy_ z-h2EDw^<-@|~w$7Y7?^sVy)UN7*js@RchJM3Pr`T+Oh&Li{=n4+`6XCGSo|>}C|Muq6 znRFkTpRI_^Sm0Q#nDvzGt?KnMhxqrh3@~wE5U*ZS#eB(`IXse&?`f;^Nc_1C_JpEt zAVOsmCOD?2%?Z%!V?i+I%tb; zv_%48xGP+dXA}&b3wS9()j37z(l(BC_Bj)93!AsRB0#SgnRx8zB>;gAoVst`1ArLv z6%Idv7&!!YKtosQGX2gi=RPs$eC(H?shmI|#HwNwbLw{Ln;serD{+W(dUj*Iga3(n zyYwYZ2IhpEhqBTqAgB$6AXu;j2I6h53PTGwYCx&(b^c1p{BugUSr_SQo0*s2y6>d8 z#o*2I~wrnroms@<#JQs2Sg^#rBi^4+SKAHGf74<(;&e9KpM#zeY3(93q z{bnmhGsPFip5i+lcGDnoMX;2#;XG{%{iWgK*yfQ*`>h1+N}oNx@}`&1A2wYPxc1Kg z9pL5vXM)D>>&p)*O`mS2wM)C-;_*+2Nt^`=Mf_ygomPHg!-~hy)Fyk2m|m&ZZ}_@YMGmck}3)9X08Mn52oP| zj-fuOF!J)`!Ue0<#p`LP;K0=-iB3&m+hM#t;rrPkIc_&X|Jnv1KaMg6j)&A*Kh;;c1wG9HNxl9A{uIP&D_QU#Jq;+qb=T z>M@sXInMXeGF9r;vVg}X2=(!v1KmSMDK3KtcQFdKq~Yn z;+{X(Up_go4A6@0V3ez*PPuaQeE!}fz7f;#^dAf#PV@8p4l1)2KASK;rGkSTWywL* z5eg0-uJHSvRssvA=KKRAu{COV6!aC!>L_TqJ0$BV8^>70ATt;sD0Qq1{Qch9oCl@G zT;u2MZIeDA<3BSD7(IkQ%(w!%K*>ffWY}CYgJ`Hi%QfxF4%uxdgZKlh+I0SXLm(^e z0Q!aG?D$w#Dm)=%am>tH@Eeq|maCMlQ1LZ&)+A!AjRsaq*G?$^k1B$K)XBT&>Z7 zuSx?DU(eAb)UZA8<(tV8MKc^CG^-Z!w|3MT=C!Qu|BqEfowoJ-s zCaQ@YX)z`LBm9mbF6wz`jd<6~`(-f4iecC7p}Z78HQw#?qS*t%@q5o-t7R%}TID+q ztTmKngq&}uF>m@j0ZtOGRpLAj(Q~HbNxaxohClfk7VZWM?-YxRZAAwxxf<(9EthpL z&t`all_L?>09{BR5W2tH2?}ls75;V`Au#295werbV&|!fkh?^6<`lix__$jcX3&`5 zQC3NG_N7^gN*Y)Qz!Gtr#P%OsMc}7J@*;NdJU&SPWK&R3Dv-)l(z&%i(Xlr)Em6hW zExqNqh<=VqAo^np;|aj<8{^_x-rN;Xp^KAHk2!rXgP&z#a)AD^K5&Qesh z(dzO(C?_6@U}#W$fo9&UOpZ!SJce`W6Yc5}mumAjj9?U#cefb0@R{Nd8OA%Z%CMF6 z@=R>%v{$#VuFF|!n>Ro;u#IEivT;{12PfG#SVzFDJQ0&t&6oD0kYl{z*ITr{2e(!f5~bp>^V_RxP|m zOlIBh`2#^AVo)&Dt#oSL<9rDMBR{;rpnew z{GyI??ULRB_jyi3kk~evCGd*APd~{9zL^=I2@P+#&f#!*x^(zB|ChqR;NCo~%QIFY z=YfMz^XM=D+Fu-m1i;Dp4ZHLbGV8^u;3X+0PRQgzPUee@dn<4T0HkaZc7JEaGf@Y7 z)o)}~+_ZpvHWQJ^X=>pLX~qh8pjz3|)`X}cJO3&f`13|U#|wj?0a_04GDD*Pk@5dT zW%ZBC{_>$6pZ%g()TrBa>U@BfXt=rHqnfr6gV$8iLHO5<$P<2L?+6vs-8-CjnUy1< zsNnH%VE{)|8k7)SaXBKOO3nfQd3XdF1OwFLG~8&G0>Wc#ML0euHK+}UgmdA({>pha z@q!YW&fU_ne)U-uC|Sv(r*FxkO8%|Yp;eVduj2gIGh9yCKL0*50m+;E`aX}@Q`+?M}iU-C74-pYn1p@5G^MV1z^$Y{E zYM~(^wa#0Lykm3CjlT1Cl+c6w#*wD;N=8!wi-rPQNgV)cVav6-A@B2;;4;-Z@SK0P za0T71?u`60QAK-+@iGCu9Fr(Qnvl>(E-o(rRNVT9*bEKcy7?rFG`mpCfNS*OZh|wS zDobLR3_;fS8DHUwUAz%ZwcS7phEPgq2GcVXk^}B+##bz6{|+hyZC%vf)ieJv{5xn2 z7o1lVCP>^{y|vbqyI8D==Q*-PlPvm|FX;A(D(f3;^HH9)$!4?&X_`B=#v2(2H=)3&eLBg0)$=3i! zI1n{W&O6aX!?!FQLOT3Jc`_9Vy36=ycSj7U$&zHP3gfkXTw{&(yq`K&UNcbY-rX^d z7gWPtEl*R1pXaKf-=XS@d-j}nDk0lFtuGIM1#&euSY3z7mp=cAxvS9=x;G6W8FqFj ze(vdPKOfy+fulvXt$g!jH}#4;AHLaq8sXZ3QLdw%1~g^lG=x)5ahtC*S3MwSGOj%8 zCV~M$cp!Hj+u!LdVK{Nn+gomx5WkoJo?%YaAfYN)cN053dIzd>PD+Vp?0&1%Bg?60 zutk+VehxYvpIXIw5`xq|G$lT1z=WtYah<2UqG~zoS~SYJN>z?y6Ivx)kE7Ker=FabQs;_@{1S{~p2<{QRDKYNrJByqT(A~yol z+tHM4#F6!EZ|vzNm={^t+6`gFf)(d@YO^!kVEE(Rk^fRXxE9-yktu;;_&thQRc>PTp+SN?|9g$kFI?y<{l$MDKG6#4`RjqMeJcP z`&WuyZ`!yH~nc{ zv$_0$YHGbB|K=2@S5{v&E7Qk@Mw7O>_6RZaboX;eXeqckhY`HMd|rmm_&}^aax($8 z-2?jX2?9{blAko=UI4O>>40-oK7AznXkS_-#&RV4*r4{c6HBWAPzMj|K9G9oRtT$B z600^zWlvWo!;iJFrgFF5z*+x0oeGHd>Dy1GMnfed&-j{k@Wnm^-EG>E7q)W4{r#=m zRPOobb|RNvDom9S)=T7bG6vzZWy%?G#(|q0;f^4lDZ~3y)kbOcZp{L;Xnd|20MYKX zd-#_0+AEl7?kvcH&dEm$$3C$?=Jn2~=J8-x77KBHixSD|vD#C@d}&5+!sU| z-kU8Mn?G{zVnXkK3OnQ6ES%+>P0|fxg<~rlKW1pEkKD2_mL4x59v&K{HJ~@4Wkmgh zIncx-`j`a3gv|;jW+f@>H~=Mb)y6v~ zX@9)49H15aB0qYMUJC~TZ9*)F=>w_6FZ)AjVu(qK1S!9))@vDo%p0b?`gbK9!0fjm z{y~g;awthmK}6^(bUE1SPMI3S3~*8>d3|<|5Bve%Wihr z4u22%10cXM!=m9dlS-Jqr&&h%OV^&w+EXUn7WRFbDj$CZ&pdNb?UZ6NS-jLJ`SSgR>j6ypERvAx z4lK3nk?SFH4q{lvlw~unj&3I`WY%Ibe__a7X`$JYo$ui>x@7amRL(nSrs(g!l z*JnA%xKPrTS;l-&{>VyBj=cPGN|?cW5?d`HJH~jH)4qw~|H2}vuTaYJN)_wt;@8z` zM4zjeXXakj2A*>sXd>f%PZHivGEG;nsf9tq&YiB#TbsRZ1yydCjR;*sydKV#?4ygH z(S1W&7gip+ue>c;c0qmOVk`1m(&QLcE4zM@lIBL{sC}Z)H=l+mox1m!WQ6cE?z>A7 zm*>W(a~lEh=1KibF6NJ*-Ohho78)wa+g2v~kWnJ;RZj%(hEnyI<=d8Y$3nsIZ?<+1 z_PCvwN&knv_ke0D+xN!<2nbRH0R^N81nFYvMFgZJGzrbn1cX2Wp%)QQMgc)UAc4?9 zAOS*C=|vFfRa!u)N>!>#RT1ZZn3;F4Gw_Un2j>5FAJCsP=BE1Rz6mXB0f;DlNW)(z~r% zkTB<76gz^J*fR&*TRO+79-TTf$aByz?7%R7O@lO!MVwlZ09@B429WmR#3=W2U_?%k#%58lcjnv1<=_qBA~Lu*^wjfkmPas`mCh85Q+(-k^ST6gvKT| zz%LoLw5mA6UacJPbf`fbLuCmJ~r=UE)XV14RQ6$LCB_TN`5w68Tl0=N6I(H_*{qL z9gMp2li!;8C-l~)ug|NTYj%jus}=(TQf97CNq{Pjwh0(nRU#3uW`Bxj4dOr>?{=9! zzMZn++8FXmTjS{SpqVMPna?#4tu%lR|bw_+(D08aS$r_+QVEa)q^6iXmy$wmN_;mK8j{) z`g5Z*LVUWUR+h^rW~YJ=#=O_!HFa&!an=aOrc!)tpE;UA4+d;cu7w3E)bLJyzE3gf ze;eOEeimAIJ_EdzqlBca{`$g?%9n;W;6oL{w8~{1xh90j5ChC*1SF!5sSBJvYVonh zt4l+fpPEZ!$`>CxYu$b46LFfV{89H7M2!lXa6)ZrZ$s*3VWn|_wug`oD-^~J1&a!$ zgoUAR%b{i>J_~)FCl^O31K_WTsCkPjVB?jz9rmIovgRy*ql*B?l04H$v`Q&f^Q7HM zc8I#dI1g;N^B^dA=5saLy^71c!f90{Z(hxPi{fpSe+#`weAPi@3RE@Utk~1|iZk92 zmw5~;FfTx{i~8NP{W}3c;7k0@!;GOm>}-+4^Jc5lU1=09ZWmV84uzh_bWv=C-6}d< zc??zyTv(A2&Q4L0C(ZmS;HyqbWtWg*3wWl2I= zy0gwxc(7N5aqPExsddrd3FCarP83tM{8tb-X2n3tX&ZK)7 zbU(0YO~id9D6#J>RtRqLpiqMn$#|3uG%+>c5l9Udp(zJ=q>u9Iv*gPz3@TUlFxE^O z>H`^9tQL^JVSaeeCdNlS9v*ItW5&icZL@!Vm|td*hyXofR@kYU&soiEUVIpP`ClG-|Oz)mICoz12I3$BjyPa6`s}@ zDxzjs-E@Y9wkDxmz8C0_h!h$pDq^XrP0ehfcIhm>L)lQPNBVUNw^xAXpumJPlQAq) zwLeBEF&n9V$U!_1`dh2P6A^>MDro@A8DumEfgEJf)j=xZ!F$Oyd-J7*`xlfzV3QF!p;u`U{sm~mL+MZ=-md4bu zkz?i0jYt!=CMNQ&oj%EkNh9IdYK>>n8|QrocV3pLKDVcRUL^;y2`*L5zB@g5PcsCQ{X>Hq}DJrw42j&m?;`I1ycGe zW`s`|Cn{LW(R<}DA5O7+w~twmzYZvB^K8>vX55>Rn6h>%XEouIJ`p)#rDVS`pg|b3 zZtE4pK~y|hl4P9#+vsDEHK*Z*82d}Q4H)#XTh5oD9^!HBP8k~YtwSm~wR7zH~)!$jpKE1aaK#8|~b0ijUMaWIv(%VplS z&!HcQVR|aS9Ve1xjf>3O`nX8h55(seHr9@n>8C9o>3$8(<%D9CIFK%_Xc-Ej&p3zC zPhvC0)?>o(1(|E!xc;cUfIdK?%8Tvkhywka7i(M3JrySt`XF{9Q`!KX*8(biMgjz) zEqy8(=xH69sA(TNT?F+|_E{KkNjOpF`X=JzN9>E*_a^x`DFybdPl--wKU`wk!6Vrz zggjpAts!ZZon=cKS&$Xmy=CfNr(=!k3kPCR)D~{lEBivPR@p`Map#tPbK3rt2JlNj zdYeC4IaqqZJ`@ZW8d;OA?iD?($wFjcFlj8MF;Nv#UL5`T=J~JeJBqXrlF^dHPO@$q zmwCIrG(OoT!STWsgH;gW3<$*3nrxnSC5{gB^n?{hHdyFOY#8zfvet>n z_haU1zY5i1>mh^@N5$=z;wU#OTq}`JDV33bd@$;?FwdMbSFZaw5l&RH!2D)f^_xuH z<-eI$ozW}-YDyE%y?Rtp833wzFljYjE+_J(zs3LUUxBCm&W$FP;&!bt&bFRi^Cx&R zq`*7r5MoPVN@BNU;l#tW-XGlw}>f_ zNO-@QMfazTAIkb43I{iTXz+|5rYno<0=tL3N-J(Ezn1bv#i%5=cp$?+gG_8Its|pJ zNq$|ieU)$g3p3%iK_Vi+*0MX^K2t!lA5z`Lx^;(@ZnT8#XgZapugIWHGz070W@=N} zxS-a*{HO};8vs6=y5@g;!dfSP0!m}jF=k{yuOYLVLRuxsn)?#i?qy#Mr0uVje0MP1 zCg=suxSV$i`3y+g(HtX=uKG0wgtr&fYN0QZFId`oWT!1zykQ>a4M?rsKf9RD(K~}6 zAu%L0$|&v8w)C#~S0f>E?|5W;kBQ4bp2lqwxR4>QD+j9i#x%5NU1+H{G)Yk#zs6Gt z4*-&aTuspvle%gNJ&qJvn7kt@Sfrk zw5jw`iSqI zC@5sDDoGSg6c&`l<=0-)(e_Cm0papQ0WESF`mE|q)KR#Fvz z-(}|G3`-~U`}tF|$_Gi32Qm1&6r+~1Cc)9X*Nq336P5mon-c5B8hOu*A~Ec0zBeE}Jvjb8-`sg?a2 zMrZ;OQkGyfYsF^r_!T*>en%4K#QKr&UtYzp- zOY#Vl+wnVseWA8pVUg7QLZxhXD8o?>+>|wdUNdp^NQ^C{;+TB4b?|Q&;GCg zTdPk1tW{xIT}7(wX4_Xo?rnaa6pLpLhr)4R5}5i*?4-ZrbiQ@dI*&aD6xH)@J5g1v zzB;P=IZ(I1+fm(bfV%%hh2y_f$k&uI{tc)*=BVzq+d$pgM|JN$2kOrI?nHatw2bV= zkQC(0*ct8W>y+le32>%tL@?*^fHU*3epJGAk+nQgvxL1m1AR-vU-2&DHb5V5x%D&XAA!Ybq@R8KzSveDH@b80 zMpI;Xod;Ylsp|!7*f_;BGvI+1d$9@g$G2sRVgUAJjx1*U{QcJhMzJ$igaLs9J*aB5 zxW1lgn%6o@c92UuRj8If69FdzRdQyiTI9-jJ4Eudl*oF6zB3XJ?^@pu#yHjbrEKQaF${ z_D4!mza4)Pl=(OHTz;+i2OK)xsS!;ysqT6xOk=Tt1i|aRh3L_1SQHfJtJx3%aj-gK z+Gm3n|1gjWObE~rYsW^olL}e$F4L$>eaR2$Fq3ZXz*Y|Yq9N9bOkjyG_rPYqN)n6g zaaqL~zWWAEr5_Cgf$&X6A6ZmRuQs9tr&pvTDnDYosR`=v>-sCb834$9IBnA(;VN<1 z5jGCQy*SbV(d?J$~+vKceyenFaJ;vlAQtvv}-~-g(0xZb?(eS5wZw{ceo{qWnk5lZ3%>(-DtCh=c zpueYULh0+C?awQxl`D(9T<4Nt?H*ZL!$F}LTVp~tVKdF_w-@CSSf z<@FYj1+C2+@g1p1w{m*{0G{;2*&n4P|K9l&JKFf2^Q_xUqP46+L?8_kOM@VysG`|~ zN5<54NS&HDvD3+b4$9bNy>;Va{;8Bub35oqPANEWA-LFlc|2R`)MELS!p>Uus>c%) zuYRrhb^qC6pMx$D591nC%xxKu3^Biid<}_uz-p|=!ryV8NI6|HU6~cxk9KkaD@UaF zAS3%^1OV=_u3(frnNSiNFG%qXbSN+w2K-DdB%a)7iaDsfvI>fC^7TkT!?;7fmsZ{B zJVW0G-0pvD6U{={J}*f3iGqMf7OPeWeCMa;Uxs+U@h5WVL~x#AP6g3U7(etOJn7Y! zv5E$NeJgd4FX0;t_iLWu<7k@vO{a3K5+-e5haRh{ zKudf+-Ul%`L#K)p%fhrz1$EBrpp=mL6Pj@Ki&}9)UJZg>JZqcS`+8flVpdSZ;UiA5 zH;t~fzTETia7W+sUjr=kjn@+xy+;JK#JTxUtP4g&NQVZ>r1oOXh|xxx7xFQPK4axv z7<(D7$3)Gp3GtK@QA{RM7dts9ld|Ht`xb6I0Bhj9$BCsfy~^? zPQY%m;g%s3#uxss=i(4F4`h9D+(kBHBy)t}qYMDJrof?hVI&d2F7g5}=)YUpfL<~L2bf;P!HK4e zvRXDsv=QL@c4v6ZbJ{;0J%TbrNL4w7bmF>c6DX#J_{B&j5iE2A#>z=7Hx2r!-}w23 zHQ1ebJ+yvcy26ssPX7Fkz|(3z5K`Z{``^l>RMf&MMfod2=kUQ9F@Y_msv z0o4phhH&>M-VBK0XN%}K@b80f*NaL$8Y;rsxd}=%CnG?eZ$XefDl6mJSG#3;4*9+z zMh^7dl>)G2yvru2F*#a&-D);}1R^l&o#ApXrd}dUJ)k~jw^l4k-&_irhaw@dYEq~8 zPpSi|817YK?WfwNEvpwv!Hm85_CWJ&Ej{>WUkbnDGF(MnNc|Jw8o)Q&gx3jBj1Z?S zdrV8PQv8W)F}AffeEC$(vJH0w8R?vQJQ_r?Z;BcmBkJDgq^Zq8oTCFGhq~=rl<(5n z=PI6z(r*-b2s*4>yq2)))7^vCr8~py{69P84gsby7Pge18_}3Y_&SSBl&Hohk%?qD zf@P^ch*E(%j?-SW>TJx{=Z%~kD|G@1ku~*utV4}>RQT#_EH=EZNZR#hx4dz3Xmu)XqDCZ`^zpLCOzg(;lH&@(^($4%zt z*Z~^U=6g4zmTP&)C}7ouz64&&pBdM6!*9B_LykL`+jVkc&;_Nml!oLvxXFmo^GMpU z(W)mtHM48CoR@PvwFrA0bBrOaOiOZuH(diK~*8#C1qUH zzEC7rnn_sorXPL_XNce7)a&V0HrQ8q?ai%aEjBR;CDA0G36U-3t5}n7R~bm2GPE7nycYrZ>ekMXVnIFH0-Cx0nNe7%?G|?>~7o$!p6!gFY5>54e`FOQSbS=?=Uc=V z0@Z)%$$3A|mpE2a8Gpxe-%)US-w)0){z`t*x!hlYda@c3+Cxg zWL&EjB2l;FZaF!pafEcF3fBCqM83T zd(jS?#{lAYR)g6R#|l>gEZ+x~i$=d-`62+z@suMhpJ+R4k2ZkiQ#^4RkYdI*05WOJ zY#(}m)k)(jldM5_SYgA@iM@sCAJIdw=(ka_Lyk6h-Ca<(1&jx3(TcWZD4GNmC2i#7<*@BpgeQf0I}SNYA0QLC~!!?u37 zwx%g)8a~8ctl2q*;>eBk$3?`OL$P}PcDu+lGKHS>(ewFXA4yZ+tS4d%d3CkL;`q_2 zKOV>0&~cq2dvV*4sUlUwuFTfjvxAa__&foA4j+GlYJ~he6lwxYVLIw!3#Gc6eGfaI zp)D~@2DdPfg89X!x<{|->*iwzRqFtsRqb;l1>nPV?^lg3_)gpLJFdrY@4>l-V-Eu3 zgqti1ROoR=LG{A5L$3ObwAnqJA9R-S3kK%~WKZTWBR53CX%Qm#t-FMS4{Un4W z6`^R{^dHE;Ga(m74j%DubdpEnP6&co7M(&`lmvAGZj?P~LoPhz1d9TTO_zRk36|o0 z%^tE6&r^?X;b9W@#WO)lB6UeA$KyvR{Wg`q>D#5rmt1P~kkv_AE0*bw7L@=5s}u~@ zoqV~TLh8+DYOf7v2dJ96q;ZQ{pt@-a!vKL?QZ+3JlA6YeynhWLNiW#lqup*Vx%-GI zQQG@C6Ulq*oLbSyq=)!G+V`lk0dV@($KXeh@uW$m5x<9(OGC(9(WJYkiM9}_rFjWl z+Gmhi*I8LavzO*mDQbA!Iq!6(Qa2G?kppa^8xgIZ?qY)15GBKz4cC zeeC7xx3LYYGK)vEuiDw$A{bq7sk&T6d3y-;Xd#om2`$&YiZgVe7^LrB!6X7b;RF>} z=0C&t2ae>QL`nVvjc)jNF1Z4ilD?O6@&F%H6**&J0j6I8tK2&l6cfg)Eodo$iRx*? z=NHg{#ge9Fy#pk7Q?yYd)JK10g#7jEG@30RJ8CkEVrD7R>5mZfN1=rKv1q0}>sr4F z#TRBjsTG^+`4Y17+P0l!jAqVOuaupGx?mWZd-_f5iLKsAYDS7lx%1x0GapXaG(UXR zlrS@9m7$te&`-?E*DoE3F3!|eIoBBo>o5wrpPo=NiP@1Z>EKX@Ol)Dw%K#fQ>Ay(;DjL;djS;v(|Q_BVIk3v%&WBH80=CJoM zJ~LwkvsH^jn8Y|!n&mw%9@`~(d`|S$G}FYhxFeo@^Na#dWljPiscM{=^M?iGc25=&{8b!wF!XEJmuWzW#TdgAtm+f zz$7ick;qL@j2KFKMQTcBve#OIGq>OkNgf_u{SmxB31+qH5jvw$?B5YE;s4rvq;b`* zV0^u}_?;4D?k6d4%@Xj}=%>csdWc4;($I& zHW4;bO~|z=cblyy(|kP~^X=zyp88tCnW(~9%;5pA)`y{_dGZ^d1&59G(S{ZOKD%eT zu!W$N{pt;-LN1$$K@D_7gALQ@;4S5RXMD6l>ol(rOS(nmNF~Nqomp^#eYH`!^np#| z(~`N~5MxW5)G>`!E1|QmBQBYZ&-&xZRZn~ZD@0$`z;r3`DYf8}E^$0=?CH+6O6g4j z`4)mj&x$3a1t5 z#ZIZXDCys!LZL1B`lVecWKpqQf z(e$`8D~S#!tCa$J1vu~hExtrvLWdmAx^Yfi$=f!lX3wHGsVrPbxwFs$<@Nqa@uy8! z@@WrMX!6Ad3bSjO^*-fLh$zh4Y(WeAV2!DHP9zC$hV0F>Saw44=KGX{(jUfr%@7~+ z7`H3CinxHr!9DsTcu#FA&{F}#oG2IK$_lFj9u#RwBEUi^=Qm~TUcH|Hs(@`^X$)nS_n1eN+2ZhH^X3J1 z(W(_O<6?6AF#V%%mfRKxBEm$c>Qj*wcU1cVp!cos4vc zp6+WfzRKjxVPh_5oNC-eaWPIOXK2KFG3r%Xn$SfZaA(?04uR<{SA{Eb!CfbYx!5>t z${N|_kfh!5r5A}TDeUa@FsCO5@&`^4YQ(x1XH#sf+Ri!7dyF@7PbnvlmZWXE6WYG

YG~)T02Ml(#|0x~7T+GJFett5Jov6HBER=g(f=uKCJnr$K?A5k5 zuS=uG8r#PVh!>ppr8pKj`Iww^5Y7p7y{%=mUWF$Fs@j8nWcRrR1a4c4SZAL75;ieu zo1>K{lt_th_e-HTg~95D1wPbrCa+6YrH9bifK<(WPn3x#iy2zX-j_&jaat291r~cW z(KiZ8pUHFx3tiHWUe#&?i&jJ>Rn5MU9|uA-6tXEp0pErJ6-WJWQq?TGfSDi36&4hY zo*$Hw=DPYH%alLO#Q_)n2J6M6WxAunY~s~zh29*_M$d2*q)Q-3j>|MU>YfTnd@ySg1On5(_QJJ zsLb0L8KJP8e%-Jj)y<4(#jyZ46JHP|ox2I;K zCI>gddXpv%#mJHFt+D+gWgNkhgoN-!P+XH-)%WU;x9+ROc$isd0Rgm0Xcs~v4IU#g zD8&kqX1~!;j(Qbm;g2M&G>Y9Q2^!;k2Pm`VoMBc20#VniAwJJ--@Dveq#SJd9a!>r zh$iNH&@xU;lPIPR|0_Fygb>ZGPteLh6?j)AwG~w?}jG!nid~2%laN-@Vv`R_R0*tBQ(Rqo3l8z5+%Hi z1Cg5r3Mlv`da=T9pFG27Ijdq;b+6i^Fa1{Rl=5P@Hmq`h!AU3SAPqFw@IRXi9vQ5y zzL-9KZrbmQ5VF6~@f1@cukMre-UsZ7pM9it^R+ELqeL~`s;aSiQAry-yNW@+MZ+eV z2H%vx;LVeei^j$2iVR)JSu;-h4*~BP8XN^n%HGqn zcFo!T^JVphQ!P_0te+vw>8!YZSgb_=-X$BqastnAZ@HrJU&lox1-D+sXaps&Jm7xO^JFa3bLT#WoW{%%u)Apf@AXjn$%*R0rM= zN5`LKpMld9n;%<~%=;?dgyr=U44f-3h_u-5(}`+dsgx|DlX#%Y!7Z=_r(^~q_G>e) zW|GbCgbD5k&%mk2fzSa(^JKk;v-QpAx)X@PP*UBy#7|hf4M>WCGUry8q?Xm|=a#Q^ zI=?9h<lKv=a~XtuwZ&0Migy* zOr>6V)O^zJVrJayOhs-d=UNWslX-(J_UH5s46n(Z6^#>HdOE)N)lnY5CN|*79}_+Z zc=KZU&rVXI_bX&GE5vFUU#aCYxhuyc>?`)c;82+FoS>96w_Kc6fpjI)x_&vJnTCD| z15ze1XDLOTMp@OeRyh+t`|!~-`SqZfx#}U7^;Gl}$<+4#IU1c5gb7hQC9Iof%i(1O zgKb-{vca1{6jetfy0`Anrlc|dcyOq;0f zgIz$~G9^qhBJ(!&0Bfn3+Yd_l4+MsveFBNTBa~V2_ySS42sHp!fV03aT#zp#NYYzU zVnY_~rEeZFaqY`%LL}N6S;;kMHgqMHWcK-!ohgPeyx-fDs<}-}aEm=a3CHaam zgEgxs^qunH3!><0%eJ;E>_Y#smvf!<=@0?gjNZsE-2#%8;lu9l2JypTd;1*q&o0ld z?Q%qz%xrB22H=i3pao!m>5H@~1jrVWp!7y=Y8Fehk>(Y*Hgzq&d9H3D z5^Y5eN{{{052%_P9n3deuJ1GcBq>w&wdz6e%H=|bHjSLRAkdoTMJLfJuECv7?Uz(T=6=Z?%8N>}Un9O) z;5cAxM;<`{eWP5qsJ^?!{^L;_S#$1xo%m$Tw9z10X`BzY0o2LK7G?`*xpZ!csIj(A zD&`frQko+PlW6y8^5l_($tbm%al{~75VFa!jTU^Z`dP6)%&JSo@3<0+fa&QiJrjWBJ9bAyB3@iqs8b_mkZpqE`ft<*;%$$rgUpIi8pTBoK z$NgozNkNZIkc0?+Dz3y?%efWMYO0biXOxZMF6yb4Qleg+rrFZ$|7?porlpgwcFH7` zj-_K=reJ=o%%W!1;2c@sp>xPh;L-qEB3e5KFx|F8QHNJbJMNWPV>94a+ct4Dd0zvf z5v%~!&fsXY|4}m!egal*`RQ~4(!a(2m(w85MxECkGHj(fYzSPkYxLz;*G@E>EU+n> zT!T6p)+D8@fyyH5>sL3DHKTKANtg>4=3|dRfd4u%z*Lxd_WDyF)mj+A>~?R9Z5Z`6 zxn|P`IWarmVkE~?BXZVCTeMFCFWA4^_W-G@-}A>opdZksasyi$nk)E*NXjSbz#Sw^ ziWjcjO#13}GsgFYeuZ84+&MBb>CqPaER^qZ1Ept)T&nyu=c#wiQJ?Z3jW5JpN+OCb z$Vi`jK~Sruw@rcLpidoyeV>vEqVGoZopo@1vgyWAG))NQkG%IRS zoe~g$vAtV?Yqx7rmHtg%mF?cIo%-MSq)3sbN@h^l@6-Ie%`dUxe0b>&A?4G}x0jwU zoAWivEfx+@{Y-w%-If%5Z?>QBAz4fBS!&c@xZk>`@te^6(eYPZ`47r%e-tSxE`7vI zCXk)95NV%Ip16gcX{GUcPPY=zEtFEc7~PpKwRZlh4d@cn6B{R0-q!Szjru3MhEf_B ztsqe`Z(0ER5Hyg!3%G-HdrkX~ap3`GDl!Dn>G&n$!TC<7-!v^;;gGVCOQT{$r~>Yz z8f}2BG~uhGT-}o#8d&oj5r5hr*AR|eJTE1IM}+-U=KWfptgv!=9Vt&2oC#jXYoS%i zM+o3wl}|tv7beq`u9xq~H2F}tyk)yPQj+{ldnGN)3t*=l9WU)CZArIci5SfQgH47$(+*=8Kw6y~&*Bmco zLz^tSv?A>&-kTGkv5+m!+50X8MYmR zkB3$s!ulW-(SH9_r|H)o`!9X|g+#~LYyIl#rf9k4Nul&t72cZ=+NJ}iS&&X$FuPiHm){`7x4P4%?*)p%}D-}6+^ z|6cgt=pNeL;F=oyNlXJ2ocA09*22jc4IA6X3qk}TgE3*vL-)S^ka4Fk?gj0qUe^(S zuu)5TU^EO%?bEU2$?v9qBaM&ExHV8iiZ<%e4sX-4V@z74Jmo)N_wbagii_W+*vaI| z9GVbtD*d;xUq;oTAVjsBx~)3!x{=-ID_RPtt5S}igbSjB zU+5>1m61)t|S~5VBCYqSuW=;dMmc+g?!Tft`i)}cyrT;Ut#H$^jRnBKG z8EP_bVEd23flGgwm^{D#jsy3*DeXt+U*LrSt+uhk%v@_8e?M^{NLLh`=FP=n!!KD% znPt^>LD%!__43V!T>JORJB(biwIXsrjAuX;Uv*Frh-z$@%?V4My`@j#vN-Qiua(7V z&HnA~gu8Dkvj0#2fX4>|`-!dX;@B&9j0PSvw!hoeOEZBSRvdHJlwO_@BH*Jv#03U) z;i)(v*>hzDdiyC$aMap70=<6ZxLLO25t0HY$(MT!U=DwiboA#QhxKR&V^YIBm z$-EgGOvkxrefJyTHyPrix@ikG{4s})mT#2ah=BfKkz%oUNaB_R0a##{81WVYZy%1yB;2$$T64TY23FCdlqN*hu1rkzzC_cGl!2Q)NF+{hk4fgPw!WF^ zA*#B{v*!E7W+~pp>)8JXAAB-VInky)X6FJ%dOMh84ew#TbgXhASW%|R;rD{3HfRx6(2<0B@w%Et#7@V zfhU{>&S!WkM-+zF$v}|^PNa?w)yCfk3B@P%iZbO4*ewWHlFomR;SgSQ{=8sAfsI7c z7e1dVfXJmF-6pQ+V?Nat%L;^}&?^)dSaESZ?c-80LiPen^a8O$crJ zhY#n6=k!DIa`N0j1Ipwa>y(8q_5tyt4({V(Eg5&{1K9_mHzq`VQ5Np^)v{KXp3GN# zB^o_+IY1u&S{3u1+FN(l(0HG&1$cG8Y`EAZdhM}2B(FckG75L0=E>=huov17`+%G| zols)vBlg@^3YS7F-B~oA_mxYcB)%QHOVN;i z{e{6a|MP&DrV(Q4a|B5AXafKof0`Eo&NKT*n!|Hv{OIo{SC|w)=5p>iwb*VSFDBYl zY^2{cuY%h@nd7^U;^%*7GgH;HuUYOMsKR)$dh=tpIzIqyqWQA=z9z+c{*c?5+j`ir z`Su*xiE@r#^iwHvReKmP{z=Ao$|;>aY=iaFL;$z@_ukmH{_?peI=;SqBgfNrp|(a{ zl8F+_W!;eq!HhX!t~{NSCP){@`0h=T62jQHierqhdvbPr%AXIwYI3B};f0+sT<|=AsY56o#|}dJQfa!r z_NP8ym{e$e{0VgHzg>(ut6nMWFwi%0{rHC^F9Ord_<#Rpl9ReIE2*C{l1J{)9AWYs6N& zlh0nklHgenwlY+Q+}yWhjO(bn!hjotCPQe3Pn^8?T_2S@%0bo^iCTIVaf&);HR@Q^ zHRUu1?&B&Ab<1ms7|&myWAYN(sg0+-mVU$1zi;Pd;RSWZYaLC-r>S{WqXRty4uZLK$W0bWXZ>)F8kkQ9Qc;(eYPyg0EiQ zjQ++mb9-0d8=7!@!r1)Mkkc*FX4sGaI(C=L>2oiBRTXuI-kg$!p>L=RjNx3NV){%M z-0J(B_PFIpbP{-7e7C=)0ezFz+c>#89cK<(Ig`bzRA{dlpb*Kr_R!_L+UelP0TJ1y z?BR5*!^&Ij%mM!~MeWraCvG{JPD$+dS4?=--0ZX8H%ErhHZER=*{g2yUR|Er&PtRe za<4wDSyY>!^I)}=%eBsfsi1;fT7pD(G5oQkGf1Sy=32R4hWt!W(uRQ0KHtr~s2XcU z$b{e=WU$d2oQMojT1wr%i?W=JT@w$-zeW)rWn$3&)ldO=G!lif zmSU|jb_s6@Fj?_bx}G6sdx^=^DG5K)7o#~eIjzaM*6ZHi-3w(QbVm&cA<{V3mo=6| zYJ68>v?8OZp+3}Vrs7E>H?qk)<(UObtk!mJGfc{{dwXViP+|}OsQkJrUp4-gY~OLE zkZm>b`t+2Uvx=Cw+51m}cVQO8B>_6aIO2?Z+DA^Jx*~dSXKX|y@y6&ZeqA$F5A8VD zFv9qXPH$!ehZ3ETI#ztyuh$m_)e1@t#BJ>J<(L->uo^j*n2}hn1EgycE-jixE`zb@ zL}D$L@R6&#qI=uOVbYpS!BN>4&~g;Tn2C+t(1xc?bH0H%aoHFx-!&m&6kTS@tX0qw zxOR=9iyq}X^&Va3U{*edh9Gl+4OurlUQn{EN8c*?gzz*%R204kG13Y;!yM|WB%BP3 z<1%rV6bpsAd3t)IJjyU~)ot0!6GYAwTHhBfR2`;ol;k@EI5lqBJa8Q48Hop9BvgEJ zl1y%xBv)~aJfk6C6Xvp!xbC(Cv-E9@iSuP9gV6{x{~c*hZ6(x$B8VXVeWiDeS)TVx z=d^WBFOnA0;oF$#E_XyjY~j3^SV4DgesCTXym*lYZRb6vJkpI_?oHl_krB`gFhh4o zU82T}&v)gIIM%J=>px{_G#pg$2Em}H&}Ao=H1`eAR!S(Z)2ltlR-1}hiO!$S^$58Y z_Gpf~fMG$wd9giuGFAc8CbfwlMfz!l4nn)$jiIB$ajC^)Vp^7ai4ANzi4^rTIJrO} z6lRg6N>c&EheuNb<$07cY~>UOh9|?(Dd5(G-ZPp)koEgn&fxm&H}6Fdf?%Rhw$O4m z|MqObv|7>E`Uc&pUE{#n#`q69dwoIcAL2gMFV)?Sd0KyXnI_nV|8i0 z!BZ-nlGPc*@&o-zPNA*XyJ}0wAle&7HN!NvPcN>D_A3I8j_AZ^)3`G;Nu!^pcDgYhp6+=$(6!~tZxERi#;f6ka$urm ztXgU`8=ni!*8ojr$)Jl09H>9kG-XX@h*s2zuuKb*&Stn*bU$0yny6ay`byjf${Q7c)cpKSw1X!U#G_wzlbSYRz3Ur?h&ucs1Uoxsw3YSqIRv zAA(2!!2jW&5}$B!X8S4u;}=T&>|P#3H}&0*B?AU0?&@s4qYdK$6CDR7{zleY)?24G zv3M$gG7qv^Fk7nIZ3<`hAWgh6joUdO5Kc0-|2|+zA#jW8y|1|5T4F;4lqhhY+Nsv2 zPpFQ-$(b+nR<$pcy43xw%A+}=m>lm<#%Q4cc+%n|or;b&-X%qmK|FTSZtmrAuxr_P znh#uN@4t8j=Es2?A zB--^sgo+N5(teRk`t3P`LZ#=Lu7(y3PnkY!$b+544!}%4v79_{admVkEmMK;G}QJY zYeQ)}>w^5euW*J5D>jIaP9*kN)E|k2KP)5lLoG^}?lT!`=7L%BIyEzc-mzDNpHoGf zY_ot~9MJ+!h94FSL`GJpjrZJ zbIkf;a$;z;H1bY4(*E&GYwkkN9okciZ@D9`bYZ^(`u;5n^!MYz-_9E2!aUfSdG$Xl z=9~vji}9+aeDqc`qNp=d4Z84lJ|vUMtLWy|^%w156lvzJep-BfFM7+1@&EPeZi~q- zB@)d^NZeb~Qxd#R1ESK^ide3SkbncxrUA%W~|*}oW*M3woZ`mI0U;aEqN zHQi5tkPifuqhfys*;D(g|1xTPp0qC3MW#bZZV(|tU4K7yzaRS(rWdXHC}O^Y?~RM1 z&^|#yE2S3uL-c7tBb}8L_v-xl?%64!5G6_419dThWjTU4-ZY-n|uXK~| zkeiI)(tqGB`tY7r8kjeTS38mA7Oy zE_LtwxA*sc?tSm?v+vjQdj5FUA7);4&AQfF*IJ)ztnu9kVdf7PXfr$s@}}RzG-I|(#zfR zI+jg6i-l2FZo#|TqA&gdop;<{NMh@oiGohE^rW>Zawr*_|->0Iv1sUEF%9SxBpWZoSwszE2iNW|Z1wZ#zq&OZ9u#PO+-2 zuAl%yiD5keGlx}C_1BfZ;G(1?-|@T`Yl;;rk9e|oRMz4)t+vs=mw0(x~GQ7`7{S@V^^v#?5oeVK`?z5>4n&C35ba&%5-)XRY+s{b{ z5-_biVd7Fdo+|Qjbni3kc#5NQjty+?rUudpzXq_zqmatZ1zHn(b*yP)JFqY)K@~s` z{X+X6v7J8!DE+(@TSr8s>*ecb*hD@UBsD4NKWul7HJ-eYu6IK(Amx<> zq;9b9un)#9B}()l;3U6)tLpT&%t-Wm&x3!S4ad$~F^qPRhnG9b)mV`a1Ac}bfuG7G zgkhMv#08)UToL|5?d8wU$9z~+^pX4M;&rAL2r=?{h~j$P{LgyT>2muI$GQOW%mKJ#IrvClxw*v3mOQN3(2p|B09n zv3Qm0A~|xAOGF#XLL~N4-%Hbyk)lszhR&8D6Nra_vgYcD+Ip8|HWS<3rr?bUW6Jcj zsB*@)0bUr;JeIEKhbzu<9pUe+SM|Svu9~c?pR_^4r)R;HTWt|nT>*am zw27=Svf~cFKGaDb$=u=B2UKp_OymC&Lgd+Vh8g;D)5WIHbos!~0*Z-)Bf#rRaYQl+ z@+kpJq=qnOPisIR@^CH55fmP`c*%>p5;XT!qWp>{@5-(I`j+Ii$O0f%_PlD_z42Gj zZvTUsp#T5h|35Ph5`j%&q3l?eeA_!tXA2FSbL~>)3v8|ksA%r_&}}HX$GF;3i=RJ@ zKUo_q2{o#%{r#(vWk)wewBo9S`28wfY!rp#^`M6q?M3wQDH@({p7jEa{BYq&?Y@9C zNPV-#q{KNzpFG>;`BbnK*D9mjRp?1NXYrG4JfIs=sG-3ah(e=q>p#}MuDFTS?((x& zWSSJ_Q_mkYg8oyO4rFi=ALSS*Hf-2}xG<5vXGnhxPeS|YcPFcQ z3g-{JbQLN~((-d`{$|{K83XiZ^{t#hrA+r`n0`M%t;sLbUTgL|ia!4+N*|$8tSHaQ z|K!;Nu7!K&4&KG6>iLqY?UDWf=D)}JV~H6p^TmgYKmv;zQ~jFBRZm<%B)<6+O7Fz8 z1&dqjfhj{qp1e8p_GQE*8Lt z{+=%8U&W4oXK2M1zDN~>_ntHbyGnsT2bqq38c17NRavl4t4r4Dj(g=Qt|Ed%4fZk6 z%-C59MB|!V2_%0JXDKW<(uraMN_#@=mKW)1DB)o&}ILEb_RVf+it z@nU2+;vR1O zVZ-nrPT)UU!8$fGwVRTV6$h7F3GT7h%!u<_2cKu`zZ0o))@>*^H}^F-_S{-vnG_$q z#^&P-x{BCKOkak`v9dI1w0tT&g>xA9vo`=ajc{D*S*vy~flDOG*Ou`&UVVh#<`oO8 z-XbZL#0ah|r%TQ`m?n&ET{C{2$$1wC+FlH7mGOwol+|^n$nk|Pcmf<)ma322TlSQ7 z_Y5Ju_`5%EJf8uJZ7sZltzb-&Nx{iZV$L4h$K_e5J2(BeymfzxwvL&yDDm;7;;EDa zQonWJ&px#i{-^EI=`ih+Dt+_iszU(Bg~2@^3rIKnuZL=*i?%&gH9b!|R+$&H)!NTP z-Y~~a$yy}QGCzPI;Wb!rt3!)5Sa|=H57Z(^bIT!Z!*(v2%aE+Z?s%#;30HmNnZHxu z*gJ>Ayty|aMOx$rB*ta;Za&<`9RLoX%I)bhob)l1mK~Y(cDwSX$qPAA`k3fEx=0nk z&-V_@LAMMOM_Tyom?tYO;Hr*^@x!#jRYH2`@&fB1#` zXiB(s$2T>$1zy*iJ93!_uSF^-|MvHhfP~Qr9_j<}GAy1rqz&i@d_5qg z<@~m_vZ1ryrq=0TzSOUv+=C$_wPWg%KVTQXgRuWEOdd$Gf^n~cF60bBC#mf4Cph0I zfTi{+=Q78nGp(el&QKWD*oRit)MoO%{@Y0bra z{up4;-elElkSoP2u>)N6jfVV3C%}ZQ3_F(mXLC(N%$UOZz zVabB(-sD}x0OXc#hd*K7PA$5TuYr7tsG!)D&Z@)Qq4gr?ic}49+B^-ME?jr+Tt3mF z%E`E4AanAfX&kLc1ID!2bO1;RyZ%T2|CDdx$1D`TeCO5e%9kQ4j{My48yfm08B2Ee zLqv{aXq1=&HUdDWBXR`vi-gYw_ltAi5810+a?bn^|0aex8J$w()366-PV?zX;mPKz z*RHWbpKJ|)-KdsBX9mstm<$UnzeWEqhfFNkPSqDLN(%_9 zLEVQ?yH*S{-FZYMy@TmRvOrvQm)%YmS{82IOF1)Y3J|;fk-zLOq0RrU#RfqXjJXY! zT=y9yoSTn2=Vx0*fEA59$VZ8=`{L!|*>Xd+`Ku@GOO7}^zWc+9ri3#W_&lZ^DceC=AKj3b1E_+5=>o;}lYccm?4zTqT3n#1?nRnh|c z?pO5Feefmc(!9M{_u1sj6tB-CqHOi3n#hr;9f&(y4v?_=Z)G~MHnBvlEuDv+UL!U!f#->%h687n6THXLSIvV&3ruYt1kE^0BBXosJ zj^B^(>CiM3(Em2DqZA9U-(L=N4_jTz(X-aRVIc2t6GM{&+Mg^lEhYS9Km^JmW-xxY z!il5D>D--hkBBaX7VKdeO<1%KegibAe5T7^hsRx8{B}KrTU)fAyaySd)KyHCD>Kwo z7u;YLS&To$>&7f~J|4Z7QZFMb?@Mr#?K_qcv+LcG_x!b%K~+G?>`$@i@GIJ=RKN$& zypnY(KFG;AU*@n<$hxsg=RB-7gf09s+UoTC74aFD&p3ns#aFZ2Qm9n*)%j|7?cKcd z0Q0QZz0!Uyu?hXe!Bx=vX<$_3PdK#3EzzZi1I~$$pNUtM-kl*3Q>Xz(5A3hxRh!V< zBWrM~QQoX9uZQ?%mT;q~p8|**dunmM8kvg`o-gTo5g~d>-lthTO>y^Tvbtn@+eloD z?qq3^K>uKasmw&CpNZv(Jqs*GD%lnIsE0uXusp`|8b0s2!;s>QPZqm^FdKJXiHlY* zj!HZL^Sw=(aCqD#MF=KX^sDj+XsQdHtg-i*puQUP)haFS3bod|Aq-1bz;$=;b_Cka zI`-V9B&fZrv(kNiD)~rB@c{M^)4zK|F3+P)g}Zd(WCi{oYq_%#NjuDL)8gKk5q$R7zabAHHs38WTmhCBv}+PMaOX zY^ED@I(R~eqVV#}+lkcP%y^tpO@3CuY@keTAQIa{L%8)}4~&jEScWuOHra;&jL*Md zQV*6JE|XNrqq+9v0Q-fKL!TLp-3*}B|6cF!FG&mhZNm%FIk8Kt^g)PN08(X(S|-5> zIbeRkdAdlA(_+`)^ho0^Hsey+(^_S21aD{nph4<=ML>H$_osTTkL_Fq#Vup{u9r@i z5Vm-MBxr-}@snp*RaSHJnNF*MG&Jj;mwJ!aVxM5U(p@XWcloB7^HTNi9gvbWm(YF) zP&0Sm@O02+pX?K_q6Ib*48yZ*6L%e()j90(nQRwX5;~lpwKRl=zKx|AALN1e$H%iD z1IFv$m;Wd{8GN-?H%3yX>MQ?={k#9qSB}sT*5cuY5|vNZP1Tu%BC{mh9e*19uyzS* z0Tl+?NjemesN8ntzF9bY6G;#9$C_A?wb`B^3Ja8sr2(&ge-5iFPo1~`!kr(;kk=ZI z!Pr-Dq?I5{kk?Hdh-QG)TIg@h{=HrQ7n&)MXaM{B*xGAO^OIW6sB=gGO78Q-?#3_% zLc&owE_u$f`lbmAf7><1bB< zq;3X_aWDvI4+RpA{3PGsMNxl;wJCoJtUFx6IDT$dR^n>{!>^D0Sh%Q15pe+s zkT^xeVbawkRN=xa!pKz9vPSHD`gzsH>l)+Aje8TD+F<+ta`Mi9J5&n(3u@IME1l{o zm9-7?ENd7ygK@1Ko>C7P={Zi)DpY0Fd=1vDqkU~x{LmC3=z-62;8tY%JWjDulj-+? z?CDCRn<<8XT} z#@V;=n|$f4tX7;bnwS&P9ls7_@Jb2iU>}ugSsJG%HKOntdqnqhk^`*U7Stc}+f>^4 zdZ{?It}o)f-Kn=U4W;;k04tdudw?)2hGDO->Lw7B8H_LSY%$uG{g=xm^n^ZM=~S3X zv4~VQ=SKvG0WoTSL_*@OeveT|eQ*DD8BIfVexdmN?tW*@Btiqi-+bg)&(grYk|JUtA}lGs{nKEV%lhGv z?4lcIocs~OA35EA1(}{gEi0OnS94@ zyDqXBwm%REup}0h4)um%Q(eMZ8VhAKRF&J@oE|Zkthr>gNI#h66u(sYa+5l8PF55U zHwBQo@~?S8x>?CRl!7W7aK>M*G-Q>P63!}hkhL!~ zzrmeG>EMvl8Rr6gg`H3%83B|k#48;w?MfFaa88x@umaBz)=Rrlyn(>e@{Kt5ol4l> zHk*X#XnsaoBjsqX;lBSL>Tcze6=(OYS{-kH(r36(_@o4Ju4?Wk+5tA+$4*!U81LEN zEgl9q#M^t|Gs;3d9=0(tCc3JNUz5#1G5HU;300@JsgX;Sr{vrlL31aCgex)78 z2VzQ4=q)RzcT|WsizonnYG8n{itJ?eC0@>lFMU8kt0=(^RFVS8!~u0%6m^d2lKkMg#$8?Zub}IeNI64(y|Qo=uy z+*!`nUtRisSF5CM$wj*lSq@7VyVF>1o-R(`%N#+KfUdsSYf|xaT|d|=6NCS9Ro3Wf16hS_n)FB41k`KXQs)P z9@Kn8>2QLsAOppTWv6~Sf)B%e_>UBuyU$t__tx|!*nfD0dASSI%< zH6m*ETSANvS$r_vwDLkZX3-Wt*2ATohd8?Z$eIs?)`*^5)-=?&G~3bWa)J!1z0t+zzGv zkMi$%?f=zl_u~iXal@qNMIolicBRkL0XTwG4rZZ{Y~kkA36P+|SWE7yn|$y1j4AgZ zro%`=i029=<_><^7c>n+_SXSNwKIs=rVUwGVB*kHkDS?K60T(-$!?UDOZm`KK0;P; zCmjEN!2&Gmw(!<^v$bGQr#E<5K6k7?P9;^j&G`$VtVT)^F}DGhJyPDxl6z%uc7Puab?OpF zs>DK$jFyVLdA=}=CB@CUF8+D#RoWPzv`~~c>cXBM0@;6SX^sB3mlgydhq?Xih!+rj zpgcUzLd+eeXfTpChhWesT>UP;K2r?9^pcIG$dxE6$HzCtvl}!YiS41}P6muZIWOfq zNPoEVD=3f+{gHNhb3w){SL`y?Ey?ND6ofwV!3Ew4@h)1m>do1;<6FENOZM=+8?wz6 zp!JrpRK|SO7^`Z#x5+-~Uu3 ze+6-_YK`k&ZgF#?JFo|+kv{L)oym3Yj0&@F(RX6F)B{rLt#gWze4 z_q=ft-`5j93J)d;N10>g(a|8KWp8f)rQ8PMe^@~UFT893sMwfZl|xHj=b`!-fU{x< zW|l7;1)@>kH3-!=FZFO317P4bsM%9b#o;Oe0ryUZdv!B&^O;TPb08HAPY_|Sn&W<^ zJG2G23RgEp_ED|NdJ^Q3C5p(D5@ljxugs5hhm8vlW|edws=dcu{7+vqznvbp_Q*m$ zPd}Wsa8p>Te3%W;gehhM2M{0+=qPvoqspgfiRT$7`)sj1{~%To2C^M;y3(%|^P^~X zWHu-10LA|>9CHu@!Go$c8xEXFzHmBZ z>BKHj~$ zkAO;9w-9~1vutHQfr9VdsD`Tn|P0X2h_ywK;CM4TGD7 z)yl$*6{0()(($2L#Aqqme*|^ev2FKQn?C$fTOT}O#h>R4D|0q)DmeBkE3q*ihmF-) zVm=5Fp1Sg?NmWVjtTu_Ccbz_IFMLT+R#iZquM=oTW5eR^(`1t}$ma87swIUHgFQ5? zB&z&NJPzI~R&v)S;$HS`Hh(-I@D@xY^j0D#;Y4rv^o%B0OvI_yj_ObK`v?b0EVhdAWBO&%)A$~7jvCLjrb3bRE2 zo2v=S-ABLuGVFwZMYk8BZcFKOutc1kRh8*aeAV_4d551+M);!G5UDvMx8UKajK_Tz z3HF543%|JY7{MP?77-=`IZ9DZLTJosg2{RhX-y^55&3#I+1*4?WE!1!To5*g2}z`{ z&nW|Ppw<=j$AriPU(1lmD<(s837U+dl28)vZQDOO`#V?kpR!r~8ykZdsj^nge%M=k z_u|ks|5OKO3r%OZ<*KOgv)2!aMk+EBDQ^b|G%>j@LSlDsvuV6bapEq)#e#};?4VP2 zKv|Ou`3@Qu1>H8<;t9!rmEk;=H=3J6C=9?1+q& zPsW?4$ZTYM8aYYjUcx5GHQ#h)?;A07Bv+V;xAQ^UchJ-xb5cflT4l1Yx@3!GlAPa` z0V-WA=B9;GLZ1rn*tkkj_~0Zd1IKnOlzlTl{yZCUntU_>Z}91$vo9coy3tKt0M7xV zbAGe_vFfwR!MEy8RC$5!%SHXlY1bJzkHaQO@)$9rF~Q+NH=AniG;NjiLk(ssimODk z$HeGqgVNM2)d@X>-GNePQ8|RMSSI0`jGH3>?=1g0F7#T%1d>P zp^D}8y<`5RgBg_Sw#11P?`VC5sxr=oUBu7+hO4_!sf@clx_OLGV4Y+#HT{~w{=`8= zPg``?q*wqS(*rsVP`5|+8z)O2SEZz9;Cj{fFU&u5mt4UwU`&U*|LZ;_^|CehntJD_5xO}Hxc)Pzw<|&Qn)z%@YObW*Er4>ogQ<2frN3iF!Wh*qfQPoIk}zX)JpUjs+vyr#iY=7 zqNR+6d>$e>ZUxj0Cq8-B4C%~@KDGvW?;?C?+&Meo+}#k<*fe2uus*zZ)5z>;+QmT? zOCIGX1}PM>V`5rbH#`;Jn+>>04b_EuJHH|ukDO~zY7Oc0AgPfNGRP!&VB*G@O*GW# z$iQz+|H~fEe_?_6Q3H?Pxm{tMK)%->Z*V>t;Jnw}M^J7Gy3WAG#tH+zIJ4qX&B1iZ3ixr4@MP^=B6_Lc~ zw}sayJc$dIwsEY$&lc#*2Q|WFzNLr>6x&et>OFje6e}JQuX40jvNRLIM9`Z08u0Hg z7&&KKVC7VErQh}sS5k%>S0v{olnnaz^lS7ebfs`#*l9C3drenzHIc36akV?ud8_~$ zq)GFhxGBr%fqHm*DwB#LsR67)vu1Ij2y4k5O~NKlODnN203>gnu`AB*Jn-v$|2rWVnXo&`e`*GOxiN1vRvT{qorj=MJ9>3lA0kZ~GewZ4XCk2O0<2Y>i`;N3a9+@h3GZDZ|Lt8&iA!i`wpSY*FY#Q1Er zJA0?m=lg`Bq&jM14Fess>$naC8fPRpd771n8sv_TVYR zWzdOV|2Cq@Ff-&u-nM-ay-XqknkEe)kpV>`BjvbCs*&F1GV8d@FH#8KUuQ-6 z?FOHsl7=CKcTaN7=%VvU?Xh7|6;nVB3E<0vn;;2mnH=uSv+mwpZdMhB5}nY732hzn zzA{W|?{zIjg>8_`#m&JDk$1Y2mnd+-Z&b~(`1Jw8wuh9ykgk>T=`uZ=%_zt7vi&|i z0UF?@M$PK$yvsNF<|b7%?XQ!9Dp88T%Nz6PXitSAa|t!&Bw5A2R#+AhjTc_zdnK3G zpVI?ju*#f`WScm;Xp~`A`w%-AQ4eWI+7*C>q4){Do!%@(ZYaOUsAu$*bVM3+)HVX) zVZN>@8`v+0&mRU2OYKY|knk@<14)Te)!X$Mwx8R<_x0Qin$ECGeXqc)KS%^y{9Iq6 z+h!5`p_h0VUn+knpQZE117QVcagPb#iF2_v!S-2d06C!{?njNeCmk=!H=H6Y$a(N? z`0FJ#CN<{|mO&t$_$?zid)+sgtTx86Y)RQpC(a5dK3efMP2i?J@zmaXQc7yb@(0do zUwdrClMSiv3HA&A_U}oV`{IFm+1(%RMdn}sbVG9f+WNEB)7YRA1>yuozfWOC796Ip z+v2xnH1k#Ldd$T8inSD^yK)*_*I`Poo6Uvx=^6Rk!P+n6+Yi$<3QOQ;;Hopb>Lo4K zgw23Z{?9feu8cq+JZeV-GwGNGO{ITKmspFx7f<)Tb1hrTtK2j|iXo z`=SBX7iEaOC=*?+S#HnN>6Z!JyAv9Z_^&so6g#V;sK^?Ps0{!;g?k(uwU!B-mVYaM z*Zl|Oz0Ot@vpq2aPA$S{-x?UC07^S9 zfsGWa`V^ilYV!WLkOJ$WTCud^!?>O?C3~Q2UABhv>Ey@G0dC2f_G_d}9;u&oA7l!b z4(+_(+F>4T8YlOOzRSi?{L>?B<73`KGKL6h&%sLvm|;Rwu!WZIHN~HK+}6R#H3wi# ztBh~1HHhr|(JAdMqYHqm3n(Jd&s+$5_1^ehHWK@TOypn5N*nyUJ0rQb&XGwco7Ct5 z5%N0Zv{Z#|MoYT>c>JcVA&-=Bom;`c8L?z9eb?@FyBLK5D9hc8T_0Xnc%8h0%?RxC zxCj*@XN-&|CcV1Tr_j}g(E#(o(0~nXy8?8qC)459$FEYgCbf3*O%iWbA^r$Q?+pIb zejijQ9@nrCw*?=h-KLyz$_`b`dx9LIQH4s-M(EHIU^^c1Dwp{1Jw9LA38_!SqI! zliNR83>fLeSwCr3JZgMlr98F8hyX}H`hhKfI+R4S&7*osy?pR0=6FrVThtS@J0j5y zzNKYW*Hsiq`b=l@&2F~P`aWjH*f-7s>f~0=VAM9iUm}FtxtY)8-i~9g^%w1`yH^x3 z8IaN!S{Y285^w(<71@HA#wgo%cLYAz6w9s4ejM9a2qb=7>mIuDhO_mp)?=U9NAgd~ zV9`${4y5xAm``RW9qJ8Gd4tfyb65j%>CTZK@AaKJ|4!kGeKTBKBW$-u=_nggdt!yLCm#`y z%7By{Heu!omNzBhFzobb|GP&7xDE|%qu-Vd`{+7jcT9l?N{Vp#89oeD^Vd>ehW_R% zIbo3mgPM^txgwXIKU@fTz^TaO&dIM_wwcgarJpno@tp?04B&Yb_HbE|+}zu;Z+K6L zop+R?{OmqiDZ#HKmBn{0(x12=pR^|f#CmAoM`+fCoq+=@WYxZ(`g)`@_7FvmWKxNT znZjybM@B%QQ5THdRuMWI;Wz?9=;9-x?@^31o* zNJ|c=Yj+7vMK9@{^9>l_N@w~s5>wKM(MtLW@oWQHi1yn<`?10Hxq%aD<%}kXJj#3X zDFR%mH}SquyYeiw-pfL!-1@Ro=)KS9*^0aSrG$1~WI+2S>?)oPRPZkC&9i}ps>*#E z!ZpL~lCpc@-5VMgQm6QE%-n!R*5iE3jh`gMH1bI{A!+X+$4KTT zR*cUerUhL$A4#^L$unrW!f5UsiX|F+4A)<{{H zy|XIc66<;w+ie;<5mrp)d*zD{3OLQB@r|Y5i9w_m2ks;}5$>8;_&<%aw`+ohqp=g6u5qrdJ3wFsXm4+BA z2%Q^Gk<4-ggV^k$uAp0~Ml z&^!~F={RIv$?r&<(b^B;)qbm|F+3<{k|7@_eYNOrdv$Kn4AL?|ALqu(ad+eq)8tyvvsZUj$lTsv zbp_Lv357F|VgUUWi;1Xg;hJ~LNLt}8yJJ=MF!cz%h~Ms6NRxIAAv zW(F)M_NuOr=b2waQQ(SRMpmr9%#573|2Le_*iKDg#jR5H?-QL?4poDIw!B-F^P=ie zqK}r16cM5NCLTx+Zg}I=zVGg^IAee%?;?U(F!0{yYuVtOjF#`CLHkD2hMhd>|< zDC=(APL2PK^8Z3iS+gcFP%y`(PRtN8JS(zX#rD#(&c2B9EL2+VbR7%TZDB!;Uc#w! zxu2|ZSnYgZn`z3Aj_s=ucrCh_3!nG17rjyk_@p|&^t4Bxh%hJBB=h#4hycmPc}()J zoB?PY_f=E_G>%qmK5akd^u2xE8 zcO<>$bjacGa%08``*uRj9(n4mD1?jN{cz(K#aG5qrKS>uzojBVu;Cbe7;xWtDp8X^ z3!G{bFZ5|~I|F}?Ov=zO$Pkz9PJ=~9;U40CJ_@-w;2z9r-^-ru#J=)nq{@nFMxy`6BHttuE<9s1itfNjWg5f5DuuGUb{B<}{w~by;7z zaVmF%SC;d$qm(gO&Hi|{lR)3R_bL{rN3Jy}F60)bY7^JjR`zq`D6Y0F*u{2``4We+oj&7jB{spsgz)Y&G`)XiMS}&sM+hYyPf5Z=T5Kw6Nd^-wWeCQ3e$*^EC?T0S2|bPOyaoc z5#C6_`YFdJe!+R?YN=n{v(~{Cgh;gH!HYRO%R?V8kB_P55!002(at*F|dR#d2P-xDD{-~l4B>?`! zYcd}B?s)oA824SiuzUvgq^jWk6R^h0(p!hs|E5;iT$EoJ~iDwq9 z0X8k&Z62EcTylWi{mky?OGyiUfZF|U$1(ujV!WwW6qN;vCeVP5DqL&xezB}!c!x2l zL$|c1O6p!#Xsx|HYp~&xtc5Z03J-`cxcEx>Qc^Yl$SyLrfTW&6X!N?!&c(8|{qs3CBkVCobH)6_Ith&n#glmiw5W zQF`;AVxhv{{@EY^!y~mVVSld=bkL-R_ww!X7iiqR0v8U$$Bx08M!N?pV-B9J&?Vhr z{qr9Fg@fk~Mu;uY3JPF^Ocv@DKccLMbFgZN+Zn}KIltVZ$qI4vJT zXU`oaTSvY7`)`Ov^zkb)1~J`|6~E$s{<2z0c~?UIoS ze_;3-tj^^@zc%s{a-gLtbFQQ-HAspgqqzVsYX~QNx#}K=yJt%p zxQk?!6M?h~KHQI*e*5zmtmNN?2WSQ*QEu@ZdQK3G+99pgT=Tvoa=GY<;y__He8EO1 zoexmkc2@}tFWKxa7}B|v>>&1&8j1Hu8+jh#d0+P>NkB-AwBiRIK({;IGkG`)Sdoad}6rlfUaB`+MQ6Ozj4V|8#Is!NtnN>ET&aGxTVfJ`H!c` z!qm$xRYLPRMJ5|Ot(xUp;pbpqT)e)kbcXE<$+wAFQoG5^lIpp0^?xva@2W2&%b)w;war*+;2>t* ztEa3GnXbsWb9&s-3(-0;n%(s)h|m81o~wzw7Xz}pmOuMB246cp2c8;?=$myOKfl76 zLCxn`U{V2JIyRO&;7UW#vG?Rpmyd-yZV|3U74y3p=j$c*O zp$;JiXou2Z0C{c<&a{-q&Ex4Yq#?HxgrY;a{XhH4cQ#%mhXHLm?4oT<(^aZe9J7T`dUiGJ)0ErB=>sQ=-?{&H zWz0Ff*8Hh{Lyv?Tw` znUn;+?x7k+ral0hmS`MrVHv8Wddwz{rOuO1zjuDj`fciV!l6n2f$R%)R?t<76 z58v9mv@T)?dRi&D+Oc~n{lEBkvrW}KdTyQJZ+8d-m%9VSBqn@hOW~{t(Ckuu{<%S$ zcARz#DYT1e-iE-US@du}YVvkJ&++bf)1GrlSeu+1A^5s>;*MuOFjw@wvjF<-Cih7i zpD(Q(&}U+ot+J~S-hM4y!rfgfA|6!cW485(mAq5SUvZKBUD$+yL5BPCxfVplC4SSO zwJXIN;PZj3O=2w}o6HKW8MSDKxoVVTlvrvWj0IBPGc!l1exfoo=#IY04YS9iy$Q1V z{gYr1VBY`~(FBmn`QW`KG_ti$fT9q`8)q{Tzhe~@P*I#*ZWeWSRB}2*c_J4%Ha)v) zDaFfIgZ^T&G<5u=Dj!K}sL1BZVhV@!PCa1%T>D|4;gD`FB{H)nqRj(>}^!_OO)*~3cX6X25!po8scQmju`{Wx}LDt($j$eTP1ba={etv7$=s8rS7n5!nifmHO8bbSFkI4~Eu}BFV zk9VGPiD+;u(!b^=|0p7zkLc}9>1LBYQu-oj@cwGECS0zN+r)H_%!1rusr|s+c0KU- zes!f~;OWP1wtU?GWL^Vq2$bJRl>ZCz8T?J!9}6wcLjY2f3t+UhgP5u918kEs)(erJ zZaePIUV_G)*#$LgXK{FcZW#TMx+-?KFZCvgd*Pf$|6+oaV0_o{P@SZyPQa{t^c4aIzw!e7pS~rwI>Z@>v9678p4WUzBuicdSt~8cl4}1wekxz`mt$70NKaNll^LePFt;foF5enp%Oc%Xln;p8@hk8a&aL4{*=M<`k82ahitM~hOgQ3i5^w6C z_S;>TZk?b__1WZ|-AmCbrz+$8Vft@uPrb;ZyUC?w)7lW8%4uu7%?j4>6i!@96 z9nDdD9B^%_b!GFg;8o;{i(>QC=K7Z!Hs~7eDxB4ce{Oc!^gpDRm=?_Dez7fk1ogXH z!JP0R4g$PzR--a-#C{)B9$bO(KqC!r_KP_$a!vfyA7L1H+H~aD; zDn|J%Ok&i}KOj8CehT1c$$v9(OpZ-0*c}m(B!g*9>!Lx2}}6!wdD&@|O$P5wgl{C`9xE2LB>m z+B=p6uLksGZ$chq6wE~a5JQ; zU-zNHA0$eNzbgswUf}hTj~>Fro(^G2Y5Q@N=J#9oYG+2RI^N=1-f*@DWTQ5x3KX)3 z(9H`h2XVk9ml$f5Tfan33=23v-OTK5`mAHCE^@iu?Lp-xw%&ex{H0yy`4c?MFz{}@ zg_W?ET1u;r*?a9bDcim&9D9G<0$A3;25ylLCtQtf`&yGWi!Em7#sT80ZzC?})5~In z4vbPCq%}@PU-B~q332WGC@nQzi%S@tSiP$)m4a8^TIv|T^4P%9Q?EKTFv5u1maF^u$8 zUf*zzl?l3>>Yh^3lIMPWkr1YQPZT%I4GH&eeYwYFME z(6{)`W3oS#(9d2pP%D_Rzl6Y-c<%R5MTkq}(yi?k&Rbyh>o&BDF z-vold8sjAK)CryD`w|^PWtNlU<5I%zIZL9q*C)3eiy7YsIE@#N&PsM&`iA|cRI$#u zKl1!1u{lf6R&HIxP$jG~67K6|%JewH?t{+;7;U!NbauPRD@NXHKVL-Kv>BE->Ti5- zPeJFw6%hG{&v;ME@QK2qOONh+mv%XmiZ7@dPmB}Df78kgbAyY7;R*Q4PAYi8UKEyG$%6(h-c=(uw;d#^-rK9%NR zntM*nJi4?$hT?+T9S(rlf6rI@7mlER8_A&a*3>{6?YDh(&_Cu&>8|vGo0xta2}!m8 zRwp7vQPV?9*?W#Es+GKXW#4!gjn!F3-t40fRBk96USSnE_%fb~ zOoPKisu*nN0%)8!>W{n;I(plTz)U)f9a;u_9viaYL0m4@Ma*=D$Um@v4A|fla`q@W zRIFcIK*2%*2HB2BESHL`>+d4d(7ksL3w}zF?d};#gBi*0wz%v>FNKWEjHuj@&!BJF zxO4Q-8wB)+>!7Etr@^wHHDl5Oh3Sf$Q^I=g{>S|gLr`dt3ItC^0SHHC(%EKY`@;Yk zA9lgCT(_$6OnGL_3U_0w%Du*3+1Fr)CaUC4Ixvs;?dBpRpi0c>2M(N1fVBc*d74E! zs5@hZ8-zAnagwUe-Q@ECH&bGJN zuddt}=!;Cq$cX5}L ztXOZ4^-&)gtb?T8C{KtpHsPvy>Sh{0jd${Whp!Q=qLpdB_sNGfxdAml6yGY+xxuuXk$tb5od5 z=i+WCd}ivVzq>Z4Hmb+5BKktDBAvN|Pfr}|=wwyc+PGjmtJMEc_C4-pk~l5-&Z2hE ziE|SJKApD)UmqA$*_ECZPi0UR!0ENyY#XgH*nwZAoC>mqwlmVw>oH%+DpX50ZvgPRBsl759uffgl?!~WE zKNf@|EHwcG1r~OBL1!q|1#z~vXyBbLn(3J0bKI@(43y|Zi573nf^qLFfsS}VZbnRK zZE2&LoZO=0tH_U-7LdjqK;5yErCAD~3i`vl>W@!utLPzKxks5+LfVj{g0t%eVGN@# zy%;~OfJisOIw5y*%z6Hr=A3kG>p#JpM{8@G?9Q4Uw8l%1~_tBlg-npo_)$AbGNh=&D+svR^U1P z=~LQyj6nHaKG475a?jOu5OPedrAF#W{75qrDgOwFx=?ZXK-rnxif_a2iKPmTR-gEh z=L}XUfZQv;c5+5l084w*TaAO3=8^($gZHfl~s8QX;m1u=&2R4u*2Qv~+9SsT&fndzBwRwL)+= zxI2rxtO|=(xrR z5$-k0Fd!~9L6EN7enmtz7l&kWJB(!CCa8DtAX2STu#Af1ty6M&=8Z>FWoN-o3I`mX zAV-RjX;Gwn(ae3*yASVc67AGu_Hh|6q>F&@DO{(P?ms^N{xmnLWEtC0tg?+ zv2xI8DY-XnQnZR!SNSfYeLaBn{a5yme;echf}|Q05ciwW>MjY5gcSXrX(I_ZkpFDFw^uqP=3Txe{B=YSB=Ko^tz2lnN z()RCAL_k46K#CwGK{`lB5dk5P&;$Y!x)?$Y(gi`~Sdd;q2vv|0AT;UKg7gvuLX)Oa zq$#MNi1oZHo|)gwInT^I=XuZUKf?ZefW6mVduQ#n?)$pGSGRfA1In_#-noX-&*Nc` zIGGn#u-AYy2^@=lsQbmoaJ+rEA-2h-KL^;lS%?giC zUtq|syNZo!tfEG$aPwA#A{Q&eQYrV%_|N*&^SkDOvtJyme7?8y=#714e1A>#wRN*^ z^e{@K(pT!vGvwr;Y*u_fe;%(Bgfpus%cO5mT;%6m4czZanXqr8f+D?P%$nCOP+~uJAu^fz-WY)%CO<_#yUz^0fKq z1Q>{TO|b|B*1bzd-uRx}EgK0A044Pi(mSOzjt;D3WaxN(;_+9;4whvzpDRTTolAqK zNB6hW7wE_)kn0Y8s?0~X%wKZr9t=2XGI(nQ1A;rS>qoc5>fZ>~R)7^E;WK;D&MGpH z&d7eF_44T_w&jvLns|rMVUW0v+@>|}cjM+k=dhQRG0~}lr4ExM?Q*I5!=6`AAS0xE zjQ|otp}#`@MVey&)G@fMWHhGO??>`Y`JgUcNI!8iMYle+242*ABlTr}RR6xOIwx#W z&YxcQwyT5Le)wQo`lb{=lS~Tq!yp!h6?qt_Y7IcPKcVI;S|gP?XxC_;jD+S(L>R%Y zf!aZ59nj3*S%xzmDqEYloz{={;yJ*cDuDv(vD^SLR70f$fVhKFh#&vw3=6$%a2>ev zJE3TJsl6IWJ56e!4o6O|Fp|H1`@UHxu4nPV0efNy9m4t$Or(C2pgB!y$VtUN`6h3rx9jQ6Yz1314h%1)pbGtcw zW~4s?q8bSf!sI%-os;zlI(?3aCVeSF@n3C#v~AXynTn;F-@4H+s}$82Hz&d~KBew| zYWg8-Lce4JpnSY{1v6L?ZYDo)SDQGEI_PFyN^e89Byn4O#O7ZWcgkvBSd z?Sy{W%e-?zdsAX3ZQQ@C(AS@wkv$N|{@yHse!8HC z=FC1Dhn3Nv;jXjz1UGm}FAGj*+leYZX#4D!+YPY^{a)>5#=aFx9#^bb{5^G{@pzDF zl!$s(gZnB~=z7~I!QAIph_MhDR7MUZaViWr37+#({ZfCcPFUR7Z#O>98&lT@>K2S2 zO1yWZT9blzc!3Mzy1&+BuGINX&PY92bWrBOxR$8KzP5~0;Nl7{s> z!@_r1>*d-l|n2=6sIBRT07=Pswr z%qhA^+9@$UVohIV9?F%$pH6C_AjNlQNP=t3GpjlJbBM$^;J&rQ24Fg?N0bA23g zWwMa8`9o0PJai!+*^Bn}7s^7=BWeOAQXnyc-+p4BZM#=I9 zBox%Z%}lKjo!@|gR|zZfJ^rU$&p+pV{>(m8v*-WnCjYw>RMUi4^-q^JE(-x!j8t!~ zKW*UdAssuxaq!r`@(~eE3)OL+F(?dMgalceo~XW&b<^1$)l|FUYk9EUJMC9U;;*yiZEzR5e!h$J{aHk4OAaQd{#vq zGA3^4UVSAn=kK0HC=xUYjJn)XusMW5g%r8AXog;ND?^mGqr)0&fz9 z@+=+ATXIJsb+*5sDE%qI?O#>*(VG8rJ5wZQT1rUm8@v_Y66q_?xZW9K%lj2(UaqMo z9>!@vSR_&{ofuabj(dickem@;gya*yUEPRcYjQ#|Q&WTD#0T$0GY0=W)M^6knQ!A) zc0pgY|5r(rCM2Mm@1${-_cYf_UDSGf3QWeyR~s*XFq*PgODD!X6c~D;rR4g#vbJJ} zQ`v|?aBn$g+JmwhKad`+H>uWfp*(8HYq3QG2pG1$9MEW81VlhD0t$yWU5$!ejkL|s zkZCC*P2ye)0)>JZL8UY?Vc<2>*%CbT?9}|Qg`~C63-M?3GiFaCrk7pByb+sPZ!5)7 z&6duR+*B=mSD+<}=XbQfaKuX$lizxTanmc8T0!Q@?Tr04mlZnnEH2o&L<>)(y06i} zW}XCH_dZ%p&3`xzGbND%1ys^Q9u6JH8*c()Aa99jicz{4ckxhD2D)*P8!dox0D!{< za9p~KYViZ^7x%3iG>O)hu$n~S-xt+A!y$oqn_lFIR`q6?4bwBim++`rPLFrV<}K~| z7-}dAOHa-U_Y^;V>;zL-oygNnGrJ{2r1=L`Aiq#(4+D!S?w?KmkE`zgJxr`dpH^tY zd+t?lo_Y2936ddNV{E8P&*pYXG&Q0}N7!9zFCx<4pU6$ zM##GYoyw9`!6S})eS_?4U2a|BLlEWLN|{`7Tv~i5Muk;^4&zj&ee#*j0d9m7vNM(T zi?8cZeVrDN_DDHb>n}Utk)tcy(wCIOB>xXZQ-=T&OnM1gvcO#ED|@N{%FCpQKdd%m_@D^%~V19 zk3+81KGJ!ay|^*ulP?v2duC{#|CEUT7ih-6{as^m`JCM5$l*|L($5Py1iGt#=)*Hr>;gCgQgx1A%7tNo`nU z+jGvTv7l+?@&j>?ZKVQ*Mju<1KEVCf%$L&zQ@7anr* zlJniPmmo-)b;0=k-}A9-{^14vC%6Isb$-v^I_DohP79R;4cBgrc&qd#kQL|8R+c8o zuOH6@wWLnBuACeFkW%Z~L-@jD9X()6?2NMa^(kshPvinR4Bg_q{`)$#`mJN`d<#9u4xTIE z)lr#uKyj<9K`!gIK*e&IwYJuI!mKAvv;p^ASfmr1QCg4jT1SpIZD#qb4fUwPkc1lu z{*sJZx_ax4LEewrZb+N(c$@K!?Joo(mR?p~&X3R77qx2nywG|sK)lS;_^gLYDK!jh zn8$IjCep6=4V##}UL$Viv_*@(U_N=5Y6M*+x~D`Yk8sw-&kXwwGj1VlhU~H}Q>9Ok z<)xLlia3k5l@=8Fvj0)d!KBzz>9dE9Cc>tC#?~gVudF?{#cE3g5x*@84{@-rMgA{I z9fq2so)AnQMG@|+QBTtR4H56)e>xs`K+!0@W3UrZIU0?N(mZ%yis7rZoT1+7k^( z5E-n4;Mo5$((vKK z)_jjQ?p)dI$475)r%Kp+Ow9YT6-6fjf_E?V4#UFIs~A)h6q@jTs8>v&8UN!cLYdCY z!R5*8J51g?rNL|Rij7AtITrDtu*on*N+JT|azf)^)6Hgeza@ifJnXmk^^Sjy(VIh> zP-jfGRV4?bqxba$xwP+v?suhb_VtT}X5#{ew2;@`Vf>J1k^lGg=3kWv{?@Vo@l!d9 zaq0V5;j6IL?{y+E~5v2gtuS{3# zvz8Q_>S9&qC;NFv+|2Wk$`a>fQPzr7HRzQ$Qn-FFoUGiWQcCo$$3{G%HygNr*jodtcu;I6l^fo&uM30Hr$S< z?1QQhT8~^_bbMuDmF*Eif||ACRpx>p$5RTFv_+p9eFUwpCZ`8to+kRS1sNKrR+2UB&Jt zQ-WZPRD%>Qt1kM6nR)+4)#;FqdQU3Lq)21h!`d*svu-B8u)|AH!hazxOKUuMJ&K>K z^=oTXlj{ubX-q-tVe#?JET$EacG=wWLDM#Ofm(zM$*7(;+$Y;^DSo7iN~)7PRd>!t?KS&9>6XY)-Ls+x$!uOZR0tM$kFWymRtLj zuU*NvS{e?Vh4;R}FoeFl4F7tBVKG(hl@Rf+Sl@EC=W&A5M)dwd(voV8-2>-Z5p!Py z)97BQ@y1#UQE0e?;ZxubFT=kKd^v^Fj^`@4N~I@agWFwz2<%T3kpETD+Rx7UKYW~i z&S#lf>*S~jTW!)L1z;Av1o>JptZgR(N^ zXKm;kDV0^}9dSKOo&QG?i$YMlW1NAELAm+?*=I(VE_9Z_tw==2=e^8qqLZuFca?9y zBahDYe@?ZW8Oz(r!iPnc+XCNKeDx{rjutEDOUH|ctV%7?*;nd0*aoQ2-}zEH%6sh6 ztCt9$t=_%?x)G{`4dN`|k23D>#Q5=33>X`JB4NUL^JagAFgovjD+} z!qb+|lupOQoQ=_XpaoH%oUB_T>O*z%$83M$=f})4LyzCQ86D}#o|)w{%eViM`5mTv zb6HD$_9nH|ejt@}U{*poY z7Jwfsy#f^wxiLr-iHm4#S=$FvvIU@H{|Qy{KmBHDJr5>Ry(e=Nn}A1CT>ox}u>U8q zB1)~YZVK?@n3>0h7S1fONYvkHJa286FJQE1DlgKGa*zM*KOs!*FQf2NkLbgNHwls6wBkMS|WB31$st%8V3QWDSv{;soZg|+kdkBuu!__jMc0! zNZrQ|Vca`hWW#L<=kk#e!(zAwnO%tGA%v8HI`^ffzMbRJ)N#YzaR%l{$e++w{AEp; zW?^rLeW@EkU=EG91k*`uL>EKwyHuT{Hr+k;sa*K7aCuHCb`zWjGI}pQNnS*d!E$1M z+=sPZ@d?(8EyqtsP1c>C859vvjXSCKB17fNY_o@@fZK86=Q)BY|JPVWK3WWh>Fe5R z`5b*9QRZw6@7zZL1fGpCfT{9Ktsxg~kP_6icV4A?>|hS_j$C??Xzh>}?s#Sj=T2lz@O}q*_H*ka>zn7wq0vL6dg5{-^hYyu z_asB{?fpn}{rKz&x1O8)%&KCR2x;}hc`Tfe1f@Z3VG&-=(YJPRPM6KNOS1|V(gUgN zGIIS^IPnW+Buz;W%wduovqw8-CN+xMt0ia`@>(Tro+KL~&*20DlwN8pa{N}w%OL4e zxq1i$9W8+kP?H$7jPsQiaZoi&&<2b6q+{FkkEH^LGXA{={9o_xKQOcME*P7Rzp3Ry*(7(3M z$2`$eHSqA2>cDNUdmpA{lvPh|4|!?rg;IX9(dZt2d0Y>|Np_EDz*a6A)b%xuMo5FY zY7J|<92R;#w6H(A{0w7K58Z!rm;PulSVQ90jjxXRdSjubqZh44c@P9Va>&yrj0nmb zbim}N*Xze5gR4h_E2=U(EBjokw5e_YzO)pXY-AbGw*#2%d=p@K_?wNxRe=hcm7~55 zYRQvk<*4rkmWPfU|9BV=uNUmr9TaQ#=1TKzB4vnvN06z22XAZPzYoWNz`x3X0jPD9*vZ%ljen3gcI59<3 zUQRQU*Px5RqMkf48oc&G*Oc;MZAV0Ev)7FzkYmmimbagSc^13?FI1XoSg7T3)m%Yb zFcqDrimAnkTL>e89+R=}qFWemcTBMLQ8cumJ$VIt-4f_|k8sEs_|K)4Wtl6bOHCPl zJ7t)0NEq^`qM(0SOLqL2jqq*7`>t9#Z5Mn~&`uN^Au~(^FA}+}eJO}>bj-no3M)D~G5XjeaxJm|)LPV9J=Zk$;9)NvUmmQuS1_*jhMp5Z@o@5D3l({;RF1x~-+48LZN&A(F49C_>AVG!0;!sppJkXKkh1vwF`MM`Zq7Khiqa1ayx0V9q{_4k#j~Kwh0? z`@TK$NUQI_DfD%7=XKaOCyhfs3=@WLO~a%x+JjhGDK*y zTtV9u5uA>W4ttfol0&7>m`WH``cR1~51jN)(R}r2A@fJ3duHSg=sen{{`hoy3?G&MH2- zR(1{@nI!VF!4QaW&x=j~M;;u%0wuS6cPn(h$Jn`czFgo=f{oA2qa46m^+i@3Z1T`?e%n#%MO&3Pe$g(@6;E2g=fH`z)r!JH{s9NE z-l^Gz;{iy=7c$1C+LxW&XFYvH}I*jYW)a)JU$Fq zRIa!Ri%z~j*&yHMl+mJ8B!^VCOVGbzv09r0v_F1-Zb|)Dl^M#7@p712j2evJW6qr%2;d60YBWg|zbLuG$c947VH8RlbxsWd$ucv7QJo1eJO2c0Ksx(dWHn2T+x*!OC*; z&?6;M4b(#23|q{fk3oBUZn{kFJ9Wvs0w zGFf>#ql+&Y2TKJj4vOQXw1v{SXazp$_V$dj_9u#G3TNKAzTxB@Gl5Bj1?K7~g>%lv z-@p}daXIK4q(IhQt0f35=w*|~_y}pdaI<>=3@D;<%IKjZUvRu1v;|q*U|5Pr;iRRx zsNAb+&kb^&ICv6!-_SL`qhCtXtLnDox-H`$j@dn`E3A)k@6DhE`2U+5LrRIw0CmYr zg?v1d9{{iV#~pBwapQ-B25a+qVD0+jx1oS3d&SLDH%`W^qlT&4^WCNHWrmKa_hwtI z_#*2qsZ<(cZHWdVd#B|>YucZ2i2AFkW~E7n2@AchQz!2&EN4teKIQ)!bMC;S=?2t! z$)MJo?pc`X*<07REFdMqIU$9+j}+!-+pr0rPwL-VL1WVt;+YB{IYK7H!g=D9FB|2P z+{&A)70qgO;(d%Qo(mz$UJLui+7#TcbzM`sIw5sbM=FE9-447crcLGy%exm&myV8X zT%+Ra0fG-n%&>iNn89zO?tJjJm(`orF0-RamsM7hxhZY(=*zcV^U*nV4l(!TRu2wq zjn`4y!(P(*2yFa?hHp&5S?-r#ThJSlGawAS5Ia+hlcx0To2c&j@kILUfS8x`>=*tXJrY_b6*( zf^qKoaP`Y0@KiiCG}PF;gPzhV;^FMO)`>u7>mn+&lb&Zv_ru|C^Dx$>>EY=87m6j) z>VH?MjI=jSQ^$@zH}}rJvEAo!=bV zAdurbsN%SHtA=SYJk6f|xaMN9{P7iiH#~mP==1lH!$W@O^X)#Y2P1FxV^wU%Uzb}f z)8y+~?dMC7o8CO+G|kB$!uf1xFL--ej>FBQ^uw^Xp?eP?>ciGpNr#M@sI-BHLsnNJ z3d&n&Y_^B61fP^QDS3*_{gtoTx(;&m*gs{A@hYYARrGsIUqzxD`xRnphsD6k-&UFa zL|I(oZiOH*{=FP~{;4wNzM-arbt<_ax~l4J86s4-Sfp%ex%Y0C$fTD9C#4qd48X6osJ8dE-AvGZH=K z%k_Tr1f4*YHEdX`hVc__Sov0Jg_Qs_591TC2#S!YwR7w56}$IC-&;yh20o?ja8yUF zAT_^-!!q0W>P;)*!MlB>%5-0?M^>4oapXr&JbhN5&Y?Jy*<8DD)_WG=DjNmG2AXe@ zTnc?eHFw;fbkU1{h@S|)df{wNj1WjTl6%*Hy{QVR`GBx%b8NfqdJA8_`1_~Re4%YRZ} z{?qOm9&+{(D*8(ce9!uah!Bqh%$xvE|TbM;YFYbTM8%U!{O%tL)4_rInJI zsqg8neQ1)d}VH!lqjM_U0y_RpFX z_m}r$kE(I+yp>Fz^^gU=y1?cpwc_-IYFy||gFAMLb<@%oc^3-=B*h{F6%8`u}X?a6Sd{cf)BmT(>TDm5tr$I5t+ba3H&WpKtL9VzH*p8fq?Aer5W{(`|lxfM|J8XF3k7S zOfyCMQDifkX(lKr3F9xBqg!eRZHFMQ9oxw0*3xfWYf{y&L-@+s$XI3?CrT2H{OZKc z@8>&srfBm1>$e8wzQ73qMFxliLI&BynrsX!t)l>OA}z3~b_VXq?+aqY2w>tMFY9Sh zPzERnaDo6AumlN=d`^q69{Cpj^TrAA7um!&`6j3quQe$N`kSel!FH9^;^Vjb;y<^0 z-=j6@zj0G&e$a(-{Uo`5dEf%togl4Z4Wx0BzzV_~_~7^fKWHU@Hc0Y#!TPw1<_As5 zymJ}mHC?I!m;~CdoY)Du;eoD}0{*|YwHo35Ce7@_ud?5-cXZ4IEC{G%+!&`WogDrM8z(V)x@J*-#BcX4eP(|`=3zS2Xa zZac^y1(N%slsyQXw@D5rIzD;`;FbHkl@>7wd*ra2K^AHzzU6y6$IuN8H)Y1e#adW-k)47YcPj0aBfqRLn-!mYlD_vh41&@LB$JmyFY z`a_F-(2R4yHj9Jcs|NmKbU@q?{oB`)*3pN*mN_5w-A2Wo%r{AwPfBT~)asJu6n=r; ztrA0Uu@=eDi6Cs zX^d(QT3diJrg+W5=LGJ;zRYHk)JN;@ixk9`EK_&V8>ec$Aw z^SgvGF46&5FJ)ydN;`VT>Nu3=dFJI(9g+RWs`KxU6oZr(!ltZJV(po0>qJ}7w0Z*Q3y;==S3Hv(aqn4zE#=*Nr%~F>I?MWxSEoaV*sQ>|Yd&X!%;<1Zv+9r10?56^R zVAnp@QxV(B?hfH(>}Vt2wm#Csvkuw_^0`P?Tc@?=Jhto{RI2oqea-v%^2g9g616Rs4x;imX_a_ z%tB6;fU%1`5A#S8ILU^zOmbt^3mXQ|hsOd>8e*!7$waxEveW@n(*fd4Gb%#L0*25Q z;W#U8Rp;pcX--|pZ^)R2@6FSUdOMCB2dG5-KbaiQRN{Tn`axd=&np}piR?ig) zJet%IS4ZN!KSUEg6J)hKeT{=zah8+%9*AR1RPNNJcaZxH6TztaCv#dG?2yYye1k?q zCA?7CVkJU?KD+_$G5rvo9X%1+A{TB^m_Po5u>D&!>ExKg(E=Cj(MhkwGcAMov6Mx> zk#*ZY_z5FeHJ>n;npq-*t<}K+@e4j5t;yRp* zkPoDL*G!$Z$oEt!Z3d~(NZJ?#oHlRXdo|ZRb&EIg<$_F@ZW4dkF|Oo95xz0BHn&N) z1B}=ukuW8dC>=6jtbBTCe;0iL*Tqw8Q+!wJa6J@iQE9D`(uyK)$asJMzRSgq8yw7Z z)bg}%2J4x3{eBJ{U~bvgdBEeoOzn&O(mJUfewXd<=wxbxTX!ai(d4xcRgZkpYQZ)r3>p7n8TN@dlOSy+GbE7;ilTgT{LQ6|?GlgxxC(>e3uI%)?Fs5EvxkSaZ)b~nH{tT;X?Tx&Za&27QxfV78oiNRrn zw0F>#8>3vU0|$aJ6ufa?vni|xgJlSKZ+vj=S=}X++{PSAtE-rJLlxXt60be*P43&L z8C2cQ^5ygkYiaH%f(36w8ynWJ<4HMmbt`gG1T^&DBgbdYtp!$T)~t`O4W__8;stT_ zn^H(%J4+K^I)8bvu&`{KUip?&VZsUNkR;T#LNwa8;3pYm%EmKx59hJ}!ZvMrS3h)g z1f)m9X@vwJBdsIzxZ;Ry+>~;itT#KliG`_nc>sqNj6#$2L2-|zi^%$?IsD>$Ft(wB zGG3?!3~DL+IY1+SPwy(?O>?-vs9-{Q9oY_k`5&BL|1gT4;l^9=^JC%ktuy2GdMA%| zbcOpKd3$QL?nGm1hnX-9Zw2NGy0p2^zxSy5Gy27!t@=}Wu>XprV4|+6B`)~!iDyb?) zCe>Pv5YB!t?a3p1inf|7U^3rEu&mSm+8_&R+( zK6yTNESHish`(tpcU(+W3YIAfjrj4BS-M4a$jQJqaNO?bG0WXy_sgF4jXe>cg~6BD zw*JhR_6uq(vEbsT+_H}AhVd16_gV*OWaw@nUFnzMdc6`S-sQO67dN836piN6Tkb^@ z2bjT->F`oU1>>m<_=%C%K>rdd?Xo0F1h;Oq$e7?p$#Ha)=C$lY3=7_y>=Y4 zanH9T<70ZFw_%)l!Y&eZ*1YkAmfZ&AW~*c+LeoqxDjPp4NuWl@)7%r)UkIq2da_0$MupnOS!kPXT4AN4qk{_b!`;#hULJwD=aE*^^DW8NHvD>!&+8Q=(FO z+o#Ix=u|PR2;pxI_n*MP7i*FB;%9UYuptrz%K3Ya;S?0NO{I}>0LV?b_L8}fYGs|4 zA6x5YQ+bCy(=v2CJcVEVC}l5D3AhM{Onfa2z7CfWtMi#VRJ${bnoFL^P*&N(;>Cuw z{dlse8-rEU8k-;4N@=1QZzo<=HrY($ZBm`-z{1L_@8{Rz;HyHFs72Sx8#~4Nx2zYX z;1Ou9cE{ap(H4K(uvBrq5u}*|cw4=Fo!%Ln-K5I(?yL-oyUUBeB6=4QmKCWR3665` zec?5^rW;f9>?_G;(z0kad8FN!V3jm%fkM!}U#^Bd5P8qz{xW5+U2pR472TN`BWM3A zZ%gis8Y@oO=1c^%Vs1uR`Q-{-(aS$fss8{)0mcP;XJUCwL|dgU3rXwE1jr0kVs0wU zbEHzJVIYp%Di3k3aJX3OaT$7ng>%P^r%s@xKl{w^K^b32NXQ^moGB$>cxaQ zSy+hGez9DV)wo+!ZI}Wk40W&+AZc!}V{2hquglX9tr_vQn+%siTJ>OEWRfZl*#>1V z>JN%_6N^17rA+(qGqqMdV9-S(-rehCls>uf;wSx5az|NPS&^pG{olF;;KXAeBwv_1 zdv*gd!WI~je6H24DnGIU4A#FNtCPO-tK3hBP6s$hSDRxdUsLC&eQUO|%Hq<&XWwU9wO!uesIVT-FK3a}$eKv@K^iWB+LJ*3kv_gBPy)77g7oOp>-Y>yF)U6_qv~F!NN&yS2|kC@|PA zJ%!gj*Pu&Bqy0}MlmD{13_K7J*;8fe@L{V0lP<3Z4tFnmX$3XsQH7DnvAiP26wmU+ z8b1ZL*E~GhrWE2>N&zN}U#n;(mCm$0@uBn@`DwWsx=OznwNs`%tO}kpx=TWiq1U?O zZmC##7U+&Ak9YI)f;qiB2j@_gGsi1+r5F#`l7wkvu>kYl@U6N&MyALYY>v<3q&vC? z#P~u-va%D-qTN&YHEQW_2hE#iTPu;@VO{uCC2>mTG0sh19VwQ$dhVG|q#=YJLh6p@ zu2EccjC3ERXS!|5qOUA@fS z?_8}`g0%nsl$1RktLH(h8nH-G{G<2{3lj?uc)`w7A-w5`|hIFD}C8jZEN>tCSGe zk&e@+G(XL^UtrWZqe}>6r=Wj>r+okv1Wz(5X8rnkR}#fug-$T17a{@?d0mAzfBYAT#cb=RIUo zm1NAdQ~ee&I9^q)@HY!#X4c-T=cZtspRErFgjoCrZ$~>i96WWJw1}b#G1`ypgExoOH)}4rPcy?>~C+aKg=Zm$9nw0@r|Iabgz)B zcF&R*Dt!k0m$6})BGJ*&58JuoicZ%~%->PJdZMQv`~9SzMW#DGK@&I}!yO53_6@OV zCmj5p?G3*nmKlaYAN=c~wNkF!3-uOBurrmAULHuU&u7L-6b>1tfERJN)Yzt61t5GJMT0 z*Yn{!0>ALedWkaP6)=dfSB>;&I(+O+SioYhg7ta=dDjO2of9)-F0r$u1S%UX1~z#e zTh67MY^rI8c$9NCigg=uU{>utHa2{nd$ORO|^s+*<$8c06x}&gk^<-BUiUOuf`EH3|w1jSP&St*y_aCPJj2>0aDo zMQm~RRmv!oK?5Tvg}f(GvxCfn&v9h?4o~AiOf%r1VO^wefeD7;$7}0hR_)=nLcA9T zLlP{5Wh)DnRq}oLIq%Dh^|iFyOT^i@KBR}irB*0J>c*jtG{0naU~z-`ir!MQ@juK3 z9fkH@fu3|4WA^M&A$8*5`U^+2uW@k3g7$!oVPfXf#1l6yOG)c6?oUQLvxy79a@}Je zDHyew&>Ne9w#*9{zndqaitrzKJ*ayBf|M+%aGJ9Em^U3%{^jw-xzW4Pue8HQ#*RZt zImwkdV-dj0CmUm8*YaGRt{L}EMot;DsgOf`0Xir=bPrB7jX)$Yy3u!HE zR0M9TD0jK;9i;gCCl3I@`)GG?S-?5+YrKNes_wFjRx)TLTji)XvMn7R`_+nkpF9vA zE0)Rw$KFKb1r;E!W$e56;p*6B_V<%_`Fo__JjpFU$jjd0y2BRc_ok$sAwVGbP`*5% z(V@^O>72>zWi^+q!S`x`*H=CKZy%X8*3X6?ynH10lCls>;GKE8 zd$xt-je&|(D$c8@blWyhU(dS3D_$e~*@QRirp6hZdb>d;SigrPqb@e5k1^PWyH~B*tj@&eBLF$sNwFG7A zF4{Wa0>SqC@s*eFm$HjMfV^DkFu^(mcyws9fiSsdyslg)rC;l)j@I>x{#(MQE51pe z;n@Fw*ad0IuS&u~vqARQ+{L*#WbC*NYGI}BtXqn}!x7F4RhRIrM@$;V6?txem%+aa zu?v=z8yg?54tax}tU#Qx*hoC=A$~sK&YY55Az;2o?<-kCB%$JG-&D$1ZzB*Eek6o; z0G)%7XRDa>NLffnlW1l~Mg=Lq{$1*TvLzAY@O+KgU{U}rPxdSO5PryafUSLC=s3N-d9GoP zk=8a{2u0u#x+`4id9#2YF)+V&ds}PUax60?G7;z9%s>4-a=xEldwk~Nt)+6Y1-3`Wh)`Uu;t4dSO8G1`} z2CI#yeT?~HB5dyCd7*iJliu0*u+=ZTlb&={BH%{PKl0lowpGhczhxtwvk`8IIFQ(cAFBNjfOPZNIA&O5br)YAB?%x z8MV`c4LcG5%IoCi&W{B>KQHIV3X{OBJ{Ol4hsh}Ny#WjEbXB9JH}=Gdbc{LPsZ`(J zOeyvJ&J82H4y=j82jssmS>wLk#1tQ|USg#*8xhf19jRGTRlN0g;i`>z1V{RYeO0AD zl*{~Lpz@Zbdv~sms>uFn`aFr!ul@y!CAoh6l6nVJC5NMu{052+Swsev88ar3HC#8qrEHJnv_FbCe))(f;>p>eu$Tt0NQp{Hi z7wrxy(eYoo?xDV4Sn};$$hV*d$EfLYDAB&w5+3H~mlfY`-T1a{qfyS%RIHAzk6Ku1 zWO)=(v?D$k-5wSRf&9N}*iFej|G+uTE7^MKGTL(eg*Ml#8CF`~7)NzqEuGpYY^u6? z&PdWVshMsKT8rN7wuKiJ8 zIuzqL5f8JLf;yeh65gdgd)FP9=IztF>EHU?Etpt(s!I$v(J+>MY`edZmMND@pFJ)J zU>*Q=kBR7^m#m+kcyY<~t^}^vL)VuLdy;p(egMH7j;UJ|ql{zetD97tPEyH~qVY_c zRY`Gj7mS zV>}XgPjWX@c5@j+i4jk51qWjovO4L;+N6YhUgiOiTXH4clbyn7FM|Kq`Pj?mb;cShe_g#Qn_urr6= zYJ|q%Mt!})z5k}Zp?OLI`OzmGgQ%8AMv{(7Q|H=g(XxM!z>mg1zp)b_-i&LViTSO1 z3#@DFdnz{N_`6?QXCv#N56_eCB~ME^QlI%m#~9|ZWM;4kb{{-d?3&huYVxXp^xJn|AJT$uv;J+uDo5W=Mz7~hnB32meA&xr+PDYBa^YcGK zJeYphM5eDB%b5>PTubRB&Saavsfe`S&kJ5KZUd|1Pa=MWB+wbjnukX?rZePOpIG`{ zElf*l?8{L#yy)&W=`d&(kVP^Hwm(-pD_PnQ!zS|b0o8!VMi)4xohqwO(7YBX;0Bc2#93Qb_ z$?AxZx(7e2Kij~>pYh%;B{j~F-9;<0#^(Z@`@(4yejT<^>kyff)G9Z+ze7jr$LsQ| zUjE(xA8+p+)zr4Gjfbi3}Tp zS88Vf4ru0IC|>+m>D0he)RU5CEY$h^a)h1&3Wf7y0&f`sUQMYzq?9JO{T#W-HR>_6 zs0Sv1&gZ8j8h4u1Bd~nTz1x?@&fj`+_oDCkssO3+p_csvz16o^2&CrO$jK%k`f#k% zsE&`E{GzzEUxLnpBXYgqWEe`ZU(%zH5do^NQ+H)(Ch8K8PF1Cw#>q7x*=3}BNXB?2 z#_-?iXc%rPmm~YOPYH3go|x!pm|a}7|M;X(&p0y-l*z{4sM5TTELZX=_*$)(wzyg? z#gFA>hSvcsPRx3vkjmy%)3by7zQcw<{kUf~wkA;)V}yaTtBl{lDO^FL!+yCW^T*Q# zBt5zR#qPo?(G=-G||_XHiB0ECr&eQ|E#QF z)G=8U%?j%hyvpOETo^dUmlMUAYP*eU68$L$D5>1JdSJZ75bC(*Hh0+`2KX(81>oktjc-yKPv5o~GK>*AD{q~8C9-0~ zi1y_EkEu&S*6Xu;5eisKuADSA=Anx+Id=8L!VjPq-#Z$A&yAVX`Y5^)ARsf0$3k2{Lf#pxi=>RcV{<}Pl#A-X3Dool^uGu*S=qBJln=X9qL5KjG$YuG8bG*##T z|8@nZf9l`Thx?8KV^VejcVE5fx8C8_u6yi3kbHKw)7gi?A>^5zW0l*{r9iN5Z+7%# zR%E7&IB+KXb)DFcA~kWPhVlF3Q&@-HFf6frL1HnL%{o&Yqxc=U2&1{!)`a+M`t1#9 z&7?!jl^DzPoEr;-&2!CPaoZx z7>5+uRmkqiep>JcgopIy7?MIXrUGbx%S)pYZBg1LOGElv!9?#G^@2= zE75S+fKQZFrWN#i-~mj&&M{dskUPf!JkpY*UU4dj0;e!g2l)7bzT*5I(6c9 zoOAhG|I!bTlt@VM7=p9CRP(qvOt(=65E@2uE6rFmwP~I*0~2Kw{{}LE0hVz=x1G=D z7@6*t%D9(vm>QT7q`GM-x8DZjk}tLudUW0Mm4saROaipG_klA~)Vt$G{T0oNf32@`dvRfQY?Uiz4GywS9G5Iph5^<^4#+81kKMLZ}lfuLqSLesp{KW5(kWIMz zOY&G~&{2v&R`P{K?=L=b8uQXj2AE}yo!7*XJ=3r1P~z84!;GO|+uxWYAC);GQ_J*9 z9Tx!ED*i&I-E4Nf<6)!|U0Ro2XmPgos_?bD9=Uf0awjeN0fP4w4Dc7ExSncJD1Rsv zdo@Ijprm1xKbbC&Z_Rt200`_ot?wi$^lqRL@SbM0lMvRdR~ zn)L_Dn=m}52#>xh5c09tu})*g_*1(Ql{HEn%>g!}6H>n&8&(p!iE3s8LEn8%b61MUvQ!o#G01U$t7iTE1!AjQWXqBkRGAh4 zuBB#Pm4xy^$;#2BP&TQ!YTP%~ZEG$w!{`D!C;*``hrO}YoYx#ElbiTZcQ%IKT11Vw zN3*UEyb!lp>|2hSu2$IHkR97MN!dE%gd!H8fGp{yskg2E%Y#)=Ytm+L-|L#;gbCuh zi-e5Rg7ihi72+zgxvEx1FCssU1_1zme@2o1vji;QeK~Ju&vh}T#W85TfqZ0rv_F^7 zVo||?xLePbJAR2{Wohb+GrYh*WwkO;f{YHk8%y*Dl~Fg7Y*D&WfZ~d+w>7Z$h2#Fr z+A(o*c63)bDR=QTY<96~h_c>Ap1)l58Ttb!zYL<2T+)-V+f7=la0arFy(9^E z?eu~>@&LZa&>d_u2F4RDa%rD%?*BF+b~1C6ADsm~UoE~1`qtPq+J+}O6E0*(MgDe} z(k!lvM_Z-_LixXfY+jwIpL-m|D+F1rd1YhO9fHMICd2{m518|x@VHk%3;##h@c%ni z^Ix;ze`YL6y|h=(e7)p8ut;!9ze}8$f_h+_PDZ?x#219q8|f?2N4+AMNJ)-;R*?aN zmtd(b3Wl|UM(#@o0aw?abG**IaxD-Zd8Dwd4o`lVO~3D1-Onf#tf5!L2AV$C&%jdd zxW&i(0%-i41?zD#gA9OPBxB%E!qC>3dgsnk$l?2mG55kxMRF$`?u1*Uzn|1DrI|YJ z?#D_^0?z?N2qsUt{%G0R=O?oj6R1r(riCQJqZXB$7c zcB?1kv$!w4hlqVRLbQPf8X@}lOMv|Et<}}H7JSX8r(SyyPJ7v-jCVjUfmZ!Byz5^r zKKS*Z|Nh6hWCLBrtqU59K7b|2ny_PBt0Mn;dTMeTf|qB?>77z;)YoRL+ecv~x5dgP zsfv`091b!(S6%VY))>fE4ZH0mXWDCaJ9%d&z1$H9wGo|%wmmq4W}kX$k}rfE67&qJ zR%|uPtexo_Qm}T%yHn}dNB8MpGKajiZ!hbzgJ2=Zw6jKyW!SQwg3%9|PWtDh z%1MU{Tn1bVrUCd)-5RuuW zT?+Vm>YY}9PxBK80**4ax8{0}TN`RVp%uPX~NC6(BMny7M zPePO%Ib~B4VZ-wH{Iok*V1YR4

w(z>*{hfC`CwthLu(e1tL3fiKw6@{AM26Z7iQFw0d4`9Qwf*dNnxjYXeQd zp!7t{jgifC*^`p59(3{f#6E{T=)>vPH4lj)Dlb~StU{$)Yj~!A&$SPeZGaXdZi9X~ zS^pFE-=Z^fFtN&WEzIyvxa=l)!3;jDt{Yhl+sQQUY0A=Oxigd1q|ULCqR<$}1cb6F zTjmML;?^Gcwb!&N2kD-uUd54X?H^}I7H$QzwG+j<2Sm=wy}?KTe0n@y^xQmUA7LR^ zL9j0Fmi-0pqv%$T2lctB<4Pf{3@*T|-qF$N zSYPVshqRLV4A$VQ%~He`M6sFAXK{O{PRY>Ur^X*;NBK@+N&8-A0af_CM_cn)RAX^h z-;j=ui+B%Alb`S@oBeofK=j|df_oQ-wkRTI_*C<}oHw(dcO_HxW!^Nv+*%p!^kAWc z)VW;5EqI-(@I|)Wsf=h<)c7XbX{_E}fi)-RO_M{MXL%#5yCS%2mgC0r^he~^0x4-b z&F476&))*sQmNF>sv|JpkAFH`N0AM{Ty^#DxjdNd&(W;sqM*aG=l&#jRY5Z)TBKsh+gpkGzmX}9+}^pvW~koGT!)g?=&(}TPNkQClUIB~A0Vvu{(8$j!|ojON1Au( z;LGi4N?9DRS#`w*#c!RLDJgSBi&^q^R;Q|D4S2i)%wgAz5W63WQm@z3g6odxp4=S^ z!-lHJhxQY&5La)BA5I`04JFQiyElk$T{O|3btqY!D1EJ5W=-UB{*hRQ6{ZRm-nSqp zSw7t`oOObaX>-)Z;Nm4nHs-d1lycSbJ>%3(u5?H^DkESmn{_<7W%F|9oomI{st2*n z0vPm5m^D|Pe>@n<3Di^NwtR`7WW~07O>2CyElK$t-DMl`u}m11x{IPaX14r!84JTG zl-kQpt6Bc6wE1wMF`Mi)w&1?LENAL?rj9}KTVJQkv5N`s@2~6%)g9P3FUT!_Pgb4| zN&Op0bc$|zBv_{B`%0XNYtzZu0z?NtMx5s9j8YZ&uyyrSRwxxMq(g0njFd_JY~7O( zJ-vdnTq?>@U!we0fv$Y7aaC($oA=WgGFCBRY z?L3hFt00+$%kO)E^n&Ka=$gH}yWWGreN<{1CG10Hc&Cmi(5rv4P=az29lm2)Z%pL8 z{88>&Rj7o@PSUPBqg^UlcD|6ylp&S1)b57+!n2o~KQN9~-}Du(*UTGC`^c9zA3SEA zw8(C-EuXhU&sV9#Gw}XgrZ|JI!1Ml0F8p&?1^oH{XE_b)x6B)`M+DI>XQ`r zwNQdNKz_bj>u|Met$rbGSY^ZlQOPj=F=ziyK?ZFtH`3hPon7nhnaT!Hp?Azp-fq3V zuLC%9=w%Lz#|hGlmqlpwqWDEXC$oVO0``(DRk{q;b6*AxzJ3-}{OEq9dykm)>DD{l zdUiXJ4$aky5xT$qudvd8J?+2y@gGD1Iq3e2CO7-N7(Rl(tFxP~*J9;GE<>1v?hrZ^ z!TFwC0|28|nTa{`ByQ7Ba(q$T<^wSJgOmZ&Ts@zuV=EGe#^AJ<-jmV!<<9$G&Ma~6 z7>h}hhqD2;hI^mg_YkOLWrJgIa_mTns?ft!NB4_n{;Ahas|xdUJerEAi&CyVRwDV7 zJIob$l)`yHWNcK_d3kcrZT`3Kk9FdV#%46ydZ)EU@t;7C8Sxja-&`=B%+GbsA@)e| zH*qrS_UP!GAcw!xECRay=d1+?beA8`gQly_aJtVRP2!sOiBFiQA=AX~M2PP0jJi*I z-Nfo9QWFlZib<9ZW;X!oKVxtArdruOIm$)m{40I^DvEIdKhI)Rxxe+E#kQ%nHHkL` zS_OPLYn_ACBozO>aMP(%jpKO8|Jir>{hig_EGa^OvyBzF1nCW31(K4$wqFv0#bk-_ zda@$EuoBA~tb9_&GV6F9FLQDhgi8a&66`&PiFV`S30cj*V{~yw5X{`Kh1vGBg%Yn< z&iQLL5@$n%j{H2dC6Mq!4eJSR_kre7)sQO>mgl`PqCjj zse9BBpwuCiuQ}{#?74^+{@P2A?+u3SuZOLg0UUxPeW2n0?|8d{WQm(CUv>$B83($#P>PJNa{o$U-cr7(0xYBtt(n??^ zsYx>aWj32<%@r@etz7_cYp=@^5V9NqDA_0Azk2_lf6&PyvL_>!7S72X4ozPvGY&v6 z6XL}zil*+BgO&aHey_G8I1!|aucQK+Ked)RpC8RRPSt73egk*~@BVSGi*uU8_RU$% z=9RkK*LX59m*!|vmoU6>6BDU!Z#C^>TjIFV^)K>j6!%ovklQcU$hMzQbJ5Yf$?f|i zU*6bpIaf`7MW#R#&~;=7{Ub*M2sd?6yIImst)IU_@rIM&d6y{_C2iQ6k$Yw8$}aqu zHmU$_J6XwNn1^QH4k)gl{MFjRp|w5^U`1nGOFHo6Rq4jv5YqW0fpUK5C`v~ z>4b0~&>;_6)G7O>+CWr;V+JgJnXO5edmM{?cqB&%0`(sk7^@uNz4dO@^BMe46Qmxc z0Cln{ewk=h@ixPA^oE!cc`$GyU5sh@*gE?}Vf&}5AKj+d@g48FV!KCk{oM`n27tlD zb91BccWSo)NYEAS#?T)VbhZ+yNdhz-MCWZrowcSsFO3nhR9OK>iGPeeO{9Di;+O3j zlR}z2Y+_|tyB083UV$g)QBNF?3*Co`3CS^H16Xjt{m|A7+bs+;03h(6qUv`pz};2> z1?*3!$mx<~7|d-?oMuhse;8-F8ASH|K-Yy=@;pOccJel{S`+(MEt+!J_sfAZyvz}| z!}CMqns3XUuFSRe?t!SBCS}P*Y~a_`6PT%1WgBYm*eV7v*EFqqF9> z)KXqTmklv}@dvn2V082_*8F*Mgp@HStT7%aG~@?Ou{w^tWevD3IJ%{^?>Ve(l9&CV zOoiuOl`4ltnPs(i8q0u%*MR24rstgfO4sTG@ugwOOazKnQvS?04brLZ>;XbV86Y|X z2k8=#zF8beawmSZE$zekNG_iG6sWK|p!g_lQ~g~) zOSK07tsoj{N0zO{mfRN7m#8m-w;>N2b*Og4vCX!JR0@z;qj9~R@YR0k{5L<6qEYN< ztx0#fnA8T1m9wte5;dTEfSCD4^JRrnpARam%+w%Rii1t^kIwy-81P>wkm=2ZT(G!i zrn*F~C=B}#MgB3t43n>z@u!5gV^#Y%eN&y1*}B&wCHJhcWq|Gh$LTocGmbjwm0k?1 ziMwRF7(*%?Snqa06CVP`z1jTF#~fMLXo8Ule9xn0+fV#K0_OAvZm(PBAKhMb8z6!w zLiq8@NVFyAJ+5#Ujld66Oz~e}6VLjtMG@Yodt^RPnWu?g9DC2Z5ET63_nPY@Iq$v` zPbnIodVXNKTW5_(VL_%5UMi++b6tu4&57K-63&e+W8#v1=@gDK9rr_Or@0m#W-_{E zYhI~~R6^f_=QPP&zOtMi-fzk_;K-lXUuKjg5OAJfgh@7m9_&psxoy#b8TUg9bKRKa zgXQD-iFm2iOfTzHI3kDIX+K3WPlIIsluIBHSQSTB{!KjS|MFXSeEU0!x^;(Yfur)> zwfXPmDjIfu3S5+5-p`IQ>!^9^6?{A1>cUTHo@F>$lPgh2^6my}{Izyj%2NfrJ?RM> zF%#XK2^CkNxQIS=u&n|?{=h|qyG`*TGOjPJG&Bw1(YRK3~fyp2Aba!_@+wG{h(W8lJtTtMG z$!-{>CZ4-oeJ29Kx5|5dNK2$rN^G@G4hO|inhKn{5ujvbZ}($|(^-~}$KKu-V~lwD zF^6^Uy}0UG3R=i%CSIy9bm)|wy&*=E)KV+>NHXg@J_tnBh!6^Bn@x?|-xhw#d6}UVfqQq?fxb?34YudZ6)EMXJiP#-+ zBg{!DF{mz4iFp~ki^tWzZv4n~+I7+xdNx|ojScj`nL%BfQfsD1dqelglM zKk53tan@H?_+w=khAa-_OCcV+QE{-BJWak87euZ+@E#~rE8~F~j@g!ge?aKC{&4s4 z`Zs+0S0n!dhv{F=IBN+)SOs#Ecn^5)^QQ&m&z24LHO$`dmf~Y6ay=r@ox;vJGct26 z+~S-^CB!TCGXRc1^qTpYCi#lR`&e5W%Ht{vGM9}|C@GoK=m>;OAcxi|6vHbi}z3U2`_uge7LHTAUd1 z(bo7;j_0Z1DM~js1kcNGSSq>W@gmwRun6Xs%ZC?A!*W1&^A1UzU0rA48ML_!EdlNn zk`j1K>qAKwj#P9>Iv5`LF-o)8R+o~ZpBNU7Wwqj(5!7z9WgIyxg?Sg=35;w>v3(h2ZV zV@yRspuBA}Pio(*nA(rWuuG_iaDqkVaX#55+M^eAu1E9^$bBYCcLUKIFdQsgV;re+n;c z^La;~dE{Q}0gK816YjnX zfI0WjR^~{-&K#KdUN#9)7PQP9<0apNl>k~xUPtV*4njoDL@QF0%jl`1m!4iX?u-f| zNiv%Jyf{XKF^S80=eq@!Nmk7tT0;w&u}c|>feloi|dfx_LY zt{gnmT4NX1r;rJ8fL~vY_%~pX^TAOU&4u z!J*ZrE#Rl5WLMlHLKhrM7PUpzdlpo_G7!id?S@QkrGJ3|!BqbR!wt0zW(^OCv7v-6Iam1wB)!RhUsH)Aks2svX4;aO9rZ&lS zDJDmL!@26JRn7>Nb|hb^Y;_scwN8m@;3UT;)=ol)tf~|WJ?E%V+)?MVr!2~WDU*&oSC^PN^`Y;*a%R)r7^zfvN~)eXyrp3< zfiV>aH1t1Re_S~77e-&weL1Yr=-!xeikI!rN0!N$XPG*<5fWlF9|4!%5V zL6NsE(3%gt!DiaGH&l8xSYNsLa<#huxa$OB$;$>Ba0z3a%^bCT`U&Ta~EG=R9Bl=!+)%0C;$TRFZ1a5+2<}#TW^=PHy^%se{)EQ5Y_z6Do?@hOnqki zK(16>&R_#lu|bzI`XZ~1Hh1qvE9WG6%R=FDj;#s6FVxltfvlbZhOI+$Ypd9xi!6RB zjWrE4=Vvkkxr@E8R>SQ3FUM|w`>MsFdM2v(V%~2T=hkZl4hMXITAE>k7nM=tk5`%o zoKsq_LjKX_yr!qOz^6oFtsDf)odknvTx(prE49rqQ_6@zadX+73+aUd6Ay+_?b0rM zm*TEGL64U%)Z0P`qw^t9Weqv^g8r|pxT|T%XogU+n?~)JPlsZbSlKWm1ZN+DP{?u8 z=kE{v4nc*bu-JLkzq&T79c(K%rd2+c)uQoGPv}J>o^zEhxH0dg?AOPDoF(@ZbUK4` zB>~})Hh*5Sk3sG?L0{uSBx%&0$Lex~k7DvxN*Eveua3}SnhafTqNa_0Oa(`@_|GGi zWCy`AW2h2U9^>jsz7m5pJ$OIsD}%fMNEoM-4w^Q{(Rbxc!i^q*4{L3{YD{0;AUdBV zFw8rFG?k)2L(gSh#>%|+{2XpzLuQ{K44QEv;ZGx_ymqp(0E-A*b5nKD<#x;!?=#cT znQ;L#z#CI%tc2QvGh}S+V7Cdj8Ro=RqTtIFa*31zI_!Cp8CdyVFhhWSlvXJ$UP75p zV*M9qBfSH8LGn_<7bLH)8@K~f)?z6+QLy$Z7p$8$jO*)TAc=J+nm(Ec<;Zk!rB9av z)}_>CaT;f5Opa^*p!V+8TyDCyZL?5uI<^-*1bD#q04dU;==-bauWp+)>#{u%!fL1;pw?eaT{AhnV*EM?Rm6Ns9 zNhqKh2{h2t0&!ckA2M;wU`7Mw}3>C zEdq0LQ%-R>fkA)&?O13r(fHH(RntrGVkPq)to+WINZCVs_nrc$cN*zH&;Fc^xoRTN z)UaG2^!BE6gHPvLeaZ$VX_+0$&;-%qSe*^KI_z%CIf*cGj zua9C!D(7{+X*}ohF*r z*pfuL*k+bDBt@l@TTT)f{dDb3C33Q|G9u1GiQXH^Ukv+0vw+!a)9S%#Re_^w_EPnDs6oAxzSGf|d5T;SN;vrU@GiWSIs8 zq>hSgcq3up`N7!F%Kn^G5Z&#Auw~nJy`F*70dL@^Z9^)}#C2l(doo>=#c5AyQkQvp zz%iau3ki!}t`&Md3An4-Cp;iIRX!W!lrXt0E;4u>42Ts7Rw$Q6O-Ys&c->CpMti(Q zr*O|tb24#!x|{Lj=Oz^EaX5sgl>$cnE>K^ekSrm}dvbC-&N#Nk&_s9IXA|SgwEG@U zdGL;!aumzoaY)`bd%C)D~2g;wdtYuy=#-j8!`v9hCo2I+#w2QVe z6J)A?Vv5kZmWf(Ed7@}aCC)g;!O-D|*JUd%kjek=o8m)tYXSj~GTr_4f}NPAWto&? z?MZrwtgB3k!~+&x-TKNZMG#i?hcj1=Q8|*AY_O!qJP6s$Wfnjy)e1PM2zKaGHm8i_ z1i4mQ;!fd(AwHFf(k45gqe;5N#S~uiNh^Y7fN<;NJ6t<=ByH<8P=Tu6ldUZq@9MJ>^jQb(^~-!15(a1O5Wl-H?P`y zWCBI_nZV6}RKSbd6;j#w5$}*SpmGWb+`q;$yb5M}LGi!Gyn*j8F+7mY$pI>-QWq|x zA#~JjuHLELdo1!8?6P?d+3CRpiJi1I(H|u=SI&c-vbU3U8jwl+Bp3ic==q;LZtW#g zfJ;u}Qfv3!%`crtU}5|YG1EUU#A$)a5URcp%5VF~BlXHE%OY>gIZ>`jW9tkeHMNco zVB1MeohTu;gF2+FV$L3!khCju9BsY}dIgxIp~8&;#3xx5#Ggj1dY6U~Im_pY{aFG56{89!YexC4u9%ll$63(m8tt2H5zU_fQruLvCI zSb?s64oXOKb*X9ioK~LB(uJ)Ss7We(&iq?PC(nthaq+9grVo{f9l|iSW{#2}c~}du zGhGRZ+sKfi_1)BLL%H9MxA9+ur4}qTpHT`CzktB~EQGFV4z%z~7GHUgzK zKZ-Uh<3juaCQ!N`Q9C{5?U?Xc-5TKGMS>WIJj2XxSHvGmFGKDm!X+LJZb4m?yJ^dB zj|Z?cBp{KdH#KZZ^9-RPG;%DeoCS1GDWv$CNzuzb4Yn~Uv%GDkG&dK8N%5twwP_6Q zsikAf6!)DnQ3bo&N2|WeJ%=|nQ=4nJT=v#AYC4VI0b|TU^iTd(u)vo^}}`WVzM zD&}r|L0$BC_NDjR+;EJa&S#pS4$c7n1hcLmjz#lNONR_yNhb>Km81r#a**mIPIf?B zNmq&JP>E-Q0huTSXB!af0L)ei9O#hmo?rfSz^Lb@;%lFBg1B--Lm$H%RmhxzL3fkq zYU0Bf+KVtn@)9f%Fos`OQ)w-ph2Gq@N#s9j#6A9FnFg^s7QZskacADQ}yY zj#um(nHvPF^0GsXD5P#_2xW4WmFDeA+u9>>*(!Baz;)2`sKbx8D77(eJ} zM4j(im!e&9pILddmt_;v%CNYk_OZ1~w{7-KCGEb$Yw=2tDH&q=a&IdNSUVoJR5-fK zX{fXT{#&7sP#?s%u^9Q|K7JG z%Hh^e&kwKC0X+k-%_3-O(KB1vAwSx8(oHR|&EPeB%6QS&f=C^_1Y$1Y7clP|1k!Ri zAhNd7Ul6>*rv{HZo1@ua5pulu;ES6wQ7+0CX<0P-s69y!49$rtky$jHyquuw-X?13 z$NP6nX75XQv8mC=q`;_;486d5AWp?!4W*kvG=~`U)^yg6z0o4R3^_$Xh24be48}6N z(2yRxR!G!Mq_yr-u@ft19mJX}lDaF}ta*hIxG%Ti@7PpK1*OXjv%Bo%lxhQbP|kzE zIpZ^p1=Z%|qjGMijEkWFMs!!;ye5RlHl0_}FgUJZZtsV{BY?78wZx z96^W;vzCC6tz2sv2%1r7@DcY@8vcS7VcFra~#Z8%s7YI|l|Nl-|?S&l$f< zR1j92%YSO^$`a6<8IV~bvG7J?H3J=v099Gg8P1oG;vc;XF$j($+)=(r4)b%n*56|C z?u$OsjNU&r;{hcf0EguU{jy-^|$Lk{f9?zH-3 zGgFW6|9VbyQqGoY+|+@@bMB;qSy=A*GWVb+oIj zcaZ2f;Vi3w@)fzt+SAzFa)6}5t9|l1h-Tv>OT>I#lX)o_;%gDXN{mm|EYMeGe{fse zHBtT*MPjlB=0xgy@WM1?gJko_KW&j8AaW-=d-0SDxay|S7Gh`jTeuNmeB%n|SX7!k zbQhn+4rp-V{sLn4uWAdbzmD%S%WjJ4zdDxh#xJsnd%B8}qU6HvrUP0Ua1XQ8;3s$g z23icqs(5_F;-*2oo}-L({{9cT7W(3Y%Zw0fOB$eY3%@20jKgKCg@nOSQgM^}I}JYO zC%{x@EZTfE{kR=xIfVk>87p|v7Q@-d{?bX7ON$|m$l%+F*01Ti-F*x0(r3EJ z@e_?-KYh;m8*_1sx8VW5g2^cqR1=K=b#CB zy0;pN9n$&1(`f;6PbM1HC5y>4utiywNjGIFXFIo`V0RnhX<$nz&S?-8_z5(M?w+Rq z@>TDeYh`!i>+KAE*@Y21@yZ~cpN<^g+2q9mu_S&Gpwi0=vlg>e9}v2Bxo9LOGOLV8 z9&B~|hQp+=f22%o#hp}~2&XrG4bakB{R!I6k&UHVl(W^RgN7f*>>F{gsZ9&U7gSuq z@EF~sh=fe7)x_?p`}B>W?!IGQ!#ydeP;@$gL|r9I>Qa7Kwkpwk5YkY8gyec;R%uIF zS0xLmH)gNYI30;Z`k6}pS{3N4u^o#e$+69dIa*yGax_0S5 z`&l&G_J+KzcL|kWJLQ^Akl@(_esqijLWx-!Y#qSIlD?rHPhCFb9&s-o3)o<7V*5O- zevTvQY$xVgvkuD#@_1C(_{ztj$YmseH4#iM3nVaj=>KXK5E@uk{JeP}{sdm{VLFra z{i9;nyPgBIg&# zgIaM2$-ZAgAMV&IGeR>%kM$1nMch!$JcBTB-%u1MKo2O`JQ2saTlcc1dZ*o@Raj!+ zhWa3;y8o_I$80?J+ZqK}@@$*AUa3FY_N&6tmLqppMG87Y2B=I^!To(aL9-D& z8uzOQNop43dY&3yf?qMzPOga19gP=t?tg)4wIE86}5wp6W`nH@c_s9P$o z>63W}a1vn-!eEIOHm2ThO0TATPhzoDs>H5`otCT_C*0EaYWdZ!f667l1W&WZbE46- z78>*;W6M2*&$9gOt&_`bt3-6;Gg#y0!ZxHM*EiLV1j! z%HlN0A-|Skfz?*hR5%m;wzZ&P-G>4|qZ17=*}+BW1J4(+l}j3b>t)8Q(J~hIhuaNd z<6_*9Tj&{N;FTrqRX%EW7-IcS3Fpgf)^jzVneU)nbx3ULjUT0YEa0&%P_|!EanKeV z$nS352Ss}sw>7?Ibw@cf-@q1i#au)Ht_9AKnVNo_ccm3yrxBU!+a*3Z$0QFkLwXZG zzNW^Rj*x((+rMv(^`aJsOhDZro9#4;QTV(iv7cd9v-VP>cRm!kIcxaufa76X}8MhJM9K z3B}RW*$Xs0?HVf4K&0e<)EV4 zsmbw3p7K?){a%bPn5-uOW5F>hP6fn(1K3ZxpFtm@rQ zWyA)PNV1*_KfC$h;!_c(o%a(R8T}8%qLX!=Hc8+Z6w3wzy7!qfpG;8Ev& zagtaz-qGf$JZ)7zSm$M}z4B`!9ziJvt$vEzJXI|6MqTP>kZ6N-dA=*cxGA47u8R3(a2ce$=0K$VA2oE+?B zmlvXXKJ zP!uoDss2KK0eb|9*o)^;Z@C$J)q>k67yByjJ3^5xftBw|z`5$5jvzIkYMvZNv@LpL zh>%dQ`5-P60{B77%=7L9HYg5eHhRx!s}_bQ>jlfGo{8?>PWg?c?zy8T)^9WUQelkG zXPTuymMv6`=#%T+xzFzVsm^6RFKZk~lqwjo4+AnZqmeuce14u+l-31d=Mo?UYvMD4 zsbYgFhhQCxUs(nQvD7Dp4vQ-Hl0ZnV@V&C z-IEBWrW#$_U;^l8+zHTz?ZeL>%kF%a02HVYA4u+*DB9Go&)qIXPe;*0QXO&XV~rgS&5CtnFDY7_U4Wq4v#u{Z@ly#&=W;!ARmC^ zOe-Ony}?``KueizJErsF`wLmI9Hk!`myyvsFZ>0DH3bsr*>RvRGtTbMW3Sqsdh5yz zuNc5QoL!eHK;WKQGR-Ku=4Tw|?$hPZK!Du+AjZ=Y$lc>&KKeWSwiTj9h}lK?v~S^+ z79TEYQ4^)pXq;32Xd>WhHC*-5+z|K4wQ1^K!q?cZJEaOA(Gh@A4^s{@Ojk9tG z=*l?)jH~V=WkCWU6a$}{KljCIJISeaXrbEVMR9|Pm3ZrQFL(>}5AN?D4WjM;UUcKF z(!3q_q=oV2bG#k>i?to?@e-Edg6BawBOLj)-)qBrn&n0}QN$7ZM&E63Z=VIQPCvv6 z_9A2<2){t?frKdBa#9T#X{=M{wp{N8IS+;uV+prV;e>!^ZLqQaM^P+jc8Q+K&V zV(I?<*At^6HfRnLYlX?2F7mof<=_b2dDq`-6U6EZv3nKrC7xhiLaagG-tI2w&7II0 z;+*OzZ8A-^HGaPq{J?-k#UF>!%5L*^{C){JzS3K;kTc(h^idt_hhbkTGbjS5sjr>3 z%^WH@1rk@QG`}|tgqlwS#b4@R%h~sM4=UX+a12y$Urt5NyEVA!9C}Frj0cmU&H~VB zY}_H)&l~>Sz!7S!CqYHss|FBf89uC(LvvZbfere>L(O$K1mQ1+@CWr4DPANsFrVwt zY6@?AJs2O*2US--ZD~};?oW@~^dqXh+yB8;$h~aXBtV6r@P&uw&&yQ>O+w(MZkiR= zxV-cpdx3eyucl*5AmX~tY?8ydkE2F5kU4S72uk0exP}yhGpmJ;16Tj1oGP;*H(9;5 z9_j>Nh)e@7X%xWTeF0f8DmYg@!3sWTZ%Vxxd9F}G{rzP$E#9H^rt*(=U-`WS&ELKy z>p?sUX(zK;1OE~&`d=l$Ui4zK8xS%Oy8O5zVcE%Q-js#x*?Oztjw?`ff$4HQvP!UA z4O{If;G$v9S>6rl3u&`B;D0E)qp@I|WA@Mo(4%t^?PQ1x(YsO2Mbgx{lrP%cb=HYO z8IEy@O@)e{j_@CGUD%&(Bz-*nq^z+#-yj|gKZD>$(Kb0=_v!}((HFiS#B;nKN3}FF zD?l~d9$LQ#5`pi;MFm3KJjLRt+YjFzDkE?(;a&AX;2OVem=TWYVs&<0ok zfoyz?>q%8^TN<^w;`(GVay?>LEx!dXQOhPfh%0~rB#9%8#9hr8hma6^o=vUoE7!HG zbP^UM*Nyb$G;cbcS`4Ymcm1p$=)E0=4iBsOtSan(qNK6zM6KhHR{aaYMW%h7hbqi~ zcw?xAz;C?)yr-~^UBWU#p)8D_-WOO31c6mK=xX1d{K5O|-9ml#Y#jIk)1-T*9|?k{ z73y?+YI`UY${(dX7*tXz5IFDPR4YcRfdY{mRl|fDx(z#^z~#xL z2X%^0%k%R?hry`ngXU|-_Z=~npZRUpt$B>FWe9>u3+)@qkj2)JJpCr;q|hvDaZe+8 z7JjB=NkaLCD0j=$`}+}biz$z_Igb(rVyHF#Z7sNI`ewt}zd53So_7(r)bvO0l9>shi^xR5IZD7wH0bK2R^i!l%c?>9K~4di z*CO`;vKE6%@bexL-;21LYjeLV%$IT{hz`qi*M190LmIW!xV&_W9t)#zeK z^?CUWxtYgul(9byS7TyNq#Uf*KkN=Ed|V(ilSQq-FSe z7!DtAa9DCZ{je%nK3@HXwh?MYL8>AqMzN0({Hn&b%GH8lt4TRZx@s99N+*rBpo|df zD1C*su3hrPFsifdW-MbTiv-3ji}ctUV@cc*c84I#L@yGxJ+cY;fBcY=Eo+#z?8 zwf8z}-|_Cd`@HkUl`&TRLHDG)YgW~)`hEU=)y&(vUx~SpTwHLbt<<~I6(KU>IFTS3DA{2Q{_oKae5*c z&mo<7rU;X#NGwGQ8J|Tnd_2TLYsK#9`I}u};e(**5p6xq6zo2d_O`Qa31wUMIUm0eR)9x*I5O|{?O~&SYew;g&Agw6 zNC_9RtsXxWzBmA3DKglEH9;l1G&Y_Yu**4T!JkZ4uy;q8fe0yixfn3A8Ef87T5OEG z=&+XU>zMb@Y+_p*x+@<*x1iWqSrOVb(}%$3|F`0S|I42Ej9DLXi6$L%*pI``q*Tb8 z8keNX15>4dux=@o#3l+P;$!;uj(aKHD4=XJLB!jXD<>(xVmE4|9Sx)^f~a5k03^*ALm{;*LjhUaf@pHAYuEGDdTa*cQJ%uWOj@;Vg|q1GR7_6f zi>)~em-}Fb*pH5cNyOb8l_e^5LFlJ|4f>>E7kQyU=4*;rec8pe$7nyEH0t+VL00BC zFKbO6IJx*{PVr(@Wohb7)=kw77G~ta(`~3v+R~OnZU=82nQq6L+mT08V>8$nhxxa! zd`sa%LJCkARq?E3Z3HS_50_EBvJ9=2j`tB4haS}T5c1ksX8Pi+gIOlW15T_`L9~e+ zPmSy}`3_cXm zp|DhTh;M)rHA~h-32|8}(k!ktu}C_H9o_PCH_E+@i$jOCL2L}5jRi;8t{lG?cyqTA zSy78v_xgm(7(0W)D^h?9KpC|-R81$4N_yxc67C!FnnSLNfrcHi*hWGi*{N(1r6@GJ zwOBX*!j0-hKmO>QN(o@0-&k1|Isp>BGvDYTQ-^* zWo609cq7?m;bk$_jDj;`SkdaM3^1;>voMB5S|zEM(k&_0smv@Pq1S&S7XMct+>cIL zVZ<*Q^_5;BkdKT?0R9Zzxn?hG1Ddo%4FP`!Wy@!q5m3#r4w~&U~vA{pW$Q3KW4v2MXz7cE6d5J zo6M@O;Ii}YP;L%$;vxCfZF|*$E2&d7-{Hrd7D=&UW6!hZdsFhz~JaY3M~O zGH}nOCXVHFX_mf}ZE2~nA5B#UD6f6Y)6OBv^t{5DmrG@e6)feX!Z*`h5gDWC6(Hkc zQF5PW^{-A~%1D2fB{l?H->&nr(;KN{++Wg8?KV>fpG_^Ft|*l;<&Fmd`aBRBPT%KG z>CE)Y6XmKUanwY+%C+*~iZIjcuRs-dG=e@Cs4!RIq<4#GioN>>D)9vznem${>52K$ zGC|@{&6q|4^6wU=v{e*13WO)}|EO+_`s|kml)7}bSJ!W}QvB!`Lu1^MqUa0zT=GV1 zQUgt^*N45{%EH~nC3iq%FWd7?ZJJ-qcY95xMXC^m=2x}#^puHIedrDebW&-4{&EjXtLpOB7Y+(xm?-DdiAwZJ+W0A_NM;NTpQAH> zZOP&$^z{ki>`B8w)`~+zIGMQ)&#u%;dZVrac*YLtjK*b~$x#6Zbqydz(IY2w&!kAX z>`ZC^N32^mkJ=0hfn=)u(3sf?Qo3>JZCHg@cF9P=YDBpdooe zAEqP}){L{o_?s#B1%ngez0xZQpr+7Gjx=ED;Fbd*2hrL48?i#`4NZmKIx zaH_RJDBdd5>)4q|(=zCI#+{SGBV*<8%PC!(%6Ka99Y)DGngeykw%A$m&EcyzPr3jT z%Hqd%yxLLOq8=IRv(Tn<$S)V84m@AvB2%A=r&bpk8&-rzC4TIszT^!f7-Dlr*K$l! zl}?qRpx}|wG1Gc#LT1cRZgM0j4v2q9uN1n(P^mN9Dp!sPZR7RJu!XF5kV&A&{u#<9 zmz<`o2ZU{I7bv+)ElWp4bVK>lV;&@{Q7y8RHN_g%S@BcmHB1=Pi9!|M^>CCrlm65~ zv;3JhMHkMcBdu`3jkOd*gTxFy(%dPb`FskHS7#r?5PK^0av3u@s0+_o6FvXX06HR6 zYnJ!Ay-8zAnXu${;z&jG-JC-jbeC*)>$raVwMgvI&gaG=H=w zaDu5Z6wOz@H`Q$18!`!nHI%#0mg(g&Q5MdSzaBt6945nN=qAFAor`m1diTRSiMc7O zF3o{Zt~m}UI^#g=s9D%&83+#66ryYnjR)!nR6t{3hc>kuXf;^_nfCK2&&NO1=b#}| zJWm(`vegTEy=S2(JkiXZLI-PrApQDnD7k4Ei+lRTWD|x=>XOoe;8R=`0}KwVBu$w9r#{g~2`foX@Et>7P;gsQKl%PlNS2 ze423o5%K@x;qd1)%4t+sby-T#ELRyuabTZib4*4Ujjj?pKKi*|ZSR7O8pRv@i-ah? z1c0%iv}DCPnEv*Hq-#aB5@bt&SJreqC&L&o>1ZB@hWzXs`8=KLsY8WHzzG?!!li2Q z1fg$(^EX*>DJKl@HT(IP@`h!4w=S-px4y`=h~}9@b23A1ah!*m)S_ad`^c&YYIkDCbx=-3y&X2!4rS15{~@Ld4zt&Qj!cmKq55X4Iw|12+B|(OkYYo3CBdEA9oE6 zXKgvVWKe}F`F+04w%{v5)oA3FF*053=3`rOXa!Nm;SVgYMBmpyX>t65=$$dDLZ4sZ zMnEj9Ii@7>B$*E7tAUiK(bG9niKYc=znTGg#h_$4wKq$wS2XMxeu77p;zJYhPi&iN zb^!-soLILA_kI$+#2^lNW-)$YLdIHB9#Y8%O)FvJl?CGbSAY7-Og>ehZlRKq zf`3sYT0A4YI8r+Z*l$CtzlfEik{C7h^+;L!&{4-HFI%oo>2F5DP;c3lEQiN#r!{a& zm26VZ6xLIj+2eb_#|u*EUrdr>Glpc^>E$Ro*5U7-J0{y^>+ip0P_ALPa0X>a#df94 z6M`Uj=ZWWHsB#A%UI_9p)M-u2#`kIvv2RkAu;QZxeQ3P=TE{J0cZeaUtCQ)B;-Tp2 z0OZT?vbqenEmLp!ung&#O@Ou(`-ltx}7#nIO4wFZ;>{LSW%iE>{>8Px@Zk^?2+(iLa z>Qdd>MV-+=X5Nv+LO}g6EfXLPRe3;z_>TPJ?2jMi-#pBW>P zTS}zrg#+&gN6y%lG1Jf?3hgNMgLRoprs|;V>y5Zwa1jkV#kHViRBHi(;zdH1d!oT% z7Ikt-RJX#5JC#;lA1%L?Hn)}pQ%!C?@Cqe8B?3zB`QWIOyblB&=DQX8R%U`eQ!}%& z8eN}}2L`@QPuAzTL*Q7>l74s>s*UlJAn;vSZKg85QnI+?oG2Jd;v%-!jkOWAN_r~> zQ@$2?E8270?0^QS&M1wvwC8*NNzFQ5c69NK=$#qha9{>K{M_9om)zK6nttIt1%AS3 zO0K(?P3Jlv_B^v;_vRByG&F_LuKS{(eW` z_DA$xB+xj8mT4+{{A^NzRRvPb?I)RV3m!~U<>h60t)ds=;)0YtQpZX$fvN6}>Z=~< zo^1NECgY52i=&i+bZVZuH7o?H%8g9oB_;fgE9`egz@$c>NAQpKm&yS4Pf5D5#w;ST zhY*E-rUF48n%B!s0_sf%O^ zBPH!DFpY;`-EsWUj%?x(i=dp&?KyY;;2@B26u8T|Ur9q+3#V$GTl-#@3f!ShQssVh z9LW&Z@7($0WCYJSRsL0#_uu8fLT$)WjFU?29RyUX3tG<^LVBG22?aLMR24SV2@Wt^Y>$sOs*u-;sf=iGVxputAX+9z!D%C^OEu%_zAJQBPvmR+*LRNU=$RM30mnOE>>}Y2Ci2-?= z0ChZ!_6%Uc2g3DbN8rvN{w)jB{|~uBxkbeFxa^~d_CTpB*vzSBqT3oXMX%`gI7%Y; z{4{eUz8ia3N1mG0(-($|KE~6avsqds?(veDGx2esn>Uc zpQ!XXkbuzrnk=Sd_2DxK_7>+Ln^3@QU>zZ_ zZx}yPqRx5_a2wEhqNt$!54V9nz-^#0%J&bq0nbE&h=ce5z(c}>?02US`0Q|>22SQq za&;Mb3hnW2`D&ydL5iMfcu2KI$QS*TOIUWld{?S9;}np`v{w&^D0gdY zvHiEM3U5AVHmqn6#B`eh(N;Ys9bz&)gCPD!wrQcqx^&rpxcL2XFNpsM#-i$&XeBW` zH7evOr*VTvT#?B_BhNTVM9ouJkplOP3e?_6c$2`8N9&hK3zH;o#MxqoE4ak-0~O*D zF2ec`)u9(>-$du%p>5eR7Q7M{YvGd`r6cF(>r~MobhIju!ZnrO`N-dhO*M}-rE2D# zVZ}E@m4lAyXo^ksjpeo$Y0rux`Z~2_LekD`vpJg({;q~KnNa?1-42~)pcMNCWrIH?g&;#v6${Rz zN>dq^s(ZtNY4Q$Z=sCGVX(S|9f3%@S+ z=;pHf^n1d*#>Sr7j`a0MpU4+s#vRqix_uaqa4MHnNF$NCOtvS!gUCcxE3R*{rHj={ z-hhNV(guJOQhPsAQT|XO0+WErJbaqA3d)~OqMhf^ax#>ns-z8%S4#Le95~o1P4kI6 zkc7PA0Yd-}K45xFCfzNukq`gs9#9ExiHmqA##5HANadi2b@f6C_&u+Q{oIGw+S3=> zEyXkCBZCRD3HWk^N`r~{+L1BV6ziLitiJzI?T!4WCQ61X6P;dhe}nOG6cpPlY0<)X z*;RQTN>M1b-`zpj1qXU88?RFxwx(Z}d`+FUNt2KTQ;DZYX~nnZV(J`?Zoq|>3&6zm zL&0;@4$N9&z8h`MpuxoD6GyTyo4Tq?X1=P${k$)f+?xs(k)#keqiI zM=TAW3BIb;dUfZp&1H|hE}%@5vPg)dX<;Qy{L$P-v7o*uT=9LUD?@S^aC|eUBtH#% zaOhyr0F8PFhOF|GIUmG+O-fhxed%ZT`5)arzhDxV-)ka=<V-<|7c1Sq`IEZ=tf0X_eCI$gpstIE*@@CQY)yH zpxK;QkRqUHT}f+_xab$_$`+*PeeUwbPYaErl~vp-y=$^n-{@PL!N}+%zws7jmA?8| zgq+LWlYm~e-zHl$0w;q^mv#lCB_OeS@bZQ~~CA6g*XXVyxPCR5tK>5>t_oXhq z;X=FPP=j+6Lp8O=@+ds9Pl^s)&%ig%Z-`0!m*?A}IqTWeEA!*1x$JvoQ@wUzm~2t^ z5I6)o4WoSmukCqoFy$7+71&V(TO)a^qtaOt`qNREunn6;e4!D6XN!X{vC{Jt0nXZv zA>Z$MqMF2$iez(#M12Ojp!f5yWflq{TV-r7jbL&lo^x-g0jhUF9m8lofUj2;!JOU{jLcVt(7tja2BAl9a>xOz;hA?oB*uI_E7Jama*^ z6x=AmLo7m?(jj?P&`HE6Bu`o0=v>6CD zgd_Wpx->Hh>_!Fb>_Bd)yLiak_NBWi-)%qcRs(H?mDm^8)<;tJ@epg@-&qPc2@s@o-E>)HZG=4ETST+qNXPHU{e-JQ%iFT7cvfRb`~i+7vQHX z%BD6(E|zYlzdNwBHFa^aG+~i7wKI3IAY)@=GwG1Hw0rh8t2Hru# zKm!d17UsFZ{@LK*;o;$65fFif@bZs_`j6LNs}L{{)W13*kl-N~Az2_H&>?>HLQFwG z0;)(@*uN;W5FmlxVPC+(BO;*zpFKBykw0DmrR6_9LqJ5wz{JAF!NtQTctuV@NkvUV zOGnQJV&~xG;^yIfEhH==Dkd%=DJ89>tfH!>t^xRi8yTB`P0h?LEUg@!oLyYq+&w(K zKKKU&1_g(NhK0w)CnP2%r=+H(=j9g^78RG2mVKFVz3?du;H9Qryr zH9a#sH@~pBw6VFhy|cTwe{gtmdUk$sd3Akrd-rPz0{(f_0uW#P{yAu%Hrrn>CjWXd z_1BB(zh2Dz^4*KL?7+62bsHJ|m%`k&~_S z{|l5lld(Tzs;jLX@a`Ge{)wgH09=~>e?n6bJ1Z~fPdJq`a<(S>4eHAONoejV+9jlVJ4$?jBoj`7$-ai06gKdoelAw~xN7=lbt|ULR#}Vz7NQt*fW>}tT%3_bzI=(Zi_1%7WH~uGJ>Z)Jc%mZQg(7b& z!}brhw-e*zjgMgIu||=Ae}ya4Q5;}M*|swW<@5S`!PA<$I5;TImI)hSDxyLbMH122 zwvz|t-}?K_4c$nXaP%U2n)D6~(9qD#Q%OQs%H@?xR3um1f9ufuI9+S5a5RU8jg3uA zY`c(?n8*PhjIB~bd*A5?>FDT~91?HqvU?U72y>KNqR4^b8aFvV&n+ZkY@F|EO*RvW z&;IhB&GBTti~KmAN=7^qZ?e_>r|EFA7M^rN3X1^=0YQ3lvf1hxR(O9NGw1~zT*e(v zKzC2i-bk8=I>uW(p^y2xk&%%vk&p_`upVD$q4YgGJb+^gy{~_uqobdFOH9OacX#iP zc#q4Z9caBoSC?03OKo~sB$JY^9neN(ZenblYVq`Nn~!TU%SHUSGdihzf(3w>K&QN2rg4_wGpA#r^#~`$A8T$>B_ymm}W6!9f^tFipq7 zbV&pq{6e_~i%}_8Vgu8#s){w*d`nZ)&CSil(R_^5t*gtX{jaA-d|s;=+8L79E~Puy z5_zReu5odEmvG31^mn+-x`Wg?-1gac{nX}oTnOmY@|m=E1CjUvA3=$epd`P@4SEit zK)|vXMvxSbJvr!TtZ8USc83=nZ~GP>dA>89HyN>DC>t6M1q&39>6tdz_xVLy5O%m% z2{WjMm&V$#e3}#kgWRnK!g1l3YNc=>ED}zr?+E$9prW`bmIG73kQV%)fFtV%qgf3S1U_o7+((+KSw@;TbQ{b;SH->CS_VHvG!p+9Gw2Sq>{F#CY}bi;u-b+{e6r6qaBK9?~aZRu!x3+1}|)t zQjM~H)n|3_cFwKV*tk08XD@j^)%nJwA@OVyVY&S55H`m~ExO5*)!6XWACkZmwt7yGZk zlwwmjyeVxXKhxiOyD`~S2`dpE>WSylexEKuT~1BNN=d=JH4W0jR|@_#q0WMGpYs(B zvQ>3scQ=@Lv;6jauNGpSKD5?hL%2t=Mz0_ejgau@;9#**hg+X`Yak{?V$gA`e{yJi zqj7?zwnSLzrzVq0R4&FIKN4KRv1pbhyd?u0n-X3n+-X{$EG@gyW%9?jIm*S#s7FkG zik$sQw1>hyLpSI`$g)q!sHhU2726Ly@9tc5SfnS9C%*2luM3KqA7L*BYt@<|9gMM`WqR@e19o8uNjEEqeiI-PPLV}94ba>@_ks=36 zEXpO?N%4y;`Mv%9(8AFMeKlGFOaNSDMcXr8Cm)0Nx2J#*6ygq#Q*w}cdjHs%{3oTK z9J<>vS^bHVRj=#A?X4buthT0=zq`Kz7J``FOjcPrK1pDGOX91hl9H0g)k;Fix2K2Q z@5|R;+V4-6S-$vsJRG+sG~b4xl2Y@2EwS&9xKk^Ro(zwO05g14X6~)Wl)61+^S659;Oi)Sq2Dx+^?Xnsh8)sE~j#U$? zPmZ@}6yAGX?vA#i+JF0nOKQ;m?$`do`4_XSHir#=pF7fs$N)H0{aUlpC_-+#)t0_m z5^g))cT5#hM*8B%guG6L6X6O=#XfcN{Ual?KiH+B#@~8h4H~hVkGVKG9WGRxXlrY` zT_%3S?OI#QCJR1d!(Mb?dI=uiKxvEC%gf_eV$WKXcx`KYi$n5qQ|UY-W*0L_*q` z=5`U)Demv><$3-33RuCBH1_<2g8f3N1W5%K5&>V`=(hL2d_6ooj^--GVj?1tY|YL0 zfX5I9iSZq)sHo@|GyhcTk+DE&&A}Ex`043sF`6XQfG9h|_GVczU?vjRKUTxoJmT|};9|*9q z>z()H7wze5+}LW+Nl9ZIHw`K>x$Q}Cl_4UK2BL|Fd)|6o(ApW7mU){xe;m?Oytx#3 zx_lVOG3f9e{+82d%W}62`*E)3%sP2^P<~gbO20k*p6qpre3o>W2QV-I#XY>dzQ!HR zfBNFI6V5dTJU01kzM(DlOvwh%14olI!9A|cZy3I?riwu?2U$;*?2sVPdWCYJ$Q5VZeBf- znw(=ulpO%Q9>W4ohjtA(j4E#QfjoODjzXgDZJYegn?is*7bhDz*MW9-aQPp0Piud^ zzkAv#XOU*E)cLY;-u~Y6_AsTUe4Z&qiKFyob6WmrnVdI6QRZ}CJ<>Fu`tHWl|yry&Wy{%R}bn>>rWan**^CoVmtFkbM|~L+xzBe z-r4W2H>GVs1s1W!JfKjnueu#Ri!)SE;kQW)8p(-?v4Yl#=*SFmgFx9&LBwPhxZ%B) zclTVbHim}lxk3RiO}Nl)yv>N%j01!ED8=AEarSt6Dk%5F4#zUTew~h)pEhXoQLS8^ z4aCemmKcduq*@76IEXLc%lGyn`SWMiuV%`uVinID09dizoq`Q+h3xMFJ{J!`@iH1; z-F+MG%OzsIFfy=w))YTO@lFkZm@V6XiGm_8D=VrH?XjX+AT&WwLlXki%O>YLTdC8C zNh7}>wP&V0gqK_v9D)DZh4wn94-MzugWPNvMDQU@u_HHEQ2QGU8;glsQVdwc7b~Y& zcBDaFoQuz%-s&YkJ3Bja$PiZu>{qe0Ey`N+@!gZD7FTQi+DxL;KG|)6Wy*#%m*wN6 zqCh1kO$&Vts9jV;NEy6nYHC_9OY=6>sRL#6C%7N2^_&-_{HnW}wr-^VvGTs@YWlMI z)||!HvnV%Lk^f!mp{kXeeFP2@?e|iS(jQk$c;hG(!(loQkXGLX)@Qsbc8p{`}A=1ECc(O$rme={FbQ`nAnYb88kFem})`# zz)y*&*a9LZ{{FpWp_I~~$oN>t_kIm8UTChkQK!-QC#Jo_fALI+}K!dHvRW?4JMn-Ot`fiLGl= z|HyCrzGv$jTX`E_P*709vRtsbbHTdoWZ=y7^uwRr?>{Qn8?@aFT)FXm8_ZFq=X@<& zoe(XIml$dN;w8Shxp|IC6B!zhbU!C_@1)?yW-hoeS5xNsuLFi6C>$kWs8E%D$LUrI zu@SO6DwpEoST+}oMLaq>YF6v%>-*&Xum1<7*%%pZa3gX<`$tdIvUe>G(#A=OuIORq zTHYoZ%bA#&i7Unc9~kk16B+x$L8DV%QQ`sZfJVs2$H&Rp+1lD#W7~}h68(1P(z=7O z%?rC0{v`}%mx@@&1eMd)<7BmSf%pW;^N{>&Ioe}2{(ilxZqn5U01! zNcBp82B12^G{F@KL*R$Y%F4=AVbbA;UN~w`8h`{~Q?1lha1eE)5F8m&wfVCFrqdQjiyypPtP8n`-0pt-;Lem_55;y-32#&PoUSLVAi z&G=;#6Vf)w{>()+GLvspcITCgp--5jH0E!=GN&%g&50))6^xCIHF`Pol95k;Q>fk9 zXhfall9iVQ3H*HLj2cCrh_{6iZ2vMtmRc8!JtD?G4oDE1nVMQUfAESnjwt8mis;sA zdq^NBw<>Q4oY*@wSs)SeB4p4we-HH}%J2vGd)^1CNyTdBQaWBb0LhpsG)wB#tF7DQOuPmK$uBTU?KzprKE9;C&rm-jaT#&DBKEn4FxDwbl0dP)Q$`;bf5);7P;Mj@Za3O(?GAA@aWRNxiOhk*qrkJE0S0x z9bWA(Y~R3ObE5|m3fWs(8Jj~<73{O7$-+z9+J65R?D+$jlofdpXz}T2Ghq@V^9$m; zqq@dmq{SyE7Z-V1SsfC(NB#c1LFi!C8~0+`m6z}>G6_oLahghqW3L79Ku-bPqlSd| zR5I21vbA;Dj#Np~04tuN@cszwqV#!au-VG7HmE!Ab6O;qc{(;|vuyg{>+tZ_=H^=8 zG66+F6TWb@)n{D%dTm=PtB)};sM*BC#9%E;OG^t23q?gmJw3f|Q}I?qG&lR-zsp^0 zY;5T3>l+yvIW=cay12R)m6Vvs`S|cvW2n}^WhSsvFztQF@ebtxG2hK7!o)=>5YF6(2e(_koWP)-gh6dMl@tzCm657yPk$id|7 zY?7BJ7uVN&jO+waKK>`~plEH=($WeWKB|6PSy>4Uh2IY|0_1*+KA^{K)CC%$r0onI z=mjv?0bm;eR?mL5MXiD_PZPER1^+(K<5WEd!UB*+K9DpuHl{ENvPU}g0~1BG`^q(W zbUCL$g?Iyo=^q$y9LlFe=sWDx2aEDz+Nj)8?_(rMQwc!B9zf_92*GxZXYz{Rtk>4n z)L?jT9F4b3y~bBjR{r?$qoJ~a!OuD{BO@ab2}yQlW<^=qVzYBe)1vT(;zC3uLDY+8 zrX=Z8(N|k66eeI_K|zSJY;_+fP#U8lIvgqqB@(lK8y+Dc5-J=D(dQ~a@VL6VN=?Nx zF!%=Wr5oEgsjr|Gz%~{Zg6`qz@YHK9t}-h&c@DHT6kFQne(NIStZk1*+1^$;<20sS(HZpQI%v ziTVCmsP4IAKGxc!++z7;;4E5$^#E%}{wF$n0yHL!pO0?^5R(}hWtmeFU;$+t z3L+wuIUyn8VuPuvXaOVkzZ1N29U5(dF0P){JY9gN&mnz#+_5A?G?3I~X3Tu#aWe1E2vJ2ge<3obx_ z`|Clf{rvd^5ZN@#CM{}eYr||^U0ngWe&7{*r>eVqqi`NX89voopyo>&p0FZ?F$RsQ z3WF~st+}GWUWzyM^z^K+ub)^~6Ab4m0iC(Syzf#x)>KyRCL$ahA2*NAQ!gi$>&LBS z;psNR(Gl>qC-MRJ10*uwJ^r@lsa~a;qYenF6#e-WI^@cXjE+VDnenr?tqcuwyA0PC z^6kj0d8NlXEjZ%YtZ)XqwK}=s92K7w9TtZHUP=EOj^x#D&UFTBP~q$ zx52qaVq&lad~QaF+arbgAB8mY9{5MTWAK%oy;(i(wC! z2q_+YKv1jB>7_TM6zAh3hs0+J2~2Ek(+NWH4uTC?WMq^L?B2*z5<-0Z4R2>XOIzE~ zp`oq>0kI)Tzrsh-`&oi%)rKG`4=fl@1l&`|(%gw$C6c%h|BY}0Gk=VzP*ixzI#^>B z)os%yDE@dZTv2+3u7a#c_sFr8Ax?DG@NQao%#8s<(3mL)zG=L4|1FyUb(+965=}PI zIB%t#3@>r(mx|2e_ACCQe-xR;Gq zG76AI3M69u;iZeFpzvWiHQ(FWF@p#|JXU7fVNR;$v)VW0ApS41eZRIgdP4GgKNS@W z@o@6?q5A;K{G`F|i>hS8Dk7PP!Ga+9an`~zO1}g(74F;mH`RXe0qJm=lWkOV5GZyC z?0Y^qG-O2W2fI$;L4bp!uBzJWdwslE>mud(-2^Q9Hdyv>Ybzlx?!(E}`z0uRMPW4 z9j}C?h*hLqHdm=bb0tiKqH8U3O&ZDXE8OeV6}GX`>$VEj!#jkBhqwRZM|5v*VoDAx z2LUi>!edfAPY&5$f-bF%-WjXGD~6tZ?Ib2)FP@1$R zM7;FazIOk~vw8Ij@A3TLptDo(Y6PIJ3&@0RRPlfc{geH--3$yR->j@k)iU4_oeoK& zbV-9g&K{O}=62EI#zuMoC*9bVsAJi3x?xi6h1=sCP;5>Q2**@ZFF*WJ3Bk`_xFEzd<59a8|wzrlfmN*ZlVwG0Q&^M9{?(=sF$eD!8hlx zwiI&2B_xng!pJqtXT>N#%2|RLmcnGi!&c%Y7Z40xr^?>!J zu#j@h3kH|2l*7E_^XJd)?RrJZ8(wUU2Hp@cZCCAu{I^x2X7JpFyehdgtNqjS^C`6?M?)5i@&*Pu0pU6x+a`nlDs-S_8O`?n~c0dDdZ4lb^46_2x!=jU*u1k!JIf{pV$ zn4)Tlc+sMmA5|k)KI;U9T|lddJ`PalNQ@v-4nS@-^v^^#BhVLh5=F^x)szJwN?P=x zs|$BmmWq;6lUC)l)qS%Up-mY86*;wp0qC;+aRcmXubTsooTIl1P{&xd)Eb zLNvgPCuhaSlcx+5U%Yw)8T0V;gV=|5v$GRWXM8RI5CAhNsqSpm{!2Xv z_dtLD-OWv}-GZWlfx^-1n#gAvu;cdp;-YjCqQX-wGPt6$Qm@4Y5Je6EO5NJh0&vW3 z#|uKJyzKb%6~fd%laG~eP3;MHdj}lo9*BiN3dIK z^E|&~`Lgc0JA$tbh(CqO2kV^>7pNh@SI3JzBLf`^T)cYZ5oEYJ+Edfhr`xEDg5tW( zhWUnMUCjXhBP1jQFf@RzHj#$wcL!o;&*SEXlZ6{KLL6#rX<3SbjU;#( z+}kTk2@6vQaCGL$kW->EGDz=7ecoiEGJ)3P7P;+j;*-<89`9TgL2sF&l&UnV^Xuy` zXNOac)5+hKZe>L;J-W80e}ZLGZqI?q$4GnlAWZVnVTPkd}9nnFp@VK|vuV z_Z`Ih_p(n;?(Vo8!;tZkQc?)vZ($l_scRRbMS%Tru?Z^?O~l(hHZKuFWE9hJb2=~< zjk4nFf=l;wRjK1cf!1c7C(}FW|30Mh=LatHnHL}c-*sqJZfzASa&sZ5$ZKMFL5O3J z_>-LG-{$8VD=SC4p%@{`FkQp_P@@*0|<<#vVgk`Dv<%B7gkrZ@$%yT-i>^& zhgeW}KB5q0&a*Q!fMtJL#2?%X#>xTMMgYHd2WffWU@4PB6mn(z1Xwtl9_qE3-iFuj z?Cu&P54zLN!i?6SV`4hrU07=NXbAe0sakcR+>1oKw87stma&!l4w%Ch)3bi9XaUL5 z!~+_PZqIfwSi(5u?}AQ|%(|mk>_x@J^G5`eD=I1qlVpvtk1@1}{=_ygH2#N=AL(J( zK`9|2aMB%s4P?Sg2$WBD@r-NHzgJ4AQ{se!k+A}hstJme!+0ljGsf*oZ6;ArQO(_q zK12eR8oj@>A=hzt{4hbA1iURUOg5PiKE1I>!MigWF;MxgrX%2SBCVUUqFy2UiU?#976NWC{UzNkqemo9u z5GxeIiA(ekl0h?tkWh?ON|p?Z)-KvpDl(#{7scc<#ldTZh4nTvNTjm) zN|rwsx!Dau30;SWZ;F(auC!22_*f=QwHruk!2j#lQ{BYE>WTd7o$Gza{hYVLx9caV zJYolR9=1%vd%PG@0exNFhoDo4^1k#%om}wD8^FIJ2e9{H_8mdc1Us9MQefOq70Dp? zLs!f#3<28Xi*^`d=<6!dOUTSZ{oQwZ7Z(@sOOC+2z=JnYr-mNj#Fzcnrs>r0(`192 z8JUU;Pl+_UlKYoQ>EU=LH#c2cFe{&M;ed?;{n(O=Po%Q6C>k#l$y< z?J-_a*nI}{E`XL7AY5X_2PrP;tTrH&H`5%Kt}ZSs9q(EJXP7coK;4Ce!#Lqo#U|BX zqLA$Xvn*OzWzZ__d-hJ8wt%g8Y$sLs$KGBD%NMD@$PXVrP*G6<-Z4o@Npo{^cT`!_ z`{9vJ%`2m$$YRLPt|FTafGr*{Fc{tgg7Fx!t}-u0YDR_$+LNfwuQYaZ5SGM4GfZozJ0KwghEFPiSAAk)({PH~+R}VS zV>yl0)kYUd4C?C-n44RG&!q$CgvMlPadD#w&EN_vnDJ7h>gMi-6)J1`<0vO5ux_iX zdMvtx7!+TMK{%fw+EnP12)S%D+dSADkq{810BDMgtgEl567PB`swMig?hmj^bKBeC zD_v1kL`3a&FU~|x>p2)WIAezUy!*mYb50S zsye5wP1KSN$tozY+)owwO*=2_#K%XboEN4T2E>N3e261>uAEj&mwL-3a2CjCe3kJxW4(OJL0j z(5p*-o&ZDehD&9;TAltngoAI)o{*o<=p9o0o@Kor!ySxFYZN25q)R~72h_X4t@!Tk z+oe@Rk>^)FKR!0MeHCKgqUUP`J@n>I4TKUuDJe0}EOOee(%TV(UFNB1)Av!|r3j_) zX0H{cynQto3wY$4>P}WeEhh8KSpU&6@Y+bU1=vPFX=$Iard(V&yR#bEV-ON1B}c1j zxHjG$;V?`i4j|FuVqvujO2|kAM?Ajg?PC0CD?(rK82taQjzbg_DSgeRLtcamoBM@hp z{z*K~V_>M=FQujC%HBC%g*2()(|UiT+&~oI$D+eOMZHf?g+<~qJKY^(b=3S@O$WtsucYD9bbjGD4x{dV`G{D4Xkq5_sn27)?l<19V;;&ac321$-&kB` z@14Jr$p(28Wt$8n^Agp+rzub3l4ppitE*vid<1V97(hLJGE7CxZ8gma02k3D@K1-W zPeA+&TV!W@^m`|PBP=Yes;cU3LITD1lIBH&l#01IJ#LUp=RONhL4Ll4nsHWoPK3;D z3}d69Andg%H~9wT&+I!^&#DSCU4z!j+#>@@%1O0U65G`&a22 zj^7~En8Y3DxwqdbT-P69@V>n`@K|uK0w*~?Hx8-{J*8j_8+}_Vr-CQJ;^~g>Mpf7$ z-T|UbkcWVExO-i929Yk*JB44=*Vf{su>AN@@Tm4;n|x8ObHBq{nIXE6x$vg)dC@O} z$S3N4_s_szj576XEV>DKA?$FF&7ut=Z7$NDSu1L`ypcd zdrIi~LFF*r z5He&NrM^*nHzqhw#Z!Tr@g~`pr=#!I^A+kC;Buo%opX15Q?$&+r zL=a0D7#pwd?+@-PoON0M5YX6OUF~>fh6p$${|w^u|dx+mZAJ-2{pH?O zh!L_#Qkkaero)9EVYEt&EzDr3c0k+4O|j8NM%j_uDwIpRq$w$V*-toG1iD@2ceYr< zk{iDgUU%m@iHVIryDj2B+t^i9nEl4CfUqPnB=qWIOv>|Un2V&kU9|BAb1kPr&mF5l)dsgCjlde!}dzjvmS3CmC1?K z3FkL~N7`lI>a5+M!1?T|+j%l^VKG^rDpFcxXsEo23C(@I-lgm5mSkbEKT<_;dP^<} zNHx2)f^nvWxp_i#wEc2>P)|<}C@sb}5V?mz-~a>*s$fd^_essL91s}s@wqIu`elyL zx^=$}0OM59VXk@N8SSq2;t@R4K|yI&YLi{=eTcFm_C*l_YM$gl1=VqJarO1}ZSVAK zY|`T5oJ`DW^@l9_#w=%RY(Z?6qnNg~;cNb0OKW?5o!htvdyVteE4PV)w+EG96BA{e z%r+S8k+-p#+(PhJQ(t{PI%tWSAr}P51j^Hrq83rp!BqMAL=SXlTmxQpM|PMXiZI{ba<0=ah1)npkgb&X0~{qTr>vxLn|8PbqFlgRKv)IMel`%#Jk>DrB_Sdc+ z2qxz8+M0y!kNkXokTH0UeM{z|YGPt?d3gyE9Uw6NtpkArY`KA<;aedDbux>E^Aoe3 z-P^{TINq}lV-qK51`yguuiB&nymd}N`BEx0DCoI)+Z9u8z%BF6g5IOiQ#U^HoD#O- z;l&!He5y-SD7M6dc~tc+!_F{h42b-_j0YwraJP6#+8RtYLD9wI+X}Ag zFILRVR&UJA$BB}(DnB4W;6V@4*d85Npst;vFayLFg;0c^mybNLoVe!BVkfrB^C(is z)V6h6fhc_o+PGd`zR$;OxVX5}Gc!qviD2ZbkS6GUAzSKi3u;-o@6?NR{+!_?%Z;UP zD0e~l?A)ivZ!PK^wO7>o58>l9{Yr*WRgKTvcrX_6;ZAXNb$ptEDapxjSF-mYuaH`l z*Dx}K$c0KwNXVi)JcSsS-r^jNfp6zAukZV^x4pf+rNzr(hKUFy^U19BpMH@Y()-yN z2;&vnXQSxiNASlGMtJo9!$cASkX9V*?4XJx49q;a+%;>3SBVqi8~}A@k&+ zNGoXfmk+b7YQ`4#*KI&RW@1uBV=oVqky@^teRi1yqp)QkTyyBy{FJHu$513gPhC=( zp9dXyTwGi+I5-P}pO1DnN3X72Y;5+c&+OyZ4aef||G<@cW0^tH)#s7LHTUN|gt1(< zJLHUmlM?{CHfB{ZH zmCgkGgnYGpUI{6oz_WT!H*SDg=da$csHy_saXf{9>dAVIeH=1>z*pIG8%wC?cAC9U z5*f;66Lh^op-xOpoNus;qmRlPNPefK6-9uBg*D<&|7z2twVZn8)MC=d#|Mvx>B~iw ztUcj`g4rn_0y!cYAIa;C%!am}o?t`YwteGQDo*g@$yB*tb92OChqT5M8ef=;($aJf zBMeNaa=}^eZHWZ2Jq`&D-XMrKk$af!B5PN!Q!cEns^~_#N(t z^C=mec7M=RIT9MUzgjE2UYNZ;Hce~eG-P=~A0r(URM^ifKUq{95~#<}tycHSKo&jq zQ)Al__X*m0iHK8FTtzd3pRe!OnyEvow&n9h+eVSGH;|DO}WCL$|Ztj5MbJz(=cH^dt z%2#$oll06?!+FWia@2AnpD5|Wr!bl5=t@S)K$QF`?_^Xtd*lsmg$uEFXdI#b?~+mf zl^8f95#@JMF(!I?F98Pa$2o8ECR6QOuaFpGJ^-2zc(sbBVTWEfDI*f#NKB2S)A30V z;J~XU)Um}orS9~7hYeDXWEqC{l>@w$NQJvua1Ukv@Xl{c7refe)EYz7d4n>Lhs1=D6eG~Rml zOFq_A2D8kc*icxLQv1c5o<|cd1#il?HgjU1K-k4_(LemuFZ=RQr|A289CDQc4!{>y z#)b3`Lf$SuP3d`2M)vrJ!HXK{wVde7r)Aq%MsGad`Sp3m4B+^`cyll!^k%J?QwI_h ztSuDN=Ojh<>}Tw!O5qm+ECN22$MTsPuLFxkUR=?8uL@^aP)>Gsz(Kik_hsuvYEo;- zhmZ>3vHm^LLdy}Q~gh>KVhKn@H zlHSlsE6Yd=r#`4+JhGi2rTb}2_HAlhf@ky|pJ~P0G}&_2lKORT&VZvf|4Hcn4`H;U z3Tc-E+~M11HMlY1(RW7d9x`JYnH~#Y+fqy9;cnzvnS}IF*MKO+<#a}mZ^yw@8oCBY ziYKy;r?lBMJt{%_y`%HG37dQy3X?JQfh=CG$!etRcLurX4o&$kO?1v(U&F=7KSu|M zWju-Y<7-0_w-CbT{3b>8S<_UtlxM42)Po@``@JrMj;H-leCBd!Cxn`?m#VZ0t5Xf7 z4!;1~24A%-CUO0cmijQq!Mb=f;SH_yt4xkfG}*{O7I{H#GX~A#L!aYbK^|6lLiSq@ z^R>A9^+uhVM4n@wuqJeJaw_4+3D3zB^t3AJ%qkIe>MFklPUAjeVCi}JLK%zF8W;6kje_$tsnTzA?x_jguLk8z3@{&^?eL~?n9et! z-=qpzAZNx^o~lsnBStu3_w0)zT_MVnDmh20o$v-R-gz_e`bB$4$EKRZq|o$UKh*y0 zNpOGrBbMe>j7kE-FyLm$ETo2Sake}(ImC#sj+&$vFI+kNxWeJarTzksYbfL z#aJp~K?8SQ17(3brRoaeYE8$7I`Q46&Xu2vyrg8z$pKwnr1DmoQrCmoXHfOd_&lu9 zQ%&Xbn!Ia`?-t3K?^H6lH~P&@gbb1;vX;GbEA*n?;->7;h;rFc9$~Jn%9m+yQI?l| z{q?qtH(sNh_bA@-a`yeN*;f;`hY8wA+zj9ONoSotYxdz|RdR<)Rq6 zMVfu36wlQ=Fp~_-sYPoo@ygt)kDOk1B{>j{2fK`GxkfW;M-oJ+$@ly=q3Y;XDzmSzqOKSn>N=-se>PmNk+TD$Pv$-n6J& zk43>qX4S#_rNl#a`l-~+=Mk>1GPFoFJZN0k`JIm{nyvk~XvBD%Q9q7)%m-$Et`O^Zo z3Ai1FMDGrC!u494IA`?>&S7pUvJaD655W|^D|zSFi0U0Z>YoKs3Lo6>G6F-WuuLf$&GBta;} z4Y7BJn;e`UY2qzB z-k5gR?FJ|M_${((z4ZK%6E+cg%00&1D9?h^jhbKf@vlOfgP1g03u#+8ngo zPP?v>>ih|BAd)Acn&Ce&_rGB#X_wOxtawREZReIcpe%*17#enBwX0E#zf^EgG=~Wf zuid9Xux?>W_W0w{@;}s^gZj5#7Gct&XMV)3HI5F3_J%-?Z#}b@q2BIPC7AeFFeO?H z$`|mip~-M57E1dW6_`ShDFbfiQgd!gCxmuCfxt*kJa7ULOlt$vbz?*ZE@myk6C#be%J7WD5E5wnf~Yg-mC9u~q8n@u z*1$BCDF*xH>C_<=M~A<1__6o7jUj@M6y+kj_p`0Z3Y)HAn~K$SsqF_oC8@OW77=M1iUdb`wik&d<~)pe=U#pLt1;kK9xCf<3KWGT3>)U>e@&Q zL*9BrS~yD(CauNid5_jFc(aiV8paCWsAz&;R3SgjG@)$)yguwz%xEV9)qQAzn`qSqZ%N^`x(nXHGEfyHc)X&Hy z=KH(g7eP|6BU zPw6|TTF{AyYxs5e)h;)&A=EAX$Y6HwFyY-2!*G#QNz3^brfajo`;HJ`CakJB(qB_5 z8TD&h4fc(D1;M~~WdoOTf>P_-1Q&Xjv6~0XImp}CKBQE9If1Vfk~fe8FUpB>=Xjbl z;+@&Af|dD-MpBSFE<_0$9#I^~{I&C~k?o!UZas5mCj?Im1Fe_NokK=IWfMYt(ZA8j z;UMut3U*`s-4y}qZQO^jGPNQK<1K>dho_kzg{25}f6P{jBj z#@MqkOIYcXU>?~(Gg!J<3p)$LDHmMq&9}KphyaV>qTz2+Sdp<&YF>f>1ve$(3i%QT z&Hx3jAq#HiYEAaR_sPMr(f2TPPyA9$Kd1q|4YVDx+^c6?^_#Sq3h*Q7*9w#3CS%FYanT@4p{GJ+Q8w%}U%WP25)+xQ;%4sEE8m{%KKC zWrl9eRAmN|@7^~SwCMu7>=-*m*!1|Yb%(P_ugT|<$lWaYrv+s0qbB| z!GrPlJG<9Qd)ADY73pPB5tx_a%iz;!|#(wiBh^P zWYo6$hQvIO6_fL}xQx+c)qjjNRM*O=1yd!pmF999+t(o^<-oeXnk4kZ7g&e%E5n~_ z-iSQZN=FG-^Y1vA+2IimS$tQ)PVr+##7`cFxtqcu8l$v<+X!>eX6dkp?O~fz3}=WO zHs`H4wUKo3#EdMmI(2|JZEI_06vfKe=5g84r=wWhlPq>j1Ss2A$a4{z|H1@L4p+->Y*zykTuhzS+!~mQRA*m-Y0_#j&P+ zK3HsxqU~(FtEhIOp`6`?3t7+Bsu-4NZ);bS)m=58Zr4!k zGoabf`0RJ7DnIViB8y|m3N!fOQtyA%Cx4YiSHs^G|vG+6z zay^vIo(d9*!cJ3Cru~V2+^q_2d+$_LzpLkyOHbtC1)pPLc4%sAOqMvYJ~g|6+@~^X z98?$OnLCI+ep2mR+H>STRdcuwZ1#BOA-_`$=INJ zBNtL=tKsy_dN$pY(CfDz3e~e`ns0Qxx;-9*R6E%3)H@btH|pF#*$HVrP&mq3cT#xZ zK3Jt2j_#7a`H8+U>Y!y1iQRn zB@eNNjARsj_$5S94^wMBNmED9_e0)GQ65xKH$K8WNi!2X9q@aa(GKcLjs)|r00~-5 zVZ-Z;?&P<jD?qJ$nnAat2f{ov%7cADn}M{D+B2wiF$(LGj&43?udY1=VR9xKLs} zI4`7>Buj|do-E(Z*Ka-!CvEfLwWzXOA~F8`)8*Kt4eNAz>{eh#HKI>=JB5EcDG^Y- zvy1P}LkXA713L@c$9<2_+TJ^p7DsEadE8t8#5%YcIbVUSG@xs_L;#VD;u6_aJJ~)!$VSplNrAv+->^1YDY+u~Q zUB~5)NMOd#bP(13%6zpa21a^hX>DV(z2i$-xEQ9AQ}eJku6Yv4K7foT#T9$zB`$Ab z_nEHeI6p=QvWu9ouYSqTx@oqWA%+t3*AUun?2$bb^4B6y`- zoXt3dhW=Cx_d7q7`TPX1&4wtiv_Nm^#!FCD)5gO_g8imXOcM_e@1%N}_e)f0*IpV`*|$Qqi?(%ty~| zRW$(IgtMcgGSEktl>sa&pb8nRB=LKe!{fp(+chgcjJGHX^4?z@))p1HPZlxf7hs>4 zk8yL021(k?ZJ81o=&=R;NlxzW>=+mr06gA1pi&YU$qveWT#dEI+!k(|@rtkj>)9{a z=>^rOq;S2#7{+A}+^(+)LxVi+&3c$nAj|MNNaPSCtO2nSs83;GVrt$8Vo>^{k)nFO ze^10;4yepzWDh(tcma{@E3Zh#1)vPPSox9(*l_?*l{-*WR0LR+KlN8uRzSrD0Jnfz zlXH2BpgSKIuGs5Byl!XbIY12)k#<^@GygV76a@krb^-@C{*7CVjM`tFQ)&EZn2E8mzCbw#kc={f z1n|?cv9WP-Vs`*B7`%}8qjnF0l#?hEfUCWE#@R}U%kJCrbr9fpK9~EwBd-AR4LfY^ zT?pLBydgOVra%;G01%@hC?wYE(PHw;>Ii&7n(kTlOs8B=8It8`6;3!%p?dK$FwJ)& zhY1gRu=sV#jGiN5^}J9pN^#LxO7Tfld-tw~kaTK#y3B8+wbh#&AioU{twQ)vJA#Zt zW`udSt!Rdbec=vA*}itegU8vOy>)Q7%K4tQ^VP}J?hJZw!ZWn?TfNI*oLnb1lq;+N zh?E=!9KaTXD)RhSfJn!;ll1I#BgCKxC)8Nz9a4wnI3pb$y7YtB!e3#46Z=jq!jc@f z3Q=az=;(L1ndIAy=UE5|<*op(&AFYJNEX}1Z9{N+UtWom+Cb{|=gPk}z=URh|DKNU zI$SeAbJwh!MlQY?zOEC3ugCsQaE!)H9O=)_wiHxVu~{CPgRa>5;9-11LO0Rr>8bd% zneg%P@vy{^zZyeKdXZX?b}Q68xcpD8q^dJIl+DvJU(^ zHos>0_&naC+#h}2A;ur99$RRJ$)S(NtXcA)1&E~}12ME9#oBYv ziwylilFYj+?fUd~$~4b;&_)jo8K9^y{NX7i4Gzc#1vb_sJ7R(J!Un(D5%wyw8%bm= zw>Msw^G(&FH~9Sf1OKl_|9^JwCheBbD{rf(?Lk=01BOR%oGcdTo-CyE17DRoGKI{W z&IFz+1}+ncx6xUux%&1ngy?|4F|p7vzcC{s;yBwjiTtpzFX>NkB7%{_2`q+x*e1w` z^QX;krV#Eus!+TXZPHcH84%c?w;OEOcT0Z!yoC+(`C-V56*M8949*j}z`H?m{q};Q zf|KA7WEHKE(HtSy3Ax)dS~*uqKjYON;B73x$iSze!7t>tQDrRq#qheA(j@J}YA)M1 zY@AaiRG|yKmj0w&zrF_10G&=L$6bP`uWYRJ^xrE^US_4}Q<)Rt!1o(1{08Uh7uuIn z1u`q`6txs(uiIi6=hf7h^MAaXZQRu#&fO>HcO7eRwc1;-NlD<9HrFlt9gfF(*6!!% zipSLMUw(Uas$f?AYkoBRSBYYcQ}J#TE%O`e*$p5ng1vh=QyqSNwSA_T#;27WL@c5( zfPV5;d+ug}8SV64WxDb3w?M;A4~KJWEtI=0wf*Sm1QREy8}AquF9S@g`f3I1_!*Y@ zU@CWitMhpg|JK%Qx!KtH7YD1;t<79LRK{J+5ZwY7n~u(aL}q~n&xJ?3rKQLxhFm); z7{s@)o|s9hR<2t-Hg+_z-XkO0o4ZbmkC$re^unU`UpiO`_e_gCB4N;VAMf5_@n;Q4 zq>}W*NW)_}5m_A|KA)OGENAn$w&EYNnLBEqE;Z<|43TIfVQZ+|4JWBhCm|)pHEu*} zFEhrFa8K)v?PsRjxbNrI2`8-{34gfo1A~KKg;!M~t10Etb~cy&mU4bm$Wm_xO}CeR zd-mZl8?Z|&hWU0<9VSM;0SNfA4#G*n|&d{<>X9s1DnP3|eJ~A@- z=Kgn7dVBkMe`}5BJ)xP9y_uLu>#JmS<&oYx#Tx-(0jTZ354HVwLVmvzE-xP|Ei_y+ z?{b~C_^iuj^q(~~J=a|OSYtKAe3FE?|r(34FE6Y1UG`3~>M z-8@c;<3`j~)8IFZ%Hy>D#r{yq<*EW--HymW{*~LsWVMa!VqR}={oc&E|1WJ6UDTJ- zsLu`Cg2Tc9oQ8d^q^=SDr9`Lz42`r-zxMM@jheZ6_-gNh&BhY?tv&d^nEcZ=DJq2j z;NvUWx^Y5Dax~->(8Q_m9zV!P4-(}2e?I@~ZICPb2Lc6PU<5AT#pK^QJM(y}TR@(n zK+v(V$A)~UKlGqO5eg^RmgQJki-(4W{7G1qMtwh$8|01=NFbu3o}HYCIoIk^eW*UBL@V_HbC$i@M?3AH0GU4!(wh)8~N?eW#wYF z`5y(A-#dVQCok{iRtzH;jcW5dg%NV^QO_ZcF0ShaUVXW{Ra{-o@W`kE#ZmIp-H8LY ztkRq5N}#uiO7iLgM=1TY5~w{80R<=^Nv34ptec@P+tBKqISe$Q<^aV4rD+Q&0Rdb| zJy3XZ+oKyu&V~*c3S8*v>2upV zI-Wdx#;B1OEt=HNWii1t2Ey;rk&!X$7yN%H0@c=Y2e2qwMfCsxWCy6pI83kTpLi@qZg0*^op_+75f)^!$I5Ht2 z2r1P?p^GTXb}Kp$2qVPxve?|tOn5zhnmD&{IXgi_prdvnt{+Y!P=;m%bUdzSf7x9j zE3wwAPW0DnSzB8-dE9=iy(-iXh))J6v5xf+q2PO|U2@yc6kO{`_jUN5rWMsSnxCK) z6b3sphU0LYZbmk$RW>p*G8!5%hNEI&|6s5v*7i*G?Rx|01NU0T(|14=?^tnlBT5pNu;IF1lZx1OB{0BvV;t+k2nAi zhYpYKtW-#G@qTtF;UIRhU`$f=MjM)BC{b30VU^87)r-))D%BhBtxIGIT)h=+9Q?d0 zIYh*GAsd~&?&Qog(#yFDa}(|nM+3+4rtq}aQ>AMF=V&-sz`4ATZ>4o_Jrz{dQPNg2 zRPuB7XT$xhPeR_laN&0SICmH!Kg%nof<;x2jhi=2>6PGJ9JKVHVlX$BRUxgV_~Xq~ zQ?#h+$3Tg;^^s~wBYGQQH|r@9QpX=aWeI@bg2!x6ye(-hEXF~a>ZsoEl&(hr`Di?L1 z?kH6<^N3|G*==f}=msu@{*H6;!?;Gr#f^@Obj99%l}&9 zjN1B;?}rkt_zRL=Zj3fnEMJ-%-T6lg!>1vvkuoh_>JPuBoZ`M0vH zDy*uX^sVha>VGn}HvIe#t$)c+HVz*J1^?ZR;N`!5Ed0q{#Ku{RjfIWu&xZ@B60(tT z^Ma{1tB9qsvC)6}t*Fgk9t3t|++1LD%B-TFY(D;{EB|!_WIWKn)|59kGS~l4R|VqU ze_RouoZNq{tZZy&bPVxU;>aian6<2J@0CY+!r;SVvL?O2)(X*Zd!?Z*X8> z1y!i-pEbaFfrA4JP%>WLf6S}0kwO1`?Khun3{{MQ{_Ptv3075OXZwGcB#3JNn?nNF zl!O)d#Xq+s4d%Id{@ReV)t}w|nFUg%f~?9me-4d|ja9||lY^oCKhDFBjGYr)5p%2m z^nCwvV|W968UA*G{

n?IQl^0`Yg{@_!mUuyaDW{$<)A74%)h!e&Mt^Ohz3USCjV zDt>KM_V+is#cA7Zu3z#LPYB80Vrwi{w!ai-pfVP}-ahYJRjEpN^A1}aGiW&(;IRAp zCWlvTIHJ@qyS`s0_0EJ!b8l|kZX7W%esis5+E`Cxy_b%&`At5DbJEM&H2;2dW0IF- z{T@N!02!fa@sr>>+S)m#evIxrDqr$fm{m)^T5~QD!2tS5KTCVS_Je%HQwfCxg)%sq&@xWK5$Ogc z6a%-0-Vl3H(gT*43HPR&*yqnGLYl;4K4YnB#xBJR6J8$28xiGPC%=(oP(~WZ8%?DN zrZR^42UjwErlU(jTr6Bk2C!qg;Dt}EI5l6jKd2d)~+@!jtm-CKD5 z8^5Rhw5`}E>*BfnQ8|l=jvuw-{ms2A1c)iIbwa=TyzejC-wPB!;&xH#p_HLpu&OSd z{(^(=r0o2}jelZFaIS-V$>PSHhwnbOXYfmc!i&Bt7T;C*_UQTzoac(~HH(l%I9av* zh6QC>?S(KNVwopDpxMAVlYKGyWa~k?YVs6Vp&x5~t9(qPgk@hG#-S*n}<+e%1 z2q&tp5<*;fEN>RRr$614&vIZ6MmpW=mb7u-ABndJwoe;|+;WJ;hL6aVc*$OWJh+LB zAb9!_`o^O?qgy`P4jNaCLh6aLF_a6B}eET!k31y9q0ZvJ3{(C!v{l4 zr;eFzR2e-rMwQRZQ(i8puL#P=JJO`QonSDdW+TcO4;eL2I07rTU4D7mvhwtNN0Yrz9SQx zclQpJded40Nw|7z(vE+TGzWO zvH4ryDCH)=fYxi8{xH|PvWj1M3>2hShOjFPc5q_X&neCJ?Dd{Sqtq6@=!FS z_9x6I@zyTv=LdC(3!C|t-9L8iv%*+0_h$Szn^ULbnd+(BMd)bE`5nEp{ z-S6rMFALM4)iw-6UuW!LZ_1~eA^1V3p8_mlwr7}OgPnT=)jbsMsxGu+YsOk>iOL@q zF5}~#A$tIy_w7Q)5c#*O^)-u>%RgJs_F~mt+XY!InZ>79*4{?Jeg$c4BMH}D30{v& zkbL~oF-!@UPSkT6a0+>3acmg9|It${Nx9G&Vt-In5EJ%&yMa#<9oy3RQ^Oj|v`<-G zFz!|Qi-@nS@Kj>X75c;4z~?>!B+~j|i%3<~NYb05UC#$q~QHng+;&zWU zhHQ{yU`gFnL4;oXk%Xs&pCYv!WE8Az6n3enli!Tb`}WLopN~wY$izMq(I+|Okyl3& zyQgFxTac~O8l_{VoIJ9KdG_Ozy>k036O^$g(zZ@g&9;^1-7ia_8y_r!o6YPyWyX*z zb)vYB&$#zaRyoLq_EEd4Q96$zP6?WLDV z)y=;u9cbu5dj&m**gd6wZ?2Fg(K>0~sw=KmvP9)1X^`^jcng6|HN}aXlt!@HMnHg% zeW-LBfpcPkocRI$Va%mpKgh14)2i}Q;Qd&XFC#$sYI^!!F0aa0+lxzS$FBDok?tkq z&9YL5rliO_VZD=%vK@os-)(;H#cWlH4!l$@O^7@%HxVejNhmBA5W^J8rnS>{Qjt5B zhi(V`qzFFjBqqK+o#XO*o34Myf7p9jt%Rvl<@cpjbt&O-N1v6|`6}9{lv8!%l4tYX zNU2ypqvd_6Crt44QLQX|^W9Bl64)!oS%Y2gjtL9Zr0*y^w{G)+p3Y;x1 zTalx0w4b5k4n1B^t;0*ArDsPgp1;7M$xmM1$SBgn(AONtDmE*7*W39+_ZPcH;n%e8 zY63&r+2V=IXUVKvMxJdyuT;+MW7%f*jiOiE$ldNEx0(2=tS)#Ale$(~&MbLZXY9^b zQ}0PERj-$` z{j!zPzj4P`raiRkTod=cEou29PU_MoVLSUP$v4>&_umlECi;~G7Wt-{@KHz^V^kBOX&Fl*-{mtzQEd8JT{ljnVfA9AE53RQT1g!rPJ=6c9)z+W><^REI>%Z8g zv2(tJ{@<;({t@T@k8KS9-oyQ|+6qzWpCM`P*P|;3XQMh2^K5=!oHwP5)Oxk^)V*wt1y8hl#*e|fc*?Y>sVIZ zMqrx)GU}u}9~S{X7tk|V0e2YG5CB1&fdOQbzp-<1IRa4_P89xEDH%4j2l{#mH zXi1r!nkzPfD=dJ(nK~C68_P}}Cnfi2i#+{shsHZEhc2Q*8+}M_XMO}79?$MNJzZ%b zDk`dl*)C-mC4~}rIVIqHu&8rdT3$YCqs*vYaBzG)T7dTaIsVHJs{4cJo*P3MKq9Fw zK)GiJZI%QZ`}@KHRpdlV!H%Py9kMbx(7~{{_hL89M^2 zEk1wco+NG?P!m8xLz}d5#+2UHQ+FIpd?`Dl7JYJdrc-B6zn+~d3`JF8HH-S<>~0qy6^wcSANkw- z+*}GA6h?rUlv;?WEHGKHZLRwK3c^RL8^_6SZ&nf<;&HSr~*r+T+mYfo^v(ri4l}r=5tOAqjH3-BGX!&&D zwp5JpCgn(Uh$8rPc}ybLPKIf6=m{v zNs7t^To~^71R&)d^;6@r+dSmWvY|R1%~nzcKPRWE^aBI{zoA-69m9Bgdp ztPlyi-LvE4%!cWp&E;i4(uaSxvarav_xfqHX*8yFTB&8#XGzv-jfu9Jp7S~fh_TlR zQ3QQ|3+c9wEzQ`Gpk_KaI7si4mOL9UWm=Wkp2YuHI*cZCYN;~brHo+0wn-@PccmC za<<61?=Ajigk5dVUJ&^Hp*o}Z7aCe*I#Qyh)Xvcul0?Q==@^(@u!v=$Fxw zT1W2Z)@9}!Q}GW2$KGL~PAo3!m5S#IySbQCsZ#2X`^)&J-%xR^W4*R|;QN6+Ol$-b zrtbtavLz#1cJI8&c4(d! z66eEZpiXx5a%p2@V{_AdYe{OFh$;Y7u$Zgsfw7f$3D9Y!0hTrQVk?xBy}i9-<kK~wI7HObaXwS9nLjkqGBKP{UvY#6SW$v*GR)nol}K(bPxk89BOLupzfz4 z{zJ8P>yDT~?OkL9b$Kb%E;HKTvI7Y*Ac4x9mzOsNB)NdLlEu?FDJmK&u zkpb?rH6d8Z*xJ*~5%GjBQ`*4M3pjg#(k_5g4FbULj)IH~`>84wrnJCG`E`rWGm(!9 z2LN0Kya9oik&2=?MZ}n>P5u5tlVV0qO+2AunjkSA9_=G#EFz+vwKXnbiinE8JjhJZ z>y?sRLE|7JAxZTDt~RjP%3JyY)HA}v2k&mL(WI#&)gR9Nu|yjpbDSLezqtAesH)a3 zT0}%dMM}Dn77*zU>5}dS0g?6yNSB1PD2=p&(jaj_K#>M%$wP~W7HO%sxcC46_r|+p z+%fLp!an=#{eA0OYp%KG9Enf*_46m_lv9g(+=XXr??|`%3S<-+6BLaIz-kf8u^t8D zHKU`WpbQ4GYMgPPz(zriITfK~$Cgm7so??^g4h)exw*maU{tba5)&P*6UF?P`h=uq9U8(Z7ALT(Jq%(if{3^^xCZGMZYV>_~%-`gfMZXFPMi! ztZ0FQ66hNv5W66wl8<5zdf^5}94?ZK63GUfjcL&AnQm+h=FnGmnE}lW;2nRdC9Db^ zv(xjK{plo;qpmqXIcQ;Ru;MRmhM{2;DTagjC}?7Ts;XMF{F7B#WBc!;EpP`a z5Co??EG*WZIyyQA1_q2CYo8IHP-}B@<=%U%ySs=VoSz%&>d>gRWOea|>rr4Db_$ET@d*3lIb8(uhV#44>X3hHn2f3I)<8E&Z^V;WZ5N58H{1l)J$Lj@39lKA5d_ z$*Ku=ao5>s(lXdhZa&``T?2`N^FRBo9T(1OzI&|!XU8>%?P_Kjl^J{m+I_v?y;o9P zjD3p+8rF|A4NXnOt=n(lX|Nk!R_*~U5^!MhTp!mQxv;Es2Wbvy-Lq1#7J6vv>9vc{ zQ=A{!XyhgYy176zP?%emsh&KBl24|D+ljy+1H$OHRB@jgnwd{{F;jidL1XKY1BK&b z)`sV(ao84_AaHZ|+fu-QrkE?WzVHi$tUN1__4gSH45g%`K;+e!h+DD9(UpN}x>(Bn z&utDpXtuNNO)`AMlV>Y7Z6JBk_K@#jZ||qPyT2Rb!$2i)62Y5z&OAxe)Kz46F#1*U zbc2>V;BaMc>foe}MhvlWi|NklXzdo-SL$T8366gH%TC( zQ~Ke9R?H4$av*W@=P#cqADVx^H=f>HBFP$T6*b&@VGvT7pc6Szm{; z%GNxMz@Q(bW;{2iBO@XPOl$Stxi#qO7aK|6v>x|^jHI)Qr)!h@yurAF{4Rgx#wC5-5 zZ3mM6=YRWR(ra@)wvP6Ez+jgjp*z9+ljoX~BQ?l#5Y#Q7Z(2mIv zG-rSRFjGX=boL-)=LZw@kZIYM`)$Pg=7)BByo;Kn{n3)KPH7V%J)@0JPYDt?e+YCf zlFpw09-d{%QnR!Dh3nwZb2v8J2DG;hc-k_&`UaIRDQwL9dx+xRj7i$mCv(!*GTih^QwZZ6x_R_8G+Tlu%* zK6F7|Bc>dz`JW)!E>#@yeZw_Kd{#yk#`uWsS( zba$Kko-2E}807Mx#>p>TY4Wq^EV?lH16}+e&wLtgy_Gw2)fE*4#&;y1t!M-5-KxUC zSS z4`v8nzqSy z7lb2Pn~*|XAtpFO)awRCR0Iye$(mxpEn#r{&>!h*>1%~ZLl+I zah<*w6%a@o=zGbEgwkOapYs8|+h2LXw^tF`1usk);PBz%iiQ6jA54+^i0d@Rm^l%S zafGL5RNF##w=!39dTJ^;E$u@zGlP{TGS>%zsD>;DB$+;Zz(v?SdIWOt_{hizgV*Y4 za6CqWp{0w9i?;SKnEfd$E4#b96A}?!LlrCDA-qjOve1L38hlAG6qC=m*Q-2m8&#*l z{-&n78V3uLCJuzYJhvC*WCS_bSy=-kFMOf{BK4x*}J%q;=TZ# zX9IaHZEd(ND>L&lSO%Tb8(GQ>C3xF1pH93aEVi&o9Ss0uu{zoXG!v**9+rUT*5{d@3B$<);a|bO74o##Od44Glhy zj_bMaPG5x*pRbLX-(DQcB$r7{mu{=uKn=$j;@ zY)b0wn%g6UgW^0qJR%|>8#OgO?F(+J|9s!~Va_Eg`lFvk&MwX<_6b8`HElF8x@ zyi7M8u}=uZ;^dbv(o4vinxy_;)`80i>qcOT3t&=NuCG|KJbY^c`qK6F&mns`JyA1v z#)ec;HP>KuSF!EMJP#yFuG+*7;KsLrKV(hcwiR$B$0N4C`JxJQ@huGvf@KD~>Wi<+ z;lz*0?$ktChJAwc zf+-n6$8jl7cFxC+(|{fPUIIfqSG-;yp70mp;nt|U$wP&EzYU_m((gAdXAlou67)2j!HR#`L_wTysz~^%yg(}rYVefQ2uanefG== zytW$kCRxO(y^Y-d)cg=w#{^liT<`L?jBT^x=dsT@uWeWhjmT>g-fZdHC854ygq%F<$jANNq{bF-FVT?yZhe zROX$_yqs~8d`g0b#pOB!$a1ksd%J;iXkKMf| z$Hor0xy{)#sq_cMQ^KxYI^bU6rSd~$;O$^&pvfeFin zW2(0|2u+2`&=1{Ilulemw4&IaEx$~*NN2r!SLg2I*XAJVrgwW<1SVhnA8yK!xgYv2 zGkFOF1O$k2p5dszd-ogtIo?XDBf7Y^7&0SXAG|}F&hOpwA?Dv}D=S6Z4{^+hpS{%Y zu1X=A44%ULC_Jh&*4byMV}Rx9Qu{AJ0pa@@LfLXf2yj1g~!zzV!T^1Isdo5iK zANYtc^vf+2dMQ6aN{0i#ugO9B0O*(H*M<#a{`Q2ofVF}(UJc7&HhIvk;Lhj1V!lk_`zQ)b5^0n$(tj3~>h5%wAaXBN@l zaIfW4D)obflwPp&3JLCu-{Xa)FbIXAj<$ue6UQ(%CPrML+A0*mxS}XtMM#nl(TfTp zDlA--)6m=;07IgnVFpU)FuLg3)!PemUd#w0f(lkObWKGCn5g|~@;jFD1WI0`xEzep z2}&J6(hI72`C5~ z@j09%z@N=YkBE@tRIG)eEI5s;s&=5PjiVL?4{%&Z7!Z>_`1E8f@F~jf+KaCcQoz6k zq8VHqz%nAF;o#%k+jni5>}3wXfzZU{f;t#WD;e7Z6J64R8NxLyPj+;nO!(A)xfY37ZMOqyM6gmq|8VtiU*d^2ecW#c@(>;?qX3%?ZOV<_^v4yt+R0{fbJAeL&xGyP6Nwv_D5Vjv49TnvmuMO!w5RAnP zq7xD#>lr-fog$SNY+zE@O;@^(94kJeJ^o2EtdrESt)U#GCH3~_DJz{8RlL5`^Xr|H zIDc^HZV^c5yoh-7J3>A1D<=8NflHSX^w||h%Bh3o%#fS86PaD#X+;CpPk4zIPk5ad z(t6J-0vs#P*9E87QJbF&N)$iaZwa#Wt02`lMxVBFihP%3mBL!d5H0Sal6wU&=juZwe|J8 zZZzi>s?ExQPr>`@K{7#yA23?mQA6i#sq>BZb{ucU|K{ z-}moBk$DH#=nofk=<}Mjic}R9U7tREAUuJ;g{jW=dF5`tUA0}Xkh+UIe!iMu4wPbD zHuu-5wP|TS-pUpqP{WAD!9!c95qyJBJiT%48Ss+#qc$6mQoQ3VSf$|fXnAaBYukzY z`y8k4wVufJXLuh_Htz0P=fz|Mna=h;K9o_to%$WCt@bVmqRQ&(Z`4F+dRyxIcSfYu z7FXn3Mpt@Q)GVTJ<6b#U{Lw|ajPWp*D6gsMZE@f+_}7!SJJ{O~m=|U_A0`4vo$s-u zqgXitp00mDvP0M?Ze`Hd{_pq-gBfmNoFy< zmzjd3q}n~j{bWF+I+$AN4q>GXSTDg`pm%3?_Yhov6Tol-Vq@beutVrIxoUeuDSh+D z4?Qw>S*PsJH8t()zdE|}y=jpL*(mhcYZ(9j>HZwXB8Q2NvJfIq^|BfbkO%s8AuR=T z=(WbX_n4BLcSgeVDFx0F-yd7N%sz%#C0Ti&(y~Dk0~JUyAKkGyFVj8L7g64(UEHhn zE|1dWsSp*&#!6(}>RAQIc&P8??T|@sWRO5z4eUlpg>heiraVJJL_zv(4(z=%M934a zpF=+jO9mTtB$~;QLL(A&g95oS3gT4Tut3Y>Y#4z?5FY4XBTv&P8PS)0o zOG`^2Yz!NhfZ!6xTR7`8GyTBx2XJ+W%jRG$B#4ak$3KXp68=-Vo*sOCH!?5sB>na4 z`~c#O_g51)15W;2XVMf%F#Do9G;7w}#GJgCd=^naIV3N7=MI*$7-0V5;?(pF-~$FB z9f>qzPVD;WE{<3{0FldxEq{OiEj~-4!HvbmJRSA~T5|I3gM;(&m9yh?!PlV#D=)Bz zXN;(qb_Fw~b| zsGF~OP{U}j;jd0&>Tpa83qFqP+|?^rf|Q-AEAB^_fU_0OgrA>Z3l?o74U%5A0*$u6 zUp>zk*y?!^1dq0%rh*z+bCRJlgjkuLiC0uqWtl*ihg|uJ_tW?YjGHRirZ=}f`Z48r z=025`$dcsY3A*7QbmNHY@B0e#uVyEQt+!wuurWb&6v_<}I4V4k;&!zP02sNfp~3UX zp62_KzP`hA+~?iePv52gUczy$OM+ovYd?!emYqt~AoDIFDmqBg0>{GlzCLoq@+9UM zpz6P?Cv%8o=eP@;w6qBCQBhLnc@`#$s#5L@^73hVt^MGPS461jJ-F7r*K2NP#)3-0 z#;kq&cs;qCdiH$JNBL{SYeLv`MO{Usv!z-zeg#Lkb`%L6U+R!Z<*kiHHP<&_<8fFZ zdEX96pkw)CwZ%g(`n{%hFQ`nd$XM z{Jw**<06Ub>F(Bu_<5fnHGBF~^x{5W<$R%s_)SD<@~o5C)h zi|;mm;!g8fyO=_T7CapVHpg z(2!aL(K$9on#B>_*OkaZFo+)+xCF^06zni$KW}lZ8obz{x4k>i7XdQICS2fBW97}j zOe*m6pxI}CkM{f<^CFSnjkWgO9~)KCIq9wQ_(7ERbgqk&KHxRw^=Ea}LAC4tpd@?Q3fr_RoR!DBhVXnFAk3OkDh8h>3_O5o9mY(~Zr{Vp~vuI}g?4*iH0aexQ}1rN}J zc_8Q>?3}U#V2YZmDohY2{`b$ppk&-VL6Ml8{F*UWf+B!RT;@&FBP015tl(n==>&cq zB!bd{Uk{)NobL(`4+lF%1EgVvl?L|8^3IV=&OJCSYQ#7>Z`L&C=E^W9!UEgd--p-H z68eNM4K$&lqyT6MAaNKs4-+hTGKPV&3@RAh=H(2>7FmQq4XLj`E&SNGVR?U$&C>&;olyy*K(P66N zu*IT{=d2zuGTl+P5R&F> z03^@R(GiRqzFE0hSXe;o2+WS*$=TX2LqrCu2MBSer>9H*?n&kr^ z@hdNwf{g5N>+oMU)kY#Rb&Vcp=qG|o2*8N6v{~8N+0fz!>I38rpg^HipygU$Q$vDv zwG3XA+cUcK#k~jNc=XLX>pyVuvq`zlPDI`Yf-&oVE(MDRdSYOOd-(TnSZFAy`4jMC zeArxHUxyh-5@O=O@9;R8um-@-l%>aAl@hOEdxf5ME1{*KOks^fA#=ZH{Dn-;+=%sm zF9=x7OVmfb5{8M)w6vELbFh>;VySz;3ixEPBTnVcE9kWHX`D0GFH&gsZ9c|AQ;2Yf zwI*D{0+Di!XBIpUYFf*Mmo#r)ruRQxz5Rf>@uqS>^T+G-@A_p?Ozy7ut83g~S97!= zSHs5H-G6$@*45=z89u(gocTN5-4jxHfP?MRGcs-6Rs_v{o=~p zuR}wxb~v57*osC#;ppK$embg=Xryuqo;s-Z3#KF|>swgNfpeAsOeun_@x|jjJjB8j zg_aI<*g-2rOKZp(vvUiq1lY$vJ5Jm;AqE#NsgS=UFL+&cu58}M!2%cDdnyjUAA_FH z<;$1BBdW%26$Onu5KPki3r9j*6zTOBG7#NY^(@n0DHnjvO-dLzby|c+!BKL~5nYiieA7 zX%{+<@a$N5Ut}({LA(NkvAX(to*%9Cis}XTMStspA$K?Bw0`%#C{@e(XYtP&LlcAb zo?B)KArYnD-V56;NVquK>)1L}U;Fn(P%7OlB4VmeOe6}EaDy z@b0Pq0UFa7ffOmx>k3hRe%(8S2^-*Ym;*PhW6Y31_YnqeZyTm)E!cgTn0O9-Zpf+E z7u6nV{k~51ez&f=h<q%{^O_;Rgq0p>sK_z z-4LE%-p1+S;T>()Np;2t8>>Inc;CQuYG?iTHjN)X?C%nS66%uf@fgpQ(YwfzUxmUtl#TM4f$XHh$y!Ot$$82ET6KJCm6%zo zhJOsJY@zj{;jIxpqid_o*)Y-8jz8|V{CW9_2>wDTZ3EfD)>gpA&XZZxsk6c~9#*VG z=%WE}5vs2%ZB7d46UcoAuC+4xzin<+O!SFDn1Zx1fp0qzCwTFsKTDF9>RkL1DQU7C zmeg~dw}%WfOfI*p;k64-m}+VU<-N_ydgw7IMXFq_Swth@o8tC|=VcldmXe}k_Upo% z+2F&GWANZA|4nWyr_NV4q*2lZK_3j56Y1-^RV@|R*`MD#V8gKvaZZCm?5Iz<8^w+Oe z&|p2ZJ`KdEJc67VRE0E6L-s)5D_1)ErZ`K(yd`AbNNiKqK{%~swpA;mML zsh3;t7A%?6JBYGRwqn(I9DGMruq!rYcndUqYSJkYoi`m zz{7Nbn~(k4qsg$ZV*g12alu=<^8#M;@tJa*=I^uAQ3UyZB4eTx$F ziq`$TPUBPfp>)bkYLj%^)eTK#)*eYWjUyuSQ1Y5sLkG>meot+Hh{nurS-a$Uda@e> zj$m-?!0_T3S*~DKxE6bSe)Oi}KQ?N+iT5VQ#Vs|@kHyf7goVSarHv;qIxbEP z3l0KA=v#ln>bA{1mb3uUzaaxVkxd=i=`B~4$g`S{7I3P3g!XrE`vdB7S_js6k~YZQ zxHm1PaQy634g(_6vzq<)Uea^Fm8@kB#4d1ja)R}H8}|jwxcg{nDgOMJ%w6#OIYUAx zAWKVg@kvSYt3{pe9?u7(Po`(HUS&kHJc!GV!}g#R+h<|in%THon#JYBS|XJ0UHwRD zBva6ws%`zu;-{p*M!lw%nYo_ZzSO?%v^wK%jwL32>EHFN{;SwzTDpeh`1n96G&j|i zW0T$o4A$;p)lIrr`tkW%Cy8zZ!k1ybA8zsfW8-ym{Kq zHshAP+fhi$rel)s%fzG3Yoh&)nObd>%?i&<4RxBDMT`QGw{Gs$|a&JUyHT<-EC45f8`q#nw09sQ?HhE|MiH zKcvt=E5^#k1-UUx1M3*KSzQZ!@XSBY=}NN-O^8&wL}>PtXcT6U6nVo&$a!h*eY@KC zT)MLBO-!6(aVLe*sEnsA&WJY?Sq%Or8oj-PTb;^xJYO%g*76ccMLZgne0Dl6*OfWt zsj8;-bHlyTXKk4iuy5AE{euIS`bjtd4Rv&E?CccOJKrpUZYBtFG%cESyy?*gBC&d^ zjLk|Cxv3c+9b_~>Wc0efi-WWskNL()j0>;LT(5_?tb@)=^YMe{KPN6v=#!Qn&G(Vk zkH>Ts)~a-`5e*r=sYri{=dg?(;f`<8O!ZOlzZFwIo7Z}7-8^lTt5_uzi|Lmb#h2_P zE3HOs{{V-yLYg%9a*)?Np`H}6>X+Dv&-cmn@uw}SN}Uy`@a?a~3|ZMuD|v{D-fBos zO-6-J)Td--GWqaM^r}|g+Npj>Nwfd_T%%9nnJ)BviAOnqWhwt$969=aaQm76tgzqt zgR{qmYgVT}A8vDC+$I-qbTr7p%kUR={UtblPw$J8mCIqc4As0$`d#0JZI*M)@^uQN zu#T}YN3~9~uDBRq^q0aXBeqrKH|2erPEQYJ?C@w$7D52D4*3!&;=eJ;KhxP%ww{G> z`o6aiMQUn7y2&6a@ppM3=4)nrJpM~(bbID(aO}6d^H|XnYUDKS2|BUmr8^?;s{BFJ z+R{{3c&_n}tM3(#>YFi6wlWWw7vchLsmyjN{0{m#p?oUG8|SucY`%yef0IL}Y9}$| zy?HzB8QxU8Ybct7|_j?35C7vbw|$!srM zJK^}fvy%>~bcb3F(fs@`Z)ARq7m|}Cs?U}Y`HZ0HD`8~yAOn(7T2@f$IuEjlcT6*S zGo1VEAZ;vwX-M#kqR7ktdpi-%uSl#A9UUE@_ey|5MxdD=)6080Iu^HC(Zj_C)rMrE zokPCF!<)E`u&(uXu?&$zBv#|+P1)QBq~=AgD6>J?Yh=y|T%tlxMg}v8x>D_0R zm*va;y?T0|ZF=83sRN|8;K(!-J>caF?JfX(P#|-Yoh|j#NLDZawSVq}LLAqpkbURo z*(Q`QKqQx>^-M=ylAH;;sYt*sU)yFi@##sjH!dEG;_n`;xW+ujmr*+BBg#@4lh zkhsqEHy20fA-*g!ejosNYOSrUWYfrJ9HOGe)#Py<+FDw{;-DG}wH@oaz}HWBNaGC2 zFAeAGp0lOl&UD7@ZjUaRTqX%y&7In?lfTq*Npz5!-wLq>VtqhRa1ePq6Fh?1X;ub~ zz7^Hguj>K6{NCHUdvIV}qG$VB?J@BtwCHkK0G*(wq$DZ@zZ54YsBXzXU-eUMZ4?!7 zCI_Ko*nbNT@BaR6y=a5a>?pBGecHcc`VGnR9^8Kp0TubAZi1ju`vKtb7I^2q1T`G;PVMmT-<9!t!h^W#t*>zQu^&GKBA)x8h;pc~oi&8C76B^dsZ zLH!I`C9XnJg~gKN;jJepjePgnC78bgxRAIg^zR4Q1|}CPk~`f-aC^>uAtXY+e8$=s zxmlQ?jC@91UQ$~6!-sTIIn^24%b>b-_$EWh-woZ+Q)f%@TXn@5SWhsxk*G7KT+x@r z^9UI47){qK)J)(OOA1-w_mIs5> zM8!9y15X*o8$8Q;ej2fm&Fg9MRsg~G^!fTY&t6W1v(_CIMZx@w{iq-0JpJp}FX7mp z&Q1eQ-=Df8s?*@Y1=Su8bQ`+Cm=CGs681yw;M=!Ql(S%}Y8~9z{aQ$wz#^AF%}6m~Y+Sz6LB=l-p-&v|$3+XQW8P-R{baBZZL z^ru>cmj33ZGl}v(^(Z&{aX{kji&)dikvC{BkPaH77_n*JGivElgVM*=0PKT={E;&- zN#Q*Mk5%uZu5jyf(E)j?yWQ&mJVC%ITmc{tiUHgN4t92jCr>KED=K(ulnYm+$Zm8y zF9I?NOmjfuSr<|YPhwX|b-g?j1QMJjSq@)k1hf+2ZbPhD^E95xvNwKWO!9B|xtuW9 zAzJ=LkMs}j6&`4m$X#ty^xLR0xC?D=vbiSU0Vh!6GEs62^j*gfag_zTEsHS?S0WT4 zeOaKuP#wS`rKRfPsKYmD|Nri$(APV*u?GDwQmSq1xQ<0vp}8#35p~OuSpq0CXS22H z-McXOrninAdKr!{-kh0!VPAnU*1i5<{F~T`7VE$C>W*^DBg#?dQ5iF8VfTE1df}XFXh?_6OQ2edlc=97>g7y^e4!@iD#?wL9U(Z# zN%9A`nFuCpLi{V6o3r2-kwYcZsZouOj`uY(>k-cA?}2RIDNuYS){XRbv>f2sCUDz^PU$b4JKYIVmY`_k@~3pttHDdq7K}M`M${DyGp@j z5O=O#dpcys3S+MYLDQ}*Jx{__DCAAk4O z;K&4=faO0YdnYJ@#sXgzc1l*i0%DEfB3Q-i!%aZ|hyLo%i!Xf z0f6TPcS{#L(Ur?s~y+3RB@lQv=8<{h*)9oxtnzMFyZ#7!uLN`6~Lq zfOYoJ@jesNm0!`rE5z70_J}Ptl{C{1V5S6&JXe+{5Wnpq@=?DbjWR0H+yC+PMQDRe ze_~pigFrepUiiH~pq}RLUb!Bi%Kq=|V3YtY=G{BMKX`M{^2>P+J+{nv;m{5M@Epi_ z=T+u4Ji0b^RL$3%UX!+AnbTR3BxBA*QPg(czVbR5^Q$h2oHW+Rw)+)nf|n7WxGouX z+ZS}IgfJBN@=!dTa;TgvnymsHwJL$j3wayR@f;wHHp`kFkQRIkuDv7V`FVhxoE!A;-y309V1jwvV z&tNTmB`Ttc9C7yAhd$_#HmoNU3KgpHSAMq$_&Y#IlUGofUkfw2-eJ(}@8{%HvML#@ zr6|~qBW)&36|0smaLHUF4uO8hmbc~(b4-!I1?n=;7{cNduP&CtqR#4OUSfHzp2nYP zSh%=UkS`~Q^A^v{4MMxg@1X(}jR^f>gG+9ily1SL7-rXL;;u>X3t2QR_s<15ewDQv0@tgfm{{p)TTIii?Rxi^BB=>R{ zt?l_7FiiHBnD%f#!${?aJXD>Wgfr2Hr+ zSeTc0*}{-&08r5`JLcCGXlwe~9IDo!WYF>Kt`ZZPoWs^O;s5#@y>~&`~BKNbLxvi^s%;X}7#OJLuWyZVy z9zL7Kyq{eQ+>zxFx-y{~^V~K?c&O|8@GJ+|?=UkP`QfXjstMAq*^sfw<o%XKQyf^(h~2WJAD%xGzAbQW($UB~YQ-lU z5~sCcKr!4fBImxB|Kgx{W!Z39`EfQQiwo5opVc8w`8y@p9o3tn?05dTxI%4)B>nN{ zyQcj|OhJM{ondj0K9|{!rD~f>jwbTnVD#u0m>}7G`|^8+D!Xl=p83brfYU3_Z^Mct zC$G2ZdIe4S{3*gz`C3BBV8J}2-j(lqHfG_@>Av-Km!H{D$djk+Qa{S9-zAZuY}vTU zjU!XF%d`X{Bpfvj5Zvwy%oGj0cNr3f({`XU0{^>y*%+PSf zqaopce-C{Jh@pTnKY7A2tc@dT zNZTB1EQP&Ga>DQ_i?!;?^G^ZiXVCkEV+2q$xQ|Xp#*0?#8g}KCaCh_2~=sxG^+jwpbY#D`6=h`V#ef@BF+}bN7 zIZ1PB_waKxxEp!%j4{Roh)%N=11w~lJ-$72cu$z5f_Jg9WrzKC(V7=a=l@yW&o}nF zO7*Y5e3nFP?2x*8v8?&-tY%8F>bdw`RL;;i`RQKot|8woiS+Hj| z9f+MOI~vS>Fj8O~t?1mxQ*s=Odu?SHIMHH|V=S~qo##Zqevat*z|rN;trF7CeXa4D ztbp&`9_=Ez+WeUPxTELnccsk)3*D{c?9`cW^I~pv-+Z9>_o85IhMBWw){sXODEB(H zM)FZBbj$!MBCxWe&b^Na)lNPh%osQM9sy638#0Wu^$AG2pq{X6-dIx??54OE& z%t`HFG1$cY@yj*3S%wPPHBbtY+fZo4@+s=0yTPL3?&Y zFIaPJ!Jo^xCR!HShMg47zjveFi*Wqs+mU7k#4@X^sI0B66NqI1M;+e=(Y_F4>Q8az{m)g!bAS7g@pr&y4osxmU0L#14rsCq*%FK zFKmiUA|Y^SXdos14)LAp;2tl*8_1#&lcIFGh%>t@Ad!5Aa`E>$UzE(f$$#-7d?-3{ z6p$@`eLtJqESo(?-=fWpsftASkf-;xdle9{tfjkQ_x<^^G8>b;MEZAPL0?M=S#{wjHC<#5Wy0}Mn5uU6=H|;NX-bZRKciJEg zxz~t?J?00*1#59RkucH=`87-}55jO4?5(Pm{lQ3;FvNY8klzCMNK0DD*JfOI@h$1r z4jtCa+wZBb(0th7?{#>FI%~>Uh$;O!#F9Q5)b)0WR{FeUM?YR4+~seyR@c@Z?C&!` zobW|HyIPs8CVV6MT8#iMW}BWF^S#`b&>WgOB8X;&>}`(1lF<3+TX)yuc0aO-=%dLrhpW628?F^zu`0ycH6Rrd_dTc1s&m zB66eyrQ=2#ZO@IRbxD3kPk&yS;L>%OnD6c!{j(W8J+#trm(jETb;iRZpP%Gcj`>U# z8zu9~hZvAb^~A?I6^ohJC>fpUK->>A`gQfNRo_kZ4C%ZSe0D!t`#fG-AoMrIl|5N-I7Q+N>;(s1$oe z@>iEO!qyg6Y~PPVr?%|` z3*SmC!YUOI%N5^>y=Nu}Ssn@IJF-Y{ZO1OM34e=Wd#?6v?T>nCkBibgD(%&|-@?*Y zUZpn4r4wpP{NG2!W6zJdzBJ5MY;ERGJ8}CZyO*IW&5mbix4E{SuG`7!pNwk`av!q9 zDtBMSrn*}CyA-)lNVAk-B>vjySi2)fb0++YKDC0^`}<>Bakw6F1;_wr22@#2s5}J| z>5}fFM+H--0sB37Yl=8x7N1MY;^foO$J1>SPUYa;OJi6U(w13wypkcrOgZrdf69=V zo>^Ungb?$K+xROC_G=GV?lsDozOI-%hM%5knSLJ+H<{PgS1;NauI3NtqSrV5G15yn_MPX)57SYarqZHY_4C;7 zi^1=XnBCVn+mVcA%T%WMCC{e2g!ctyJa>(rxf#lT`3zetY#+)ID2eYxI_Ih2Y{(95 z+pXS#ED=q9UN_~WlNg>x681pER5 zNRv`1$ZoHE=M%bJN2FBybzRQBYDJIu7MpU|Yo=C*k-EpohhS>F-q=xR%Df}6+DgPycir9gFC;cnopNPLv=!i)NuI8at3 zr9LI_#&o5>=HYOXVl9dHfh8A8XVE!jjPLs*;ui*rQ|FkuD??FW9ziSWp&IYpM#Ex_ z>nbJMe>2Om+Pc8FzP~lc`0+kF=P3i?)<*-At2gYEV_vMGOpx=#q0>?6An`88DQ%U1-Cx^Uiyd{kD@MO@{k)Nl5c{~Qo3 zSG#vtCjA}d*ZP}Q_1vQIz5FfwPLB~!R!bSGD`u#(eJ;H>zTVZyZ}ZPhyxnZ{8j7K! zL|qC;&u|BAVoVaF-e^K z^3}fD)%a#W?M^L2foNj)64#aFCr3UY>sWJ5Un7R(h%_^ z&1D4#CHqI25QWXMcsGxOqo4B@O1Vn^@roT>22YHBvdteVa?_zS$OLG4U0Vc~SaT zGPUi9*FSyB8EshpsBra}c@A8;yM{YiyJbE7#oe;QgLm=!hMZ}%IqNF80C@Ve+#49? z62A7GjdFm7><2Yjj^qQH0!Ql6H{m93M&>+Wj_Cta%sg2NHCbc&N5Q3UyG!;M$4q-m z8mRufnQl#4vvXgw3vo{Ab4q*QT>o~;n-R?@=s}e_>-KtEW*|1bzT>QN@h~?Uq3x*9 zqh*DTwKHT$${#2>c~DeW(iu?AZcgm6AElQ`yj8QhZ}1GeT_AHlKKs)<@4gv5%dID) zDG7UbMR#rAmvgH75iDy>Z~PtNQksc7l8T#IO|Y2?^hHE{<&2=j{T<5$n%`H-5wsu3 zyj@+fer;o|8X}!7}}& z!yhIjv8Sp3$qle#@Kq6hW>h53W_sbAE6XA0 zBZz&=^JarOnx8JI_Gp4~7E|FZ2u!^WYCA3?6xET}oGFp@G^VgxT=I6DP(?7h#FqU_T;9vO69 z8B7|?p$)cH+LtT-X>MS{;Yzzn@ zCYc)-_zK{V!HCvIvofI9J!DjlhD{QQKm8F9M;NexQ8Jk2+Fq%dxJcOn=Y#&hXW2-C zoOD)#U>{v`^INIDHa1I8xlkd+Y5Ln^C`Cm?UiqD7xe-8Mrmxcn)+!tq5?L<({%;=$ zV!5LyyPA&soBs1507M=f9Q1$x4%l?^15cQxytZ^dVnFRR&X>>7V4$R;Y6L6^+9g7W z_XPz^#|x6A|J*p@{(+YmC_WgOnA}0I$c4gN!r26*w`6JqOnS1?(;5Hw(>Hy#A^RJ9 z-XMT;4W*P2jo=m@iavW(QRc{b9AoL<5d2k7{z*KQ%AgZ*P@!bRWLSUz+xr+BQwO*p zl--cLfI1KqIu7~A+gr^ciGD9rUgsh@?nENOe`sX0q_|j!)*0_27In4EUCV$i4w@e0 zkVpqAD0@;E6PP}ZT)Q&g#zLeZ_};xyV3n4}%=Z9w4*wcApZu9yjQd3^&Vc9{xXp9d zI!ClzFD!%L))$}++_0^haIU>Pr#V2q#}xNsGlE361WWhqIGk2yBFb}f_xa~vrDlE` zRsC9ln=LK0s@*cg8bwLBa|W?ICLSaP8RghLkHe)38*Vr3xzbOvV&>I%Jz zZ8h!fPr01^Zf$P<>)_~}_I8Vs%xiCZQDN5q_(#9w`C{V3b}o~av3_wcjHvU2DVN;GA%3-ey>I@K$`Cr){(d0N{tS*=4>v<^Zhn;-uiiH1%Xl5Wy5~=ZZuQsFfTB~rGT&tzM;bopL*{{wG9mpT2@U2x=CkP=ldK^ z*I$o{x))fi(to~}={dJn|75J4+a&PI6Q~5sIx22S%{-WuY?HubNk&ONi^=RYx2 zExymNN8r0)7iG&$^)O+E)8LX%L+IJz=wRc#85=RKlsoiuK_(^kvu7EIundGpGoG5Nm-^d$JBu6DO=o*!zl$v%o#|r` zwd3Dv;d`IKuVHd`+~?}moci;fDDFAM^11o1|)$F>Z`gvzxB?;oV+DhzttaxoxV z*O?NW&8~2vJ{Ebp%rrh<`%wZDjcHycXzWrSIdpr6+xw~iL*82e#nG*QgHap;1PB(~ zZE%<1?hxF9Ll|t(UDb{~2ikDFv$L$lR6fuGaSgF7dw+gs1Gbhdw2D_nV$ zKKM`@27@oAyCr72ZTgBkOHX~YZ<*AC`P#24zd7}dd8h^C+KEJ=>eW+yRs)W&$rJEt{;aJToDks>`qa7%cNXy78(wH{V4c-NAcThy!gi@)F>KTP{>Hsn!eWzw!-SK z9=DZKg?I|zxt*hOR~ppy*W!7`l3`1wh>>GES$wV8K<6eekLK<^0t50Tg1pS_u~E_+!|+yvXW-kB~nzVtks;SpHJ z|Mckr>xTtrud4K#i`Ln?k7*DA_pDkBJtCh>)8#<%(Yc1H1$P)AjJ)lsnkOstuKNDD z+5<2BgX|eHb>@5B4IH0T0>RJI_bhpsoE!?TCD5-ZfyF)|%a|s{3tOghb3=h07BO4S z*f7qSyP8#kenp2dFJ- z0{@{G>wW$Gord$^Ny^L116pll5kee$4I*pD0K=0`I|9rhr@$BmSdMQwlS^QLBmmHb z%g%MPjR5itkk){OeXe>m7rIVWE8QWY$EaIv2NJxXd4abl2^YWT&-Yelg1Jzh}yH=={7SL2#W)?yL zxQfm==53((@W$Bq>Ue|Aeo4%z5{QFzO8X;xlt3v{H*Iwcam4f%aATB1>;S$|ViFQ) z1e{^(R7s2@qlYU!EADeZkg5chsigeP9R^B_P4)F2qXp_;M878|Cc?k^NUeZtLpW#N z9Y=fa(d-JkH?pmC+6W*716592uNUCf{ft^T^q*g3<>n%nKfNUZID9~$s*OU_$652W zmtj@_Sllz2nEQ_eXA@~9uw%!L8^GjiUvXKfSGVtqKQ`S0ic4RdGDw#s%+v(L*L{m? zO?z;RJn}#pq$vJub5s`B`FwvdI5_wtyHBZbrRz&}T?4jg~kW^b6&iw{+B>(ul zkzS%Q=2TXmf|3cixra0T2eD%~gX`#w4h3IHPfF*v{%HYV)~gveKwu~hOOD1oFX&@nsQ1>&SpoH@Hd zJwvXqwY1!<_k$=XpH>eyBBZb|J{FK0cktL_i>?|g)(aJW=^G*}10G4BFCzNN0~O#( z$|;BS)YYAS|BPN;H8a=<0P-x#73&s2#8Wf?MOs#NxV3#uHi2PdYY1pQ-gjc*_`z#t zG(v7Wp#51|q+6rn{G%3#6_B%!0gt3d?yaTOFLgWH+P?T&&p+y0-}u12=$?fA(Y z;+V%j`g!ky=0f6M+X_!UK0IN!307?@Af~t_@0QU^@9A1q27-Y@L}l zG1#)VcyOV|OtJ!rNnI#;Z_L>V8LHri5at9QN5$u_>}hCS{LK>`H@p;?Mql_?RpHL! z_U$2D)xMPj19&$%Lm-fU87R zuNgfpEom*I^8Whirmsdzgq$zFzR<=gEovmh`l3~Crtb6b*QP?Rm3eM0=7EjSz!!3J=E)@y7VQ}SWP66X7FMC5jF>3B7v-+Sm-j{XM{;Oo(i|?#%Pv7g1VzVpu=XBLF zO4t;_3#MPSE|8qBU+1s(Ac;FAP5PH7@huiZEcD(y5D{y{BCfZG-q6Px6;4O z{r1yZB`*}YZX4X4P;h|Vd7bq*jzI0+44%))SDnX$vzwbCC}FJ#3;tC?9ux3e0`KT5 z&Y9D{;SYQbzvv*SgfvQB?o9PEFXlF2gQztKJS$wkD3yM z;O#zI92m9!LV4%unaXKy^edSQzB}_L&<_$IHtxSV%luYcJXdtaz3O|Ba)wAYt57Lk z>c=`OtPr+-8dsdS{j(K)7eBxlHEeERc8V8&3si!>c{gQAf_kK7sX_g@MqnlibR2ks zMFc-a+Pb*{l)m41P5!BCYiZQRz`Rb^i?zvnezNG<%S~<*=In(--)A^W79xJOjnWes za#)jtYJ4pt7(7#5N$^*8hkyiPpvd2yN5jk_J0`u`POB>f~{#Q8dI{U&L z)m9j0I8fP-YUeZ-Fyrfvys-I`tsjwuT`bJ*qCie_@MH@j;D$-*jm7VYpWfTMIPqj= zz?|hK!#I^Y+K8|`-;!3!P|(F3^VS^GDT=Q6^162csy3&pD+HzxKbt6dL_^1a5%X449megP5 zm^krz(YnI6mKfi(Eca+PMnTS?Yp|_7))yQSV?!?kq#TzvfZPQtd94A()9BrZfUW!~ zdM77$T?8tqsgA~;Gj9^Xb{R|sm7FHSKDMSFg=TiCKgteslMe9rg@opzRhhrQTn5GyESowoRuyfr@Q;EMF>@R~BXEN#$ z59sWzBv}%<1lN7k1;q4_(7S$ULtPFwoFQSV_y>^yl#rk4hoAQkBL)b7X)dy_h3E8K*E&XFc^E$@379G-dNv%Je$Jbbo9ADTB>d9q;?ki zA{Z^5()mNn7lqs_I$v6xY&}9%8Z4l3habLreLZ8sdQUwgM2qZvj_@Qa(oQX<*X#hn zh~x&TACn0>=1H-imZOsI${*2u&<`gCLy)(^a|5b#9?IU(G~8@{Jg9;{9J99$>DR*G0%B7 zS6AlbULjNF_Kb>9V~}Fe{tAT3F)in3W)@Z=bsj__5hbhStCfrc_;%AgF4{EN% z&Lof#**XDKX{+zrCF8iTx><=#<*%=S#wlA8%9bFJ+a)vllpXwwidpC#wM0rV)g>o;JJgS^?z%}d_{*BNNlfy1j?urY}y zS9IS0mG4uXvp=#vKn?@!ZsAmuD?@*eUr4ANn&CUGG5ZH<7xd!7L-4Z#yzl$^-6mjr z`0JxT-oJ8Kxp(mUFMJFn9gN)mYDgd^swQS?Y-?f)kutS3w*U@cD!wM${+kft` z!t(!+!wU5u4l57Z9&-Nw%3a@8qBCRsP9c<)6$|{>fYApR85>$yw$9bI18t zrXYVGOC_)^ZoZ*dbX$qAROwPC^DWNDy)UECWz86GWB^86 zg&ggrWWQu9!SfKM-_zFqY54~q3e)_&xONlgsmw>35)^whzL~uF8OSwhI&uhMa2fUW zOGvxC9epOW-`htbDcQNOumD7c=9us&`Fe{B<6OuZDEZC-i3#u#$(GZ%x9=sgTIRcr zwKH#)+e7C&I+ry}I@8Zc(rpR7ko=aas!Zs`)_2yffm zu426gs|NUun^XJOuK|>uz&ly95B%67C zLxTW6zf4Fd_9=Opl=(LuK=7WRaL9nw7U_6<-vtckno3StSX)9P5T3ojzr1E7tmP<} ziTHB4PZiY#Df-lOaL5-5Ei)>tyrIlp(7Y}_A{u-apQ%>*Sn(WDr^x(t-;`^~Szin~ z`)zIeqrr^oKH<0Rjv@|?!%(_2bB%I!IeEz(INh>o8oGR3{3GV0eQ63+IW;ed9>9Ka zj<%DlQCB1ua{mQBovo@lU@mNjJ_%-=TUJ|g@)%RO-d9*rWp&hwDL@E?5HKMO5mWH1 zxoq};Q1!$)&_a9OsmPuJePBOy!yKFt+qY!9vbHimG9R}q@7&+#oAQmmo*gjpkq(hf za*vY&M62}CUSi#{my{xXuKz%{wojd5B&AtYa{ZFd1MY*WnM<&1D|E8yNVnx^;b$k$ zMW@)~xZED-<0eD&jXmF9#%se#^9m2;9)DwAhht^1MDzGzUwWGq0QXxd+A~do3+Q;{ ztL9|oWJ%=$8O(G}xYS=Xu-*B(PKN3$uzbDFcqM9h@A+aRL>3Ce@kS<2E*mzT<>lew z(5pY+;hK+&PXOrkZiR1OoeyFa&2aq%y^#Z*}3Tp7J#X1P6ctypV8)RHLcPNZsw;105?v6F+BC7!AA47BA&yVh@VZpbUOX!Sz` z{GFM559F@)OsRc+`c^R1@@BIGWE^!+MzV=mZpi2WJtp0pjP;W;ycCZbV zv-7&+6%K;jKBg!`P-Qs{&u-nblqn<^F|qgRQ4^I1mWCl_qfSrz&-rz6?ljcW&sj|+ z%7=Re0nK66aoLjg*0_r1- z0)_S+3$4TCF+KQ31)*!~?_NW8Gu+2c(~zU+SAGSml-bzU&jqhGhT!wu@=js{mOIjy z*Ds_c{BtMSFK6WM#KQ<#1QKuw} zqfkjB#d^2<7#Sm-A{rg@{-c$b2MXbUbpUdiE2{`V$qBeml>y~biOd#;udfTy9deeE zs!H@5+(Ch1He?&x(?`M|ot6d`jfpvmX%XI*6QxFg!hxee3XVxi0Z4Zs^9)p@0I2&H zX079zf`-O8$dm(A>+h8nAVE%&g)P#@kPh^JLLwq6nSH)e8wr8cC2&L_Vl$JAJa0>e zN2{`#UIkpeMJ&)`Op!N$R{$hQfT}9EqsS}8jEQsOi0v^xv=WKQhuNECZQW@l(Tk76`40XMzs>>n{9xAQF_4&bL zIFu-8syw_ZPy_iDff6JRLg<9*5%NLZ6ev~BP2Q?tI5u6KYz3@oZ*Z#uK?uP!M? zrR_YL6cFM8mKrt*N@9>QV2%t}5S{Jqz=Q*Eczv@;{RuWf2MkzPE?3=KstpO~HwUDA?y(rp~)t@)`+XUR{G%>SUCW=34l6oRAb zC*sQc`xpdVqz)ikMj-}35EIxqn10(R72{uZ0+-V8K)gO^jlO|5$wm_C{du^M81~kD z9wA3RcgslZV&xJm9pIUzrKP_`0rk3hfbtD_lPtarYEW6x5Q30WAi+yTMHPY15khL4 z{`^)2k8n(KQdddoODUxm`GhVIm;~-L4z*e$2i$pnz%D=;m!?i#iI{q%b_P9tM@CBO zftdAJ(L+fZrRaxR=x?s;-HxIPqI~zAsBo3dTfaWS$P)+hi&1-6DX=spFysMek1s*u zErvYlt|}u{KZ8Mel~s2A`r?R%70@fovx*twcoBA{2AxK-;Z)6|r=n4&hu@4Bj9Re# zien;$x3THOsy4jk4Rm5^QSW$@X<@84GsRw5B1_{35qnafDGc<;x66_9(K$$$o?BuN zTYSI}`(hUl$4ESvhXN$Hut7HlfY>Bh!~(}5z`F>SAorxv5&>|6y*C5fljXgb_(Vhz zipnE9KeM`_*duj*GL)1fQsVCtPkyVYe@!6$^^M*?^D!g2bpU1cC@&REtBrKArYZZw-{rYyJP}A#qdRA&IBf8b~hZXMaA_qQO;|c|6aIr6AOMxR|Uvf(H zG%kirS%`bIQjARyf_i+AQjC;XUICc2iv1acFfj_~?gLPel6o)#Ww4lEfs7c9G{rx} zEesjV;QwjUd=12}qf<^&I@ayzKUj@;8?axjPlF?5&ylN@AR8NQI@J?D8# z<)0yZXW|mGh`isg`?qeJ68pLs<5&4OHQzJ$M_phwM!(uLI^GzYpS-Q!T}sgO)C2KT zrNk=`e~`7zj70WT&=&qBsH*E4C-e4m69q$nO$jFPD~iT8=MOLQ=}?_hR?YaFgWh4T z$w-krL8Gx38H;+=jexkA5UMQsoUB0ii_vtVI*krB%K)dPsf}d5L=~(#E1@;;`TC56@CQRMR}T9hd8a6g4S6jh}QW`nU%d?Gu^ z>9G=LuL${CQh^ZAL1kzmL;0Q~j^Nn^!iW3;nUA`IQTUe1uI?2>D9YH(?AbAKOfO=( zl`YpnT@8$_v>^_{OL)v!B4XL;03`*O!9eifikKqxp(v@C8vf?lRhp3Zt$|d^;{cJM zJoY%t=ElG_AwwF!Aa~KGtA3YP_4f@&2rhS;nx5K0=WBQ9T)rAK36hg%aw-9t@|sKY z59#P+o2WPAM{7Q9B|_(hAXJyLu^E8r@Nrix;Nf7scu{iu?Jv8$Lu^se)O20x#%})# z+?g(JymBgmKpH@9#2T114grfnMxDx1{r*0Q+UF?#=*qV1TzBViQBsPE-uqSXAvz~c zC-=OAMz6zL$Xu0{%{AFke1tx(=lQ~7>pNs%?i3EA#zi8{m>bAdOnroDJzm^!w{~^y z^a=NN{MRozOH+Uk8WOl}UoIh%toic@8U|j7Qdn46K)G*${#Rm$!P|+_#o;=a;H&J} zb(cTS?&^o6Puu84Avm9UyW3W3V$bXG{=37%b^}%e{3dlE2B*R7y0@F_a=UM&YE0fl zv$Hh5_}7i!Y#=`{heG?HRR9K1q*KKtBy?x7r|fmp7wA&ptj=%xf zYWQSbv(nf=|L*MLC3y#w@DgOh^@5BcrKb72tNGjAU25+~OEN=NH2Mmr;gIRz5M)i` zUwcc*OTHFUq$NLdxdj|IIoJ61}S2^Y3o&5aS={L4xr+dW>sTV*`|8Q&WJ}#{M!HN zukdQ88qkef&ee}1sQwgGi0oL0KM-&~sodYd?08l#qvAP;i_o%narW+?Le!RiSTY@c zKdj%iW^A#mCD_i6BlBO08-5v#pUd~40!@%t7w*YOWm10 zxb#T&&G#wgar5xZjopwp0_MV5`-n!WAuswpuHM4<# zdbm+@ElL)+cJ#~u{*NnF+dKC@)^zWe^Ajh3JtNpwia-!q*tmBV{jPZ2F{#WI%oKN} zlk&KD+5Jq1_YCo2{};c;rMMP8lYLY?&sN0HTIIy?Zif*EPZ(JmIO;I>T=>=h!|%HpJ^Y!DnujELmX?TT18(Ia_cdV!J7y z5f!@c(`(bbOjYTAS6p87b|nFGnj_UUbsL&?Jel@iN~%ZfL(kbpW_Yb54D+<0G|0F} zh&>^wy=5-zc1xCdeH=c=aRdd0xFc@xCv&P2YOmZx6(PnJ9Ir(mF9&`4meO1uY#%H6 zJ>4umpi-~A!k}lR1?BsI&{I)T00K$Z@^5+3Ina!Rs$P_yFvfGFuiNj|%_RZoVXRs_q$`zrmCAA1PYbKT(iiP~T8;ln)g?NRy}}+d{SDd* zf!`Qca*3?yWwqC(w{>vSbFzn$Ds#kr6n!d6uYlj+3nwm$ClHLkDO5N% z@F3G%sxV#I+M*l3yQ^(XSWbkZxFS?GP%9WIFN^26`CBBFsC=IlLB`B_zJ5x3ivD5pZ?i|Mry-5}XsfN=%K{xyI&Q7oLZ%1L4ur%5wDOE( z|BNVPc76D`?YN>N;aUV8Pw}bW)`ip_o7X|YJE_%4T7p)h%>C$Zi1#ySmy zn>p6okn`?KTgn3gTRs@a-Tp}ytR~EA9qFXxC&!#P)R#FfuhGzAJF`pahQ9G9AnDWI zpqV;2E8%d|OK3T(;M9pVzbVmZ+kVRuUqP=r26Z4UVznqN6vcB19Q9rNu~ByEuBPn2 zxc6P+}Q1H}80VQ2sdZU7wwCl?p$ zD}<(nzf9M<*{kGE*B$l&tn7N4tX&X7&a_?anK zNugc-%y6`*P-E*-^R2S%m|AjKuslAorRs3TV2Cz?4A#N7yLa%bsYz^Xx=d%Sy4-hi zKa*@5k3QQnt#Qq}6y-3rbHyq>{{5I8RQ;iqUZ{nkV7cKGuY}egcjF#vMe|J^^_>=; z@;i#Ss-u#e@rf5{VM_7R@0BXbGN7*?_A@=V5{auKK#o$z7a08D%pF~|Qy#K$8jV6` z6V)YYfzco1YNFf7CW0y&uE$XmrsO33e&CGV(hK>qn^gQk#iMkSmFWE!c)@~`u-#0> z7%_Bvj^`<&{_{xg35I&ZZ&uN#7L6f0Py@1x(;Xe%hR=Y?{K{fuCBQ{P+&;=VBv;%I z$sT>rHN7dA8i`E!iBURxyhv?G_qbB9RvY;+1zWAI(T{0qgAz2Y(1C{{PL?{KHXw*3 zmK874Gk%U~uiwItX+tq%yf`fEL&H0xhq^Jcu~p5_ zjf)WASRQ0$^+#l6JUiR@@n9bQGCX3ww!P;4Zb3<7cW?imut?IjXk}qKNHjG+f4m>` z?I$A#$M@k3+L((qCH8P!U5|qg<(Yob6o)G@bvL5I!V+dw<}J8wpWmIMJ7OzT|7Kih z#Wlr$(fR2oe9Ouw6FmjAknN_uSy34~?vv%nFeR$!w=y&na*3pIggT#<^q@>|X#$?z zlPn7)o9qiU0dSh9FZlw1;j`Z+EJ;f%#;@B{VKY)(-0szI4}vLXm$P3+&&kn|tbziL zQ_V3JU=)LlhQAWhRSMigii9*?Qw#2`P40IqqlMM8-q+mRQ;m+)^EX2eg={U~KNa+z zDi8GNX1NvC!V^#)S-BORSfMjP`&?Wyuce=wKWuMvA=Gq}fYD76vx5*G8F{w9Z|C69 zIuCr6r^1PWM0_1C<%^J+wT#$I1V6}J{Y8H)b>h@i#B6nRgD0Oke7Sdx>jBUYFU^eQ zx7$r2Sv*VdM9(fMmo1NwEGg@G!{;&a3pn%6|R=Zf|X6uw?~7!0xo@_G&MB z)PHrgzksDz)-|@HRh4OhTIHxSz9E&4g^(zaY8+8 zV+gn|Qc+V&N=T3yx}1K!c;m+^a#adi0MxBd?hG1G`2(IAj!sUfsHiJDK%X5{OME;p z4p-{Ut*kbIn2%B7(V*3LDeQEmobe(pHXrm<=ww+t5FdB)0GL~4W#t$npk1>FN^9HO z`~VW$^%jsTLQ7D|zR)ZEd>x0_rTyyF11|w6LlR~fAT|LMJ0b9v2B#%FMuwFP_+1eL zpj-!1t3g2s+jfJ)CtKsju}7%@vYWmfB?!>K+8{024Ff)&&R(^paA1T%eUhD(^#IR@ z91rL1BZ1%Lc8eliZ{IVoBcq_SnRkAW+b=WJ<)Oq~`<3KdgCCxgh%jm$6ghppw6(Lk z)qWIQM}!q0sX}F!Lp&%UiU6i8u1WfC(#R&_BH!jIhz}fyjUyQeFE1Fi-Qf?7xigK$uzz%^-S1v44+x7g zJk$qSbu?tOcpxA!GYkaRNo-)H07SknLiytoC^nHYF`;b_K;F<$;iK*g=XSSq2|eE( z1llVD#~DUSQe8iOkkim0Jk%)G%|{ZE4?1)%6Q|G~K%+LgvPc0-4}7VD{x}PM$|DTz zwsHz0yu`%!5pZhVSqfUAN)`a+KjE6k021LKEr^DI@a5rRXHNp7BTM)AxW;`KJs$eN zg@L@gLA@&r!{Xv%3PA_=+l-g(u5CdW&62DPIljH5q5)rGhHM|2kGzJJulrq0nVV5v zX95+A+Y?IFsZygKdCHkl0g;iBGKko=Mk{6F$6W!WTp9NRWkZ0wNzA^Ea6e{|wRTu{ z=}UtU@wyHBuQC?%N_&l#C75(=!u8Akw^XS#K~FIJ-hPxJ)e~Q_&TC^>infg5cMf=a zA$jZ~I{L;hWJD2>W00cM(GGzge?!h*ULuN04GdFMYB`jgu}Z3vhFqPB`rxU~PekB2 z2{{(rn;8D^I+nYj`#Ih03f%}#jU$afPd$@H$$04X&g!uxCb^pWrk03XG(qyjuU4~) zS;OkBb-p!gb|en9YMFOfWu_eEJ@FqYuXQV$M89!AVhR1CdHG$PULvnx#Mh5?GVsrk zK>=Q91F@}~%3y=n+FzZ)eGUpJNC0pTNOmThTaPTZ!jX`XkB*OL%+vr*Kw7#BWS4>a1xO9! zrEg-~@`0uxCir08mBq_>>OBb0WTm3&0FEi5nLca4$R3zff$i}?$`c6mbkmTCQ-+6z zPB)K?KOG1O>;C!kl}^u~3ovWH=M!9B?oNF#G{Cq#-FW~eF#a*1)boJ0F;6?^mel7o zSee`5QI}OFlWw(=swx}cQq9)6=*ZDjx{Lk@N+D#looo`?>`gW}P-HZ0(S8yi*EUzb zp>A-urBMPW_>S}ZXSC^9xNQ!DK2tbAC45oG^=Cz*utt0@iQau=@i4u*@uDNSuD4s} z;$khDE?7X{B;-PxJY^}d32p{jM^@^a@7tT340rd3l;4ry<1aeO>I&pR)#rLQ{r zAJ2ysmzByWF{)i`8MaMLSzvuJEa^E^Rh68Qx@UWlKzvSM=&mie{TWf1$Bp}!57h3# zg&N+zA4~Lk_}$sV(s~R^P0VczzkZ&cSP%HUH{+ID!TuVG-9;Rjuh^aAN5pr^bo)lt z$mKInxm3hJhlESm1!}%w7WtP)yVEcHA98Y5|U0zS^I9yX8-PVdykcEn8EkD-3L_T4kDyc4CCoL93-b|BoYK)wVd?7~&FQI%rm;iv z8)895TH4yo5%Ay!ydhy2nrpWs^;*}ggVtb=y@)@h^zTsChLGQpKSroctwjbMD=Vti z)W1q4E+W&>2DcZ(wM!%f(&4U)OOI12fEA>7ebmuki`iP49qb7j_Vq2IJ zS++Ku>&w#DC7qxXaVA_+7!}|8=RU=8{2RhkdnYt&>2Z5Wk56qB!|3T+op(omVz}RW zJlFj(AZE0bf0#xC- zFCVqNAX)l7I}1~~7Hz7=7M}GLTN>WDYH7(#e5Zarx3*rYur}eTFl%zmpWFb!g3iv9 zZT@t=66@bO3GJ_&S=@KBSUs}kLP8Z|wEiwTs}Bp%-(%jSi!eY*{ic-XY(3??iSgvB zeJOmo-4v;JW%q-jE$bu_*TnF~>Ue*Gf)E{EFW(LYM@{z%{TUB^yq}de!_p$pOMi)% zNiqW8wR7FAIj0ARI6S^-%jcC`@E6yVWapTdyK&-fZ|a;~!H0Laji@)?*e_&{V%O?- z{dUZUeHA+Gq7%%lAGo4_)Ae$P`z-rG&U8L z*OG;(Lew0LppJG%4yI6JH;9^>ohd}p0U$#J1yN0*CigHiZq~nVEbIUiv31p9W@09} z|K?<21wXlXz)wAh$XioWlYjfJs4Wy`3WYh6aI^h^{}Oeuwfnb?S*iaU~KBh&kqrIg-NQyj9{kVZ%I{V5^k2iw2@S0A>n5JI&0?Xez$3GBv*6 zhlCAi`j=e@f-i`Q?fub7m?5e#2Pb3LU%Ki@!pZ@zv!%_yJ*7XcyONQ)=|5cd`|I>4 z%umAdEzHyb@{ce)Ia8=P%z}iQ{U4C4Qo$+eHnz!9=(l|(A0s7dbu^oCvkFu&xduPS z)LF}qKHJIH{xR|P*mOkOo2(NoE8KvvTHPh5252yO%@MrIq&!cAD$Ki>` zrrfq%UpSGwkl8Mb((ftmL)(?BQ0u)sYZ@P|v1U44^)3=m`%J^>CrrXm_ALtE89hj0 zBYONyi}3JCnQ!@*K%)Jhy^Y+qtZTh5osKxqM6^`@$(ytygxfs78b9Q#X89 zo;bM!X?9Bs<=8j-5if|}9vI;X6JETXjI9>-cY5ac7!gn{%_)C*7~T>;UP!wz>(3d0PnyDXV|eF>N)3`eEBQBnN7QN%`~Zr=mrU?=*haM})orU)%R$X{bCiBv!e{1s};Z>XDp&&$~AVnldUQ%HKEwaEfGq zS(*l*Yf5=7MoJvtIOWjgJ|6xRgNZWweCHijyBX}3Y**}Bt{~|_m{`WER{xbfLF_MLy zg-cM-5$0fOWP^$%6BW`-NKz92HA@ymOf?F-Ur{RotAj0$?E9*!ng*E#6W?LbE_-wR!`nNw!l7Ew;;giG1Ah}kj3(Xqi&Se{k z4?iQN+5*-M566j6aNOo7If54o~isO-+?(O~D({cl>7M`P4(R?vQ_!)l?O= zQ~30?aD=%flBZK^ot_9|d_ig%I@Oe2O$0qXCo%)k4WrA44doAESLu`%*+YHr$=es9 zc{I2W(5BxcFEkq(r!ZCq-!)E+a9St9B+1~Vj?sgonxD1Cp&l&6=g+GYQK)@Y<%LXK zI#a)TDS|ruQ!y}o^-e)FoR>_=nQkENie2Wcd5U`++ZkO6;S;XXx-L}vr!cC;)?V_c zN3Mj%w)AgklSK*X-bPGmL_xM10*A=uPjPpm=^{nwp-L-+)mxi){ym1!22;Jtqtqdy zTy?z{g^a4-agvyh;V0i_GYBJLHN0Z&c8$c_TcqS6+n=Dc+ZK?R?($bsS>}=aoKk^* zf~V*f$x`~MTRv@;>D?YKURidYyLn>1D-3*AfU(wFu3voJY3mW)0gk z4}{(t2qB?g`DNKhetT{hd>d0>X$>9M6}#Y9`%;n({bCpKnb^7hg)y~#^0h1v=lPF- z(+_J&#MHbuFT0uC>jiG-7oOEEgtowE$#zT5s>6;u?)qpJyRMhTh_kxTH%lL!?#9b^ z8j0mG&4yDNC9f%7WN5W2k`oXL%`RB1cM8XxD%B}f!KuU{YvL`kTK*nRtiYl5WuKhJtqDrKqs%5pM7`a;^S-Z3&;-FTwSbTO{ zr}OjPAZ;XzXB`3SO*co`;hV(h2#leJlhKv34Sc`4+|XnpiyK4b z$I4iNRfD0$HfuI6bH@{5qS1Ce7CMJ_uUXl`aRlqUZhyoESLgSsv+gFJ-7S6= z$NVOz0gf-J7oS6zvh7N)clO&3n^&mT0BB zSVd!HP=`rty|kK>Hm2t^3T_FbzquMDa9sKH3}uY?HbX)b6*4K71dXIe9-p$Ei)>yF zl~n9f+nq?kUjC}1W78;F6TS|KTib3 zynJSW2jPs)dul}G$RgcE@1n4inN+R6$>_-wNs<7*S04&B85y@W3j zl`r)~pMSpo4AIvoE9z_g{`?{nL?YpLFfrp*5tI1yVBkLiG7A{Yju!#}_J2$+Y)rNe<`5Q;g@!P*LReWD zK?_DlHz>@=l@aPle!q*q>_g1d(b&P#4rXZ!CAr_H(HmPQm;f0Wc%S62XJTXbx1B>B znf^E{CSzM0h^vtugoTM2@{f&8jQ`fw&dK5JAKfr9hM2xJwYgt?f%Yu_)ZPx*)Z02* z*#4VC{O#?(9|&A#UQsZV!c4`$w*VQqQe2G8poGPt#>~vi%ErsV%E-*k%gp>ox9(fZ z+nQLKx&6nj|NLzKllCUYyk@ozHb&rz8QIyrwKO)mzmO1TsL7v~>2Ll2qceZ|k5|<8 zt*ry-7wA758RY&0h5Y%63L^1C{&p`3BK@nI^nNDu=cGf#66UC6>L6-sV`mG!UzBn~ z{@AsuosqHWpX==ZJ^mF3^Z%NE#m)U6u^>6v*?5>Ce|=s^xbGh@mH(I*`9~-IK5^Pk zoK(Tr!3t149IX1C}AneAG)e7e_+P4HpZ z+!Ip2sCUi3_8ohnwpLcG?(krD-4BGgns?HiT(2*Ca@j3u7n{aGsDC1Xz zGoW8hO=*93Z1BD#DzUY-wIZbSi zZxi({StVjUtx}B1cHn<&OjY3a&@ak;5VwjR1r>F%iQpuiHzsqR=!2qHo{G*#b1nKdO#_eD<2encrrLP7Lc!+KSKOW2I8f<+k993Kt$># z%gheYb(Yyd&6FUEPR{r;;E!a8f`GJBT+B34R8pddhe8}O4M+;1++lvZEiLckK3i2K zett9wbo>Glb{}1+zxIb(TNm=jbIN7U$_7t+3KG}qm%Ml__Lze%fr1zd$S-AZfC!@G zW({QJqcMe$v1f`CmC&A;Q)08e!o1+7^310K`ul*a_ zv7A+*QA1wc&PC+yGNFYf6Gx|5(|2~0{L$Jx)=6*M2rj!&4EMWpCM3qVj-`Yi3wm<90dtIIdR&4 z1H`8yfg2M=7hovX;%4?jptkCy8V|AxKzGGn`&(mB`*7wA5Pf#$%^eQT<)-wYOn+b8 zc7i4YDRx;Xnntvw=%{_k`Rc{@tz0q{_|`nvxL&jPZZ}g?@h-!vX^i)6P_IH1Xdk4!T;R zNXfaFT$+thYM)-KqtNNaUuR9xNcAEjJm~c_p^1t_GkjB-^be_hB>{eUXlHv{>_tm* zMpX|{oPK@ld`0Uc1k#gs%_`Z^kdO*Jad!OpTpB^~WWeK>2`Ga~(jpVo=`uy9PVHdl zyi#Vwe2xX55zaC+H$AN?q(Tl2Y-D~}l-y-P!Bi%0w($lBW^QH{_u?C_Sle|qpB-Mj z0KNS?-p@?I8d5ayAIRzI&XKI*`=4+B)E28;J#ml6>mgE`boGCn3oa3EN3Ex)=Sw~C zRO@l`C&|eWIFY~@#~gS+msYg_kC(CkgSa;jr+WY1#!G~VZOA+)^IRcg#*h#~$P|Ux zhS+8zv&;!0AyUbZVH+~fQ!)>m%ptZh^Ykp|e7@h`bN#O8`RBQw-}O8HoO2A@-tYJ8 zz1F?%wbp%Ot+PBS8}q(?{WOs;hUc4MH4tB9K>XN}ZR7a^q&`&+3v%txpSXN)9W#%< zX8!kiv}Wh)%?ei@E>%>^H*_HNnbYXh{VN>D6nF|H72}jT{=ERY4)By#KF-5zn38gq zl$L^#`rzP$Uh$J%5C?E`6RU(MncFxR&~WZPK5jlrl5GZ6u7QQyqbLW`+FJ8FJEARh zQX)z|6HygE-)!$4`*OQDop0B%Y%!j8G)OV+!CoQPLscCt4iIkSd#_oaYQsb2iJwh9 zEV+J(h$V1<@$m$-9!Vr5BosTr4CslnBRtKIpar)B4}13$1u@D?8CB)wxdRKf=({(0 z4Rxv>IfSRoxUvl9oz}kl!O3&ut|dk&%xJG%4;tW@@>*0$*PT}PU+Zzlu>CBskk3rzky3kAoot*$byq2PskE>)%>DEMDOip(@WJCvS2%vBR7iYc4!QlN>K&}xT7 zmX(wkd>w*uAx^`KtbsI2S0`j7CFym@qFd9gbx57g)JD6yx+wVJ%D&2uMeZIRdunF& zE!k%#w>z?PI@HF*mYj-kGZt781N+Y(ff>i^$a8UU^lO zm#yuk%T}2n#Cqu#Tq?W`hH)8T;b}*4vsqY!d-I0M-Du{^moIu>z%!EarszeLwA!Mg z-m$T8n1x^oh*eQc(Q@+QN$@;AxT#z@v3hdiTjGX7St_S=U#teJy3DGQ682ldu@gxB zKutgvui=N5Tx#_FHxF|R0u?^a*b801et|G6R)u|P|M=J^OkvnPkcIt~ws8Q+kAkb* zScTg7>efCxNqpn4zSZUB#tHw6HIzcX7Z+7#0CE^`svX;E#3JP1QAfI*fq-w9LiIh~ zwp(gwYNE@^rjB6YR575QCAEMUF^Y6>Xv9|4`ln`CxiV!mVIh){o0^)sRT%f_jn{np z7EsE)HgizN+wn*N-fAqo)wSJcvoWF_HeUwEK-FAS^dkRV?wYc)9KHN=XI>>9t5>&c z-;$$SEri1oT@M=?0x(#;U)@iN-LEl_$a+5m#4|25j?Ep+c-GvrwY4>~qs0|i{(5<8 zeH~$O=PR;!^tG8pnzB@4XTn@w2X^naqd0@w59=G@`X#$~tbyNIh}|T;F~5GjYq$Iv z)jIn#Z*lkFfDQ{N9Pbny0{fSAOY*c5Fivt)H8EjAOY7@G zOb=Xx|MNC}-ZZ{cRT*yfYS1?5@x~(D{^DW^5irZ#_N*SY(+g0s;tkjU@x!sy2NjHg zjppisyca1h6BDzOhlQ*~z$IqA{M^gxeZQp$><(qSsv=$%qM!K2^iw~~m_q?n)!QGFFcde!1pSV&XSVvv~UY>*oVuF7{7 z6ZeHkZwr5C0nS@jY;%^uH%{VmvASs?>+Ips+NYv6|)>q2(KMU7pinMY-q`9F-! zr?7$8M*zE zvKH2%-WH~;MuN`z({eXlpQ-gW%X=4k8X7K8Y~tole)sN;FaO?6TF?fJRg@j_P2Q${ zdGYsorK!$D!3_!w?ifvFSsBXLmnl|@%d&WM{gKwAN0F+M2U6@8@T(q$y`OfGxX<*M zwD|^4#7FSW!n+;-79eVxd71DqN|D_PSdzzB6tyY2W?b4v82BfdsEbFrBh<=bW64q@ zGBzmx647*C;A}C*ymi{`1pDX^g3T$X)~!E?xB-=m6_2tO%gRKp86<*kYk6`{DBrmQ z8a!QH#3s_$Xs&aHqy9RHGr*$c`YZBD!Qump*DWI>G`Iq%O(`-`Qm-hABgWilU)S_5(i#$Dq4+?+O+Ao}UfV1$9SP*XdE8lcR@|a@X@^=-*ss66W#a zD|=~jMP7qa+j#(+TVQsd+mJu&>r!y14!wJANiHYga4%0!TU*=r?;9=O__|g}q>S3N zq*}9eywTOta$LmRvn5$WRTNcKMaVxwW*t1>arFMtq>eLbk=R5bCzs!ogKR89@X?9C zNlbip(%dm%`i}SwK9xO0HU))7C@IWa9z1QtXQYz)gYV%Y-*j7o5Sh3m=BTdarEnAf zsj|6;%!M?9bG}?h{czv?|Ag{kOL(I0#n`PL91iY#5ud!h)I?1e8bJNMr?2 zyxu-jcQZbHTADfvOlA2n=jdf*l+wQx=<8H6YIlHCqj!*Y`Op*g)*g-s`UN{cm*$c4 z$r)sn?gU_WxVivqmOJ2hs2(x7c88v748O3sff?X5RSzrA zw?b8En3!6Y3}gYL3dc`*fEDTOVTk-4rc@DDK0c57nd4vKql=4QKE87&M8-%R4PsK! ztuKih5iz%zHqOtsbOlfU+zI?-(T&q2Ar~$@(9^RZipfmB(DsU802j;b!xVQu5;N$n zLx`A^OS-L2Cn}ytbt_bY)-!}0{O$_vUbFwf3zjZnyTlZ;IXpAN#`f)Q0?Qj_Q43=K zt9n^yZ?kFwxyX1IhtNs5qqLbp>`56EPkDjh(W|?*Q6m$`&JQ7hv;E~5gc|dh#hrm* zB&VVZd!=+~>_iQ?-;lB@Qm!lCb@8&jfc9exBnatQ$O5dRD8v@qmdJG$ng}jTyqggx zWM%7P4nk@^)YH=osGl+oL=+L=;sDTe@#?@qL-0SoM?gmOeWHD3hg#5t-Ck5UX5u6g z!A5l!k;t+O3kyGevVj45E)R>AW8YfvpiSuphbNMd$Ii~1=nw=`DQ0+Rh>o5fgoi;6 z)>|h1n@US-E138RrC;RNmRA{vXO^)Q%!dF@jE#+5{oSkcPn3#fb}K0?G%Gdq^CFnO zUsYXM>FMOO0m9;NZ>b`bNZ4?uLmJIzskm9$k?gbM0!rIRk>okia4e{&Qf`S~#5sRY z^9C3Nc64-TJ%DU~S2n_r_TCA&t6EB$86Q_AsX>U&S8nJ1l57ED?T%=0=kO&O@Fo`uFCFu@JmZ{6X+ zhnTTpjR?UCC%5oFkXKQHuF6-0jugm`P(lZ9-?fo5;+j4TA zSXjtUPR?#j366g|>bDc+P4I?I{{ZA)-1jKSvN4GMG)y{Rhb?(4)FC-C^0J5d4N*}# zv@Rj56AP_A`kD9#%r4RD9WKg%v>V65xJ|3uo`YFgPrr+?owG$}iBFD>%3ZiqGH<4& z)C?609e_o(7)0Ehis~$CU|r)Q#ZYtalVTgs78frMk6QyDG{NLlNLDr)BPW{JIXFI^ zcdG~}9~T#0pYRFf+S(dvNF&#tq@-lDix=mmQjD-e?#Q%bo_|gb2fV-Z`g%EB_)P1@ zuZ%ti#)!wnwP1Z~naKtC_?pP<@AV`h!D&`FrCTkw;2gD_4o5tpE5|Bc<QS9=Uu}6f3gUYd62y zV&m`_PAXWZd+!P5_b=_>W}>{tG+#Z64~)rr9E$l@$T=?>AIBf8b3qSa=|`F*oL1-c zKZ9RBYNppX&#M8G!f=1Qrn2&2vG*$FDH=He(tNFM^*C9mD&h%^&~r31J0L*;$$MdL z4s4^ly1ThIprV5*MKhuDk`i1S-VGIY5kR*Kow8TZ04EK<4#5KpSl$l*>~$2-6m0Cl z<&5r9@1W?C1~pD_!Ul6e=XIEVgHm?l@^9e6YEam*(c-69vUx$r;Z;d`Dwxe02pZ@@ zAr{!gh354>_{%LV{Rr8J3qjC0Q{@KhLMWP6R_vl%ueL(Ka&~r}+JcSafuSKbxDIh-^YGR^(OJJ+ zm-cqSqH%;WYApay8M{+rDvYv%8y3KN7L98F{}G&nxC#i6fDrx-KyG8U)sK)h^M%-3 zq^8rZT4%L+;poryiIC;e*wskF zCaR2}fEWf6E;8YOBm9Mi+S%jgG&d2Ak9c3l-X(7v-|!mx^{i)jwRl*)ivpLGe+6|2 zn;!w9nlV)mtB7b<<$k0$v9}ZNtp^3?l0GP+s zS_MK@Q1U#Xf>cLMEhWI&tounf_wLJp0I5gk zYG3@_AG$zNgK2DNm~y;60=XY)>9o>zEbjEx^NTy+M)|QH$kfYU3g7oy+u7TLYUu6h#JD&%iHviCVa5(l zPEJZncykxrJZjIW8m85|NiyBPa|hq#7~ZRj3IUNJAC+AcB-RmpP?J0)C-1&QLZXa& z`N&x=QaL^$A*lMC(bqxSdCg5g{GihXzy%eGA2p%(Rc|)yoY8uL=`Jp-E6z`Bp8xXn z7?cO8C9IMBoPXc7ZD+Q*h%;a+&Lx*K)+kv;k$44imX}>6CJKxgXX;Zpxcz!0e#A3>3upMSzxehn_7 zvT{qBq#L+UL%yjtJ=f6-n1Z>c=M-lZ**YuXy;nGD_auZX<$h6P3s)K0Lh$sod%HZN ziH^<|z}TbA?f_5<%gxU>dGyHM#s(|}%;mCr4fORn4c@prfqnzcL%^}=>8Hy>l5%Z$ zeidmwvPKm?pcqqFC=-aCsLnv1gU=x4qn;5 zoQ{-aAu9(1G#7|q@Q<;jo!v@X>{YewGl3OmIpfqd)Gl9FYFb+4Q=*Wp?lYQ$Yvq0s zu%i}t=YLN(20-K;(TO1`Dn3YO31w~&M3Qnju7OL=&%|26CfV{~EUui&x#X%xS-s#D zy#le#+PZCWc!s$Ri_5BNxrz#?I0h7T3J>#@^=J-sCqwzMU;qnyNV5eingV|J6=TOPdBUuQ-v>!dXhfL%LclP9@q$ExPdBYLx4kT~qDm#A+bPQzAq6j$t z%$

9xBAT1gnOvoPZ8a`?{SXth|V4f}4Y>d}U@Nq~2r-ZMyy+MfoNT)^A=NPv&s zR}D%L{|or?3JM#CdmE2UHPjG+Zb$Q|)EhT%Zi6b7_0bT8FuVlfD<)$Zwr}h>3CPLG zyPjwF9CoQI+Rm-t{Q!6fY&*am*!CMG8C?(P6!>*~(YU%WCfFwoT8Z2qC$ z(xM(tMQSQTf?5z`;Pa}FF5@TQFyXc`vSG9)agNN@OI4L{21AG=wbR>s{{|dHu&OX{ zw6MUjubNmz+LSX^-IkN{Pu%|}EciM}YJBXqhD;|dBUAHiSb*W1yP{$fkW>)2?Ctp@ zUcY(stHy`EuTDjrmMp7xWNhqA@CfL)a+n1WS6mR@sVjLiv`x<}-Jv)@bIZSXghFi7D;>$95RV0yvBY>=F_OV9$Cq z4*nv|r-URVPvkTv%8BwBDJW(g#c?lu|JaFeL(e|$uoER33bT&64`vpFgLsXP{k}WR zUStDo;=A?x^0KQN_-ad(P37g~@h`Ln4Gs@4yHqk8_2bIzwPRrcOJ}`~HKM1xyR@|Q z3MJ)-oSbh2<54)#>GZU;gboB8bDhc0vXT^g1qhJI0%EwxRt}(^FBE?RPKW;BrIPrVcau;|Or~Q7o>UUA*kt&i=j!WlySEZyjrZwP~#{e&u-AIO;m;S!J^0a@^Tuofj~$z8Xx|A_#K3&)3w*wN{@+L#?3oFXI{CMRL2f_a4!h{AcB@V;`*2`^J zk&tl>L|ovw!1E*w*q0m#$|1DRpISRtb@^jX*$CvF;cPie${_-q42+GB4(aDm0W1XV zw~>jrh9QP?)8yi(5QlE=b zc7j*>KcVBq83@}#lLAswQvFZ55^4Fx#r=t+xbi#AJ((5cR5Fv;@HKNe;6{^^!^EtF zXoP;H_bslBP1+aKG37*xbVBHQu6iQSSY6sFK zT&fy%738T6F4E1EbtK?_#vQ9Nw{<%Kdbppt)B@dX_*E|kXDeOYsi9Mq5CThWx%Abm z7c6!M=$V;oAGbyUxB&Kvs($hmOom}24Il#7-h_@+g%7L=2?~Mi*PKtZk+2uiiAtNzel@J>3!*aD{SlJ_sJ)v@7 zAr`iswg3G%AsWC^R};g9Kf}-J4I~@8K;%Ky^r@hrwPs4jWcp$RePj!iBXD8>BfWl2 zi4=MU!a(}Ey0>Kt5!8xVz}GLipxoRPv;ruX;1KVKml{SIGSV{>%~SxZZzc^MZb5;8 z?uIHjN=5)fKApi3X?s!nS|Z*^-ZAO4*DM6g`^<;)L;Z@wcvEWA{Mp$rxSuL%A^eH7 zZ;&-Ps@$SsHIsj}bnliDZzek~9mS7(EQ2bDXAP=aylfWpyg=Qenr*s{DRaLgKS74?xZg(h2m3^AF947x>&< ztJFEN>|p+Y)@^#F(17n1%is$P0iNY+R=lTjV%)h2ngii_D@R# z!arHOi;_fxPdcn6RxJ~^22LQK;w~v{^keG)xbTr&-Glm@t6{>PJs301_o5p2@*ZVG zvo6EV72hyj+Pf zudoxv{Q2`)Ijg;^>%$s_L1R;sqGxq?%&l2+9>?4fC~{mR7}>R*s!d28(tq_gejo^7 zpwSyAadCBpwN%`T7Z3LK&I-zt<3sjeBO_cGxoquTA2{cv*=Dx3pPw_H6nLF=@v^lE zv*1M7lp3~7?5<6MTtEO0&A12GXRwKvd-q4B<}fT^6(w$8-(JWvWw1A?XdmZy zvcCX8Z@pttG9<2I%0b1^&W`vbEle>J1|r<8boD^9|MzbW9|pI0HUejw5$D4iv)n^# z|22|k_Rz(>9P##_07MC%PE}yQFC7@K<_Ky)@liJ66eN|5a^mfu93`E-5omZCP9Ze$ z)(O&0{CHl6Wk%pmGk|XU*)KN;Gmx|nGycR91hAx@hi`YlH@SfDUqt=tn*>|7o24&U z2+%^w>QGX{*Km-gCMG9A@FfF7!50C|6p!1=RzCw84Me&_FBxJ*|WC`JWc(32IA?b4kW+Mn2C!Bzl-2W4ez z7Z(?SK0io$r3`fh@ma3yUy_>Jq=l2P0Y*1BelIM5d$_?w65QrXW#bz6b#*O^3>MuO zNm>D<-)@`J=1CyAe0kJPG*VfC4Nw9IT>|z5U|CdDG?4To5|GxH!AqP3G`|!C(le?a zaZxsSglz-Jw4GS@P0pk`NGM;@jgH2 z0PrTrl>tnE3W0oMcQ^grJCsIZk))R|2PK4D%=0iXp!q^iAs3@ipN|1K zPQ$Ok-%^d`?@Nn|6Ks1J8PN}Z{QjMR4T8se*wFv+BbcuZ^eXxI_$*&7jbhK<%LEnx zFrXq`}+}5ne?*3=KdrH%h{j5dO_cLnBI;C!up5$PRW3(Ub(W zYc3Jt;eEEH14*lNf6F?JWfa^bjT>(9#;O2|@VdCT<5B zaLUTTAf5_!yn}-vVOd!jIQyxwlV@wIvH=kcaR<0hIG`|{=8{N2@jzD>7aw0iGfm@8 zz?0%z{QTX+!@Gd|2ja``hFEcPajkD`+^QKgqb5ay)%K-`eQ=<(?&|3=EqAO}n5nC~ z4cXa0q|)b5R4S!Y5myd1&tC3>LQ#FcH}*e25mWZ$uhp`li=>5bdxMUgn~%@??;@GF zISeDEt_YBEeE#~i)bOikHIur005A*y$AiY9Ao!y?o(-9%@u8#l-Fk^b*Q#FYKnmba zWu>K|itKwd6wNFP&TmuQOmCbnA! zoL;58q$n5E)CPNd&l?8o6ny*EH=i>Gfn7i#_+=c~|-6L#@A zuA#pb7Z2K&4%+_vXtLLDZaU|Vz$vY-V~d@o{sjvXfuq^n6PC@R06vZmu;* z;-0Xt_mGg_gel@!gv3pS?#Ki<(&~*zr81ztVj$W?zQ=g{lfwur(-!_e%wQ5qNNNIH z{KfADc|N^^gVz!}Ay9UyMt@gkqLq1ILbkCQ@$4Xo|oogH8^zH5BUnt^BT zz01Om-)SIz%S#NLYV+%%%@&@8)zyzOv_cg#%ge=I)=#C*=PQ863=mjN($Ru@DbgC@ zECd%^4)ehVi%&}G2s+<1Nw* z;cOIF63YWCT@bGK#;j!rvtx5V2ftA>zRF6_o9UFSYlI(*XekxA6?a_)_a4asb1Lac z)K)~=ik;WmsB-TT?b??4x1FkC&*3r5W}aJBWhHDw7tL=#CkeDXx;%DQAC)bDGmy4+ z9Ox@;ZPC-wS%l1T!x4t8;9+xZGa_e(oQkTYg8_mVl%yOfT;+p(eKXL!1ZEzZ@ZAmc z7JTgEKi>CL(?xPfNf}$Ppf8*RKmw)iNC#@K^pOjIeHvdev_8ZEaj! zT(`TWZr*I(0pCjpJ3HXl6y<1WXxc~$K7Fcx$fC|0YkK1fwU?LI>xh+W!JU>O(=Qz{ zAaab&CE2EC_Ug#?7UyH6|l~KakGzZb?3Q`)BR7nKq0SOv-Qn2Vq=A|S!-Kc z`B=i}v%lxqTge#J-POgwz%VduTJo~Ecx!c4fDRuYKlj(Q%?m5lz>Lk#K5pc^Mi3Bk zfBXb2peidXgLHn@U8A6WV5O_83)GeMa27(+mwa6ek&a z@-PxwH^RjM`qyt$Qm&B)#Kn>8uE3act(IvhAdMp0rXfzszn0=jS2;=|0(t<6h8JJ`&_C>159nnf}V5? zCkzm}A08gwh824Q-7e58uO$c&;x948!U?E2ZoxsXt*jg=AOdZmTXjFy52k}z5;d)Y<8{P1(mn-|NdROmnM02qhYgxO4WAz@)BB$6cE{pHJ-8X6i6 z{C}q#@sH$yGF1{Afl9~HlD(fJouWywkqZeEV{oMB@hYw`J`cNQ_4FyE8>G|UW>K}f zchjZ4T1pb%yorm8TfZ{3umIH0<@O5_tD~FZp~$wSqkD#5``P=ORMbU@F$HiaJgx&99&78fr2vTjJJiB2XN=s#oi|^PF&=UZ)bmU9wOFHjkWkJH#1GAB?l) ztZ!~Md~e|Ypv&{v!orbbrd%%JM|IG>W-6>YIYW^6=k@Ghg+DyI!g7eG!r>Tyy)Qn{ z%>XVF2L}fNRMLByX8SZ(F9=@B$`^O@A(B1QhyMw)b620{Ja<9yQbvZqsk;FiA|qr$&GxyuxqsqA z)3S(4M!}F_W+EuNW7;@)i~zKaj<%b~CupJn8g%sy3T zs3#{KjZfVI2MBInueiAQ?d=~eMM1!lM@2^mDg1;~AcxQoxN=z&tvn)4>o2^jM)Rj7=qk zh>3D_HBSS<8uP-08-tld%hjc&TS7uF@bBDQo}Tt6MJyE=kmfKkGe7Nl z`#k+`rsD)e{wP^|hY)s7PC^(^YDyKPPXpqLxRPe@4dMwWs|HI}m47;7!uiLjO*^Fgv>$n3U#byth_|e#ZyUXPO)u5`}Tv zKN@gNYrMlMv|?sg8l75J8OmO2 zd{pp>A~{o|A_43Vs|w@YdZwn#l$3$H7mI-QGggg9UwAhiuV6wIwaOdr{U zQqr;g=5q^+8Q8$6p#ls5MFsn2d=KGF92_C2DB&bDi0fO~(MQ71N{EXeZL~5&N>q2W zvEk=7j0INC#wM)u-^kgOt@kCF1TGca=E6&Ai||K@LR8c{_^*0& zk`NI+wmO^42QNYg0*7)(`v%Uqq>W3^A_BvPnP6Ohu$O6S!le@*Tdz!-Is(wTbl2!E zO-Qp(*nRq8wFg@Fd3lCrv?B)Jz8@H%iWu?jRpTGRbE3Y%6Ob8D-r#y(uHf|xx!D?% zY0uJ7wF=wQmxuMWvnPvn(|=Rva$RrPZ^|%RZc1$Z=xU!!-sR(aZ-0ZX`Asm!i3kk5 z@6K_eDVlD^He-Q#hTHvBFEJruY1>l(`2#D&8h!+K=d2GqV0{CoQ()p3e1|fBd%}|s z&uUThr63$b6C)#NyIPR}8EIldf(N8&sIHWvr}pzGkWFpn8*hc`3W(`2#$@A^3Px3# zHu~Eus8n1hAEZcI5}>|>voV;rZ^OSakTHCO7Wd+D3isWs0ou%x32o6ba8t?;*EK?n z);LMUyDWN?JRX%t0V8gMR-0$?r}I-s!P`mX40_#6;?6 z3LgtYSQ6?2VR#o%2f#d_I{0wVS;ntv*rY$*>WAsm-M@bwnOOyLjidr6sS2KnRJ51e|cmz-|fz$fmn9 z=;mkFE3Q7j{)+_%{a6r6!vF;fkv3X-*PA>$fO4TD5kkuRcKPBvX|J;H--(O-paB6D zFPrSUizY$vT|h0uf1YZ>4HW!VUJXw2(2s?%*x!Hs`t^S68{gc$yd=Xd6V&jwH*QAE zP&J!7JB#R#W{$Pq&eo=-q{MynTzbDa7lzU0r?J@XWGW@`0GcZ_G-nNYCN^msef`8u z$r(oT%WW`d7hMZ<U4EV&}ehu;G;w5g)GuZGd+P z70CBM0#+&5pZ;CyhwK-21iWgw2oz8(sPDGND@z;%%Su#eQ$l}Ves}GMh;oR{oiD~u zmeqNPAix%?`1+tJ(3hSc0ul6$!827Pxq z1l5I#i4G4}f7vH#X1IT-5 z2*6a-`>d>&5g|cAa!WHi+fTpWWgkD;Ue;&02nvwCg|H7IBlD}hom)!E+uhwjs>3)0 zYFi*~nzFYrM{U=jI+B0Ehm3yp3Kri?z@6qF-WjZ{;uiS|Fi`&hjDo}h6WHcgz&Zxl z=N&=aC5XE-J2#(xf6P8EfZ)5}R@7@P1!G-CMq6;IqeVtxZ4VANM3|ucTRt!+3SeEj31qZrQX*W;C-G}AJ$5~5rmkjLK&OdB?oB8#ihh7)U4dy9%h>$g}bZP zQ^A9o{m*;+A++!d+LAz5g!vzl!1;9_(C;{%X(r0UevT){t&jOnjJ(ur@bF=>Nx{O* z@9|&2ptdm$PYZPCJ-8eeE?rXmiSjTEe` zt|k6VeGFu}Fww4)tLtEUyQ)Pg$8b)swTr~Wj~^r*`o_|I*MAAiF6=;dhW@{l!t*R# zMlh%Y)b+^N*s&^urB+B*JO zkhu7G=+tlAefpnJ$c?*6$=Re-ckR0zI$}6Sm#2aU{;-B;i)8Q`3K@Gu!G>CcR1IXB zL-5HXR?UfZik}LU3pl7;tbT07(1``rEpkj_TMlRfb)J@H&*HDTV39ufTU_-$R z5CiWw%TYr3n+@sd@y@`+{)Fpo`7{cOp?B|?Rv*LQ`~W{wgG0n{Fp-6m)BTuzYL_Zi z+|{7RkbzJ4W=WqP-$RuHSz2Fzo(^XB{;Abdt6};AzTc_&?-^mDpy;2RB*oAC_BA(G zMMcHTiJ3Vajvg-L;eDQ=+1I`=$ENLCI1^@WMVQbTf%2}}> zHH*2g0+sDzY;pG2ul#CI;4MH@%s+s~_fk*;NG4zB4|l{(P_r^KGkf%CLN*S0M=3H8 zZi;aO;GKE5rZ3G2{;7b__Amnj>>6ipG1!g5j-nlA)nc#>v}@#qXv|Tl;yS%%FNY+I zhGbISX+8li7ed^UE+j@MU8(Z}SqKO%ovOYQq&mzS8$gSHLsA}zc7`xz9%}$okuqIa zSpPaD!!_rgqP_>;nc9&h3@8-O`S=mWRv?tMfJE-(ByLV~w_np<9T*#DokSU?0 zhI#aVAwK|5ZS6j6cQd|BlW0LPjmLy9eNW`t4){sc!o)3<2+$RW0){M|YV(%dkwDuF zN=yu0QE|&Db?rueq%sWagoNC2bX=dCV!sf78s@@6i|OV%EM(qZsesl?D8Mz)D< zglOLDZH#?zdzz1|?b1F!^d>Ehf8+h$IyAALhO9AOJ}O0{sne;{EuTG$;JsKt?4IQ2 zp+y)_P7XMXCKAAZ3y?-2O%5=)C~I%$@#S3dZO&)Fm*?LOifwAdJL>VRKDyC+(~&{* zU6AkwdE{_Y6QeMn%dEWdr;SP>;d~b>?e`^Guit#3`!({+I($zP^PQt=)ivvn`2OCS4Cbx*tGq-BISkcR%*TIeBNw=G$d+j+H*yjGe%*`Jo)Dh+Ah< za&vPRLx;G?j%BLH@^8Bi-fK+Ydfd&zKmuHg9#gu6D-Y!*8xtM{atLEEqfWA80girG zqsjUJo>sZ7nN*?fy_3TfJ^0~hpS&i}7`cM_w0X`HL2wA0cFqQ4rmx>tViN@(HCR1< zAzA6Y?;LDZTu~9`CL4~Yrg)fn7XxPy2+!yjW?9dQ43NLRbDy=LrU8~F0jPU0>;Ow9 z__gjEGjO&x=c>JSfk4=v?@R>D0d)$`og5#@@nIk{;C-3Yc<--ID|o=X_LNZVWOPi& zb@$I18Rw05;mH9y=7WjR@2V>Ijm+WY?i1|<{YKsqJJD@!8^8Ouf68RNcJfL}TpmBZ z5KY4yfmUEOpwxjq(oJtba69=h zrKP|>xZUWx2chQLwQC(zlvR4E?gxLDAem%lcEs9D{+M=jadTsCYd+c@Hif`ko&<(b z+|*kz*#`o-?_~X$9N2rzD56x2e*w1-y&CNT{;i3MiPe6|Z{Kydzi^8jWeyD3w?>zr zNpFwW_|QMLisiCLW3bQx6hCL4=(eZ$I^D(Q&|&oJ$f&{-roDEA_sV2BvTPMF!qqk0w|W5Pml-p5(qJ)ygcdn;X@7WodJ7Ic5;%Cth2_R^R;+YAAJt8dHKFiSa(HLz-e$*eV6m> zIJmw3!2Bax^WHsJl_Dk~+1cJ+suBs~qK@;mPeg4(6D+?Aro1Zi^13XFV0)$GI_%0z zsxrV@PC;q{N?V$Sj;~v{sf8gVkY!EbLp|{;wRVo`*iQS8YwywnsT5qaK0d=;H zun)^M$1uMJX2_pPKYjij*9!bpb#=A42m=Z4wua; z1GLxT?qShIm?u@|h_B&|4|Qf;8bH;xR6+hA4{M7jxcO_hJ4GxBe00;;dA_D5n2Wf+ zNa^stqP?EscV)kOm>h)%b-kp8#j`OH0#`>NoBF`~S9k48@ z0V^4HRfe`0m>2@yAIjrx!+6EllH3ksuo-Rst9Np;fZ@gE53qp010Y#M^9i!bSq-Wc z0Ky**4=8NLq9%bi!FF}Mih33o>dXoEvYI`<9mE?(Msjz9=3)nYB*_SG^CXoS@xA%> zO~g*ksn*lD!)YOBC#*tUduOif zl!dKG#k1sW;mX|n{7ZMKC~;V{dIj9GQ2I3Awb?)Kim|t}(TwRbGKn1>YTcKdB+{UB zERcBjmI#8Nq^#_1_it$4L%9M{c(s$(H<-HrT+5s|dr9D%Kn$G*HZ54_K+j`VGhGG- z%q+zt>}84nl+mANo3O&+V2Z|X1>FEWyeayJx5R0PhXw}VxvPx- zYkj!4Ctemn1KKT_^dkrhDJdzwJ0{v!B&i~9F+>3~eQ@CE(f6M1H1zk`?5n7c%;fZ= z;@koIM4Jw~Qo|x4Ar*FV(Ug0|zK#;2>zg#Ct*wD~%F_0o)br*R?=_0GH@G{AxBCl^xN| zcpFSUt9cnrt|9gC5L;rR8Qef{SS z9vis^7p2AjJ1kR|%dwI7){&G|n|1f}+{x-KP-K4tJ4#|=t!31FB|ZQECCS3@{3bkp zpad0STovjy!F%ZE0n;$UP zDCI0Df`HV7$lXy73L-fFTieYDT!WvdY`1v2aQ+m!v zMTAO`N!NULpWzojfx-kTIj2kS%N3#vFBRGRdzAkBfEK_==T(fx2T9eBWzX8SAd~_l zT%H8w1=Q{HX7dkMSnnq_H!E3@Unm%+k8Zu-f9_Jjt)QKfr zR#X&;Hyh2Y&NCYuxe*;x|Iny+uQd-*#iMxxCe_yy@kf%grr)Ysy)aTq`yh?2!tRlo zmKum|Mu&c9*cs4g$;{%M*TKX_8Ss^1>O+b1wXT2ifQfy_@;|T?C%S&z(c?J2|H3U`?bic^~BNJ+jz_FpJV4vWiBVJZK_6l8hz~S6P0N& zE5z)tshZH%jC)zB$x*n}nj0_ZMKA%~WAPWa>*~H$to~Le$u!{6N{T>hXAXpEg;Tya z4iv$^#+4C8Xco2a-XXgvRcc?!alJU+lHyzY+^%=hpCznsl~>uqlAD0ZcLO7%yPYBE zz@JktRSq)~!^3Xii|j7-BfKuqfePq~RZQ4H;W73BlO9H`|3U!2&? z?A`ZrDIseEj)P0>xJ+?9_LNFKFbd`b zDjpHA$}2;)x~2-h5J+&@xe6g4NP70=hLCZAK*Y2Hl3G4=ofS>Qs<;<}2|}=Ww_)W8 z$YlQcapwQ~Kdv4M83<&(+EQ;le?rI_*v8;aLk~pDt4S<$l^#BP2sm)V{rf`#R>j|S zjUzOikAH8Jr}eW+N>)KB+fPI;Pp}~-PJ10%p4nJboZpX7^#TypXc7{-?yG^pK417T zPr=d;q7nqc#9gn_`%#B^4~s>raaaQpGE)ofPG0fMq>q&t40^30;h_3soL@QHRf z0o=7QH8xKD@j)lv_Le+BtZ4kw4gf@E7a`A2o(k1FW6yqhHUY?XrYM8J3AP{LzKyiD zR=M&t56LO607l)}Vp!b|hEWLl58alPK48T9$ycecp!Vb-icxZAqx_SNogI6Iy{)b1 zY^0bj7Vj_zVi)1Kj$RiIh_J`m4dkyAN#;u}SY@k2Y+o2(kYo z)x!(Fdx*Q`>bOeK+kq1m&!4KQhF#y?`5Fir_@c8we`%^NV-UhZT^$ciedP+Pdfy5- zIYY~SWugl0q4FKPFF@^$#XRS`Jx278nBBa-q6hSOT-8qkQMJTA{*j!2|gXN*gul1TI)f5qfa# z`@x?tPm=j~#Kfq-RK1D+oCV@D3GFVD5C5v+E0^JuFx)PLl1a4Nk+D0bm`qUl<~G<; z*B^;ejuyBP;PeHX7|;pVYf`;$kjF(y zWNWY-p)Q@t@v$_+djk1hFf!faH?6VS-5K1fW2iuK-r=C352847U6C!;TElR+_YQ#Z ztU*d%Mqy8EPAsRwnRWWw57D0QV!@U&tjJQoq(Le;nW2@L-iEhQm zRButlO@6Z?(ol}$dYwA@iYcO*O3-A5A>eP)MQ=ezgw)|m@h{pqXILUO;HTH)7%j8M zJdT!r0)HMs_08uHHQAxa24k#Ou0M#|f+;(Sez<(Ii|K_3c>|GE6qlf&-%J?i&#?eJ zBE38Vxq~r=MU;A*W-3m;_#Wc^?ADz)sgu3gkvsfKz?)tz614}1wOX7UYmG{KXd z2VVp~)U#u1WMj|8r>0zJFj{+dx8+(7bH816Y;s>{!V^BdKc8I$I3L^rofm1HR*0&s z9N`<~KC9yu5c2zZ&qCBIMK2(WxRg+j@=%evXV9jW^bd#AbVv=BK0cL z$rHZIdx;WXQF7JQgln{zyi{)fYIf7+p+h%>AnX`UkYkOB<(B9k3k+41Aj}_X{Jf>9-nwk@(!qI!73>bJ}-~DuQD<;hx@{_32aNv)(=TayKK0| zgeXaoGwn+#M7f`5+x?YM8vg}@3MmaW^BoapDXu6K2YDFaY+#&rNj3MX%|ReY5-Og1 z^~#QAZaXuP5zQ8`$aCW+@qOsI=;$d#&SG-`4yvk2#5(`?=$~Mx5tw1RmvBoqjQJ)XV3A7CqYlN6HhudW*Nt z8GG%@_$-*;0DbZDTFZff2pUDo!eHw1rw{MO;0(SGeuj5MAmyx?|JYa0(7Y&WuZvJz zO`7t+)iFV9-)MBRGZgn{iB|kb53FDvn3JFiXPM^wFxugMtAqIVM6yZaTl|=5{N&QD z(X2V6sE1GkA_qJHrzOp0?XbMJyq{p$bXCLn14i6@W!0NF^Imh_rw83maV&=!3BHNd zNqHDAu*tq4pZcHw;`(^j`E+kH*PnoqSUzV3HW+5jQG%_V9RU%JX=KDcj8!teS;gpdWfwpLaSU;Kr8SepQ=8SMkj zfzkzN7mSSsvJP9x@98dLSw2cke@oc5pxNUtcK7|;zMrZp>MhFy#GhLuNrvtwZVR1M z-Sg-)%eeUy@q<~%G-@5`ajRTySz%@>X3KMPHz+1FUQg5S6xrDPtD*5(cMrKI9hgP! z8T7uv6RP^f!jf0I#(}A=HK%)rdEAW}JrwF%Geb^J^o^M)*dK3^r`O!l2eFhR(Y$=w z%=oyJ)K2UMdm-2S{j?X1OL|pLXWB<#2|Yf93o?@01XJ#;dtKy~*^+#vo}0=Ytx_z# zN!d^auq8-N2@PYsF z;4h}K^5`zVDbPSb_n#LqX6TBO#_}{U_F7MRTt_F9ZTEVh+)k2`8H^Pq z7@(F=E{ui8*A?(eJv^wvckc6pE&s!Z*$Y1@M`CYaS_b^GaH$&=KCNi`Eo^&voB=zj zx#?)-;Jlqq;z>xTP)JL|+XrB?NN#m4ie<VFdeZG2xxL(h2D%j?e=Y+#Yl>Owa71y%ZU?2Ga6h#O3o+indvx7H8;Fw^fXlL!w3 zM4*u9-an_P;#^}CdI}#cs-@x4+JQ=CoUXHWC$%z#eR0UfE*hyS7$+zqe4hE*cIN?C$bmaG{LH(uY^zI z3WN=xXIb3W#qQ44+KB-kB!Lhr&?H@7s5aN1hK8z{Yz9npIvBl6gt*>Un7OIvI|=5T zc9W`ZTA@-Yvf;JNTRLCpQ3ESGPdG$QbdEbg(H&e`?uD>0DeMxq}B6q zJ{9&TlHbaBG@fbR71}VpnV+MSFwx}FK1m)`u5$lZBnr9v| z`Fj@~7lrU&@?6;*88bTbOJAXjzC)cgd(`R-Zxqpj;7(bzq;kUC@3B4*rXB z=vo2RuOhPfbTsNEB>JyjLACKVLHI8=y_Y;f-BOF&b5P-$(J~)9u79Rr?`Uf)0+<2T z?vw`JHwtqvFRJvvf_L2>F#)bP**RiKTW@xO*%iVs^_YG;{b#vOCoS)dQxKZTA;D93-Jtf zJT%c5gqxQe{~rDENmi|gHWe)EvA)w!p%c)3D|2ky%Gx?2K+W1&Sk(8gmIysNiDj#G z#@m6+t*!ZS&q`z$=)AH6GmdFy7w`IB?);9N-t`ZCcs5qr!W_s>@8VD?$;khMmjou(Y+Tt z`;Y1SITzn#WhO|?zspuF4Kb3WP~>-;bx8USK1~ZBzyLqXyBJ$w_GUJR&GOOg_w|#WF8=AC5o zI(I;uhNypV@GZgXIUjbJG+MQfuv2XngYJbL1YwwM8gd_O{QMsFi7h#Mcuc>4rev-s zmf-f9I7P_Q+IL~#Bg?~9m7MR7N_dL z@|VuB&=MiY4Q(>tlZDR8&K2%QQJDe^;&*Pzmzd9 z6>Ht|<)e)arS#AY%L}CM8~HM_1fRWMaRQk*#A-;bsa4>J(D)`LDk@`LiS3oqn6@ zPmO-K3YRD;%FOLY&Xx$^*j0`yt9(v}bSot=w*c8Nfy$USn$g|28d5;IvDER-_G`t% z?6XY9fQ`$e2~|#4zSwBCFFnOP$GI*e|L^skq=sgf!eaAy?@iblpl^&in)sTVKL0TNj z2*8JXa{*1ftV)tDLuj7c{CYD7Gq35MMhz_AW}&M#?5+FNPV@pdyz4I!&+7Wqwvi|I z9{W7J+jEUNOUjBuuKd}j6Z)GL?v4dWo9O@9@D7~*v*FW-HB}zC?Om;B zb&Pxt38BDs`jFSRw$emjnw&@}?fLm7)NhiEW+QpL0esuDqV_o+V9mA6MpJTi$qE6q zO-c1n9N!x~eHwpuP~_B!cI0E%SN98~1TbD1`Y2`YKjK^usyn5aYh2rHOdG3aL!uj0 z$#P|ae(osOi`l1Z%-KJVY{1*H}KxM|8QSG^xGo{NJJIvy>L5&Wb2L6 zFy!npZ!S;$_!`);%y;SP$KTYG*4ceK1U=5Wg&RM)K~+iVj0H>TZ^t4D?1I;YCV;%+ zMK{X{eq|ZitG#c7t^f(Jg+szI1Z;$V9%t;p3eUO<54+!RsG$JMQEPtSVQ?laou@m@ci#yR~J(z{M5MJp7#~C_%>efW&A*2L^RKga#klj0Uh2j52K>6dJ5{&&!n|I@2#CM8wBLOJIJ8zqaYU2ASFh*HFX<1n@efr(pm*)D|lF#B3R z))QB}EH;i7y?2E)Vg+<_znFinLJy8^3o6qr+}0w!mv5h1imTsOCVlXngoo83qUqW_ zUX**NI6-y}L_}*i4p_PBGHT1;Q|?qfNFp^SQI?4{Ac-BkyZ<-W_hXh9l5$j_i@PhP z^_QX2-=h~gI@<2yzxZ9%TR&WYHxGLLd=F4ld_c_zl{9*}RS@=@1 z_!C7k{d)HfUhH-|Mq~#(mQBy^(s{DIYiLMv+M@NQ4^Le2d;erV+d7LMpHD;JYmyE1;SHQ4q!vwk^$K$oU?|e)Dx9(`_DdfC zB^M*mI9|7VCm1XYAj>vH&{P4gV=Tb*OQk{IyJwtUi*>f)HMfy)Z3bOPt#H=u&KYs? z8B+u5z_<<)+D7}iu+83FdHNterPt5ZVhk@N$VG3H29SpB#bS&QEkjEnv;Hw7tw*j( zXE-;lq~zD1SI>JytTn$vPsqHyzL8P(v(5CZ1TwiKPK(Q_a-CR~I$8=HJw0ru!^nQ7 zbno9g42tUsdW%zSW#l@eF z6z>PB$lZM9T;0}|jhe7-q|U4nJhP72Q4d8e`1V=R(7&)RPa(`%HB>RtXZ)kpD0NjO zPw1Ni&W>SwYwNu0xvq&el!8tY9jjaKO$iv$%p2OzAhm}<>G z*Rl14;Zt;@pc9n6DpKFA8x!ro((_rqLnn%6f!D%rP7*cLXXhef_;n*-4^O|}^Xam& z1HYF>6X1Gv{x;`GjXdFQl)nGnihQrR->r%dC1)@$!S?y{f^bFr#@rM9u*d`c`8abk znSg$GmlmfFM-=+p7u;07@-v-tfXz60$%mU4mA;BKjaz)r?fMGqmXx@3W#`M+U-5`8 zWaOo{KC>9C-C9XCD*d+af}Fk2YtAZYQou5gvZO7=NY12;N;3%y0GkMIE-r`WQFg~c z265yFc=EWdVvVT;$Hkh+)K@JobWfn&v^TpO$m-GeWq>R!LFJ3_5#?Xp_%T`eh1-X<@Xb;yql7t-5}mzzp%ZujZZduD>y_w)a% zE(ha*BaYrtlI#gHFOJP7;sv?;M9IS)@>jTZ$^mm6r?;g?42>s(O@b%XcIOQrs=ugd z(<4v_AI>A_LUQ^iwCuZz#1j-=v#CjVsWFa=Q_}hj%>p~|C%c%Ss&WXusm%<^z`&*5 zXQCW5Dk>^GIvWdZl=UJy${mzv^(`%#a=`x!Ru=Eg*F40!c~W(ge@xJZoOe8#^ehoo zI!4KKsVKLYGFOX8B||8IJ+{0%2(LYZ^48$(;}LhXcSFDN*ht7C>Rm<9P%wd2@VTyf z1&W?@i4oscG?*H3U!EwKp;3IoXRz@yG5WbXT`T=CpFpq@Ttao)V&p9)B@tmOh#}rQ zuoz$x+37|PAbamNMeOgzJQKgC`x^j9`^C&f0k8V=|AY*f^2xB^KLl61s^0obfrrHC z_+`{~sxHgI7|{Y@=ie<_6JGyB5rtgTQj-Y1po@XRf^ZeKijsO3e&g#uTNFOati68Q z@#1)_4wnrHdyd}66!EuC@e6$@Nye$mW3&_sB;T*c;oyH^pd75CqZATi4R8sd!hV$B z@AEnvZbRy=+qYe$o1cKAv{Qg~o*?nyj&{54_GGE%*)y4pXD>;`pdk7Nv$s9nhhkdh ztsWwhXRt#bw#8tL5?&JAlDQx8FXyr^Kuyk_=oAs!%=upNs`TXH98T3%V1vL__vqfvH(YxY1yzWLQ`vD(?K zwEGV6*dd&DM4KjPY4hD79r_jDe_TYs9>3lkY3vs0F;=iY zNrPgsUOzr!vYB&0#>e-eyqiy5g2g@i9%;@!TXafpk40O(R6YiY4XKkCy)Pv4`-v9QJ4J7rqiTm;pvyPiQJ9RUXRYKo;@4Z1o5Zr-)k@!!|4FThL$71 z?vTm{-*_V%2~N*^uuF?nzS@x3fBsimqsbRsQotgFM~30*C*|+LQBS~Q%D0IatOKve zT~QBi;PGi*ozE8PKhS&bL#3wd?SMph(2GTA;Fr|Sa0Q$5^RLJv*sdb0x#WpEf+TRX zeN5o2F2P_D?nXdQ?V-uL6J7m{6I6Nk6CqOvE^v;xqg{Q)2|S2*_ul?{at!~=xmsW~ zj%GgKVnJxwA6CmL5Szt#Q@q`fRywKjgWyQJ{0WC~tKh9(^LrcHD}R)-%`pZ(shVNA z8}E8xY4jmME&<|)!Bh@|I*Z5V=4;=-TSrh#EEMMLk6d&g`!43nN9hEKQeZdnFN6lk zF$&neKl#zrR#USFiv-_;G+k>Rom`>DQKHCiR*2T&cD__0c`C3DzyCE}qzHqc051C8 z|I&}29N(F)ut_XXk7pCSmyWfPbf%~K>?FJz%?s{sBrJ_48yLj692?sm-3ZJ)z_iRW6?U9&s{15n;j+&fjEErmQvGyxu~;~?T7aY*a(pTDhQbL44mD=&}!O1UEH zc|gxBx6AG*l4BSM2br3jlu#piQmt5J5`6p@!cB;0X%r`v9X+g_t9G8B5JbD$`iNbn zpnoJ|h5_!uL%8-4m)5V>0;4*Y=M_OSl`D1W+A&D5Axp2Tt-T@Ty}uf|1w*~asi@BX z{$gXt*HJ87bw`DYmk8kj+~ef+dI%Pc62( z7>cQ(t^MoZn_>(!@}cV!7tzYu1924103=ankaWw((5j=M@7NYMH>W@ETv;K)XttP@ z^aiGod~C#)uGuEs%&M^68o|ciAEuCfuUna!-CH^9_P--_h9|!L!LQd)_zW>*5BK@H zo2RvP2{hpH@=QR0B|K&qCVGcmmnPd%#OJc;5H5$xptDO0KatVOaTkZHsNfKPKOT~3 zP0|>;{s4(mnuRj8s!gFp!Ps|DDD-@ARP}i8Q>?^B%T1lc_~3y%q+vX$LeQaM$OC;d zB!h5kuAEsKpYAg-HY%cagh}B>@>r5MZ#;(t0Tz^qzM|aPV_}uPn-3jV%0;3x+^6ds zdben!9_amv+~f>7A@iH`J&$RAae_>nlV@q9$nzYM-H>nfJ^gaO-P57%vTjSub!lG` z5j6V&PMI$>>kRM1F3;#8lruMk+KZ369KqfM@0~$|9riZ1>Z{%4yu=Skw;x}A{r-KJ zN7KcFx)K_FF)%uMDSrCxc%r+p$2o7(MbqKiJ+s1hk}*UQGFTWlh-fj!WMl)08LXSF z*YzD(_h{~w(BxrZ$za`VziaHmPtNu6LGDPf|HPj+B38UsmhY_;Y!puoa>Ff$w{zOQ zR=oS|{>5YtT!*lgB7r*=m(+d-Crh)0bCZn09s91xYGZJ!q3K%w%*4&{H(~m&J8r%o z_jT@!vfSO!vgsB$2v%~*nJhhPstY|aFyc{}D*990_0c)Ep-_^FlvKiDzc<7S>S%mm z6}bS7_I^spXf5C%Hb_3@pKv|=0xQGk_tHUoHW=|^)|6CKDO{|_Y+sC={df+JHfsyqnbxA$|U%{3!&46cEr*rF#Y{S@ltUj3?bv)hHgtOblH-k(*KgyRA zd~t?(9ac23aKpvTJdVFHT~c8orETB$3I!nxj-yYXJmtUx#RG4Thf?_zt5P|S&a?+W zP(9kAIiQWysC*ZKTyQ*_LYH<<(=57iWp8f6eG5O(oO4&Ff#@k2$(ojt{{9OmoNd)6 z)j1gRL%R!5Bjn7$OD0eTq~8@2<)mftaF?!4*X(at{rG)957mj0kx_u3zkLGqhnCdT z0|jOu%@%HL-l3}&F=n3D0pjFGP@f){233;6h$`YmTRg+gW*dJi(?Q9m&-yhV*Qt8~ zdT<9EompvNky)_6YE7PD&eZSTrj$GOY^kjcbejpbd;aA(FOMd=C&7I@+J5j3nP3Rxo8#}Pp%;lT}0iYHcnSOQXV zt`_`Ig6>$auS_u)m^N1c%u7l5U9=Vdga#n#p4|Pv_pR`2B8zdIm`<7n%$Fk99km0? zcJJ*>9A6_di2gj*25zuDkO6fVLw1RW*ZuA6Oq3H$45kpPIhg8mm?LJZM7)l^udWtM zudVD+GFSkG6H4>&tia2mpsHG3R<;`dRgj|=eVxe}SKF!Vo|fn2IV0bY#56Dbiv}qye=P^L;S4t^qX%VT{ z;?*F(&dQ1zWYeiy=KYtRY&Qh-R1kB&9yQ^XIPB}~U0=zc8~yaD^ICLI=i&_mf&n%f zJWyJF{gIiGfkw!8GSi@6*`KLWJeMqH2SQEo)qpc_ZyE2bywUt03_MqkGBv3N&Ly-? zqVB~#!CM?W>8bah=?GrFDWb+(StxvS_Qs~BGe!Ar9XkN=0H4>)8+c=D-v?e5ZhPNx zw{7vclz473XV(Bd15zT&{S%jw4Uf_V3>WGkkC#|X`j?<7p>S81D-J8 ziLG?xihADjbHX^r`*34Akz|ySkR5*VJoJGgjCEVgk6KeFF@(93z{cy4fBYEcdTTwB z5=p9OdlLK9u+~UJ1BJqV3c4~R|D65kZzMDSSvf*?fnlvyo6?>M8!XKyxJC@ewECZ+ zM*iXk*rlBckQV04H=;>@s54B2g@<>^-L2a)VX`G0V5>0!KHuIu6pE*Jr995;ASA}Y z)Z90%73(I9-uKX>XJA+vlvk8W7>BYML05`XTHt3|J?EsFl=-l4yjXNBjv|A zno5$1}l6?TnK{R=9S@dma5i!(D>3edR4Z2OSBpZ&*a{moxsr?w@U6qj=Nk9z!)$U zhpv?Kt$H%xJi=-yf_8w8`pO9h6{3D;Z*z0HBP479UjV0u-#3cXqK?`f6nV! zl9r^RbC1CB&7V-y$IA7)S@L(W=WsTz>RPT}3sS-p=K6eF>p?)=F=pLuMfKkHk6p$0 z&Q0po4u-7GYpp+kt&x_HaBZfq20Gh+z}QZFI~qM(8i5eVBHdDu&v}$&Wg*DLrCOu? zmgBczo%4|sH!3QsUV+xTHelIuaNz%miHhpnycJ~X=ZWHM$0H3yWL@U&3E?uj{KRWF zhUiLzQdgtwv1H+)a{!bqbC!>6*#~#n98W3bWdVKBK&7V~X| zhJU{usNe&UCDV#Xo-y?o1m*T6(L z^)W|L4VU{g@Gii5@$XlSTRrlHhc^EywVP%89BwFsy$0mmmX>d7MsH=4W7iad(aQ1= z$T@H0N7E54Z(NAY?61hl5M08)84Mj-f=nx61WLoI8w2p2K0a+iZ;_7(iEV~*0PxMA z#VUw9P&`H8e?}#uqFnNfb{%a3jGWTHIJNC_GcxM*D?!SC5{g_UxM3@Dd=+VZro?$Q zS7o9*Xw5J6c>2sG?IYM@o4$e3Qi|RVPi7g~VAHf&q3aXR!^I!Y#Ay;g*TYKhs84uu z!BI8~GdXQ}(?NP`TJCVI@wte8Mp_zatx7>1m5l` zK{5gYuz^Tu@6t96Fm~jJa)irh(6#PI|fq`)H$0E?CuC;!nKmS zIsLS+bt?5?%*;Rqfb4h5%4RSlFr8 z6iemjZF&x1B7_JjMM*N z8%2ZZGLLe}4X2y38?J)!x^X%;wChPoZVogC%)&kN(RTAr&u^b@B{OM6$qR2km%GIp^8dF+Bbn8}qn6q!>mpr%FgK?fS^?P3M>x zds@pdV*bpVpIt?;e~zArz+Xf_Q>(<5O-xDwZ5{GI!$j*_LZr%AOllt|-Y64~fPNsE z>Fk;^10!SEB-+{yhD^BV-!FxVFD!oj8Xockl#X2q z881S`Sy^!iz--O;=jZ4eDcPLVB>L%;U70vhWBH`T8uKmbZe+i?T8)uEr?;gZL^w<*31Q>{6>n3Ek7Q(+^pR9**9 z-y$jYRi2=YCP@-NYgo06XCdiNv2`t*SHUHG3HHKYU#^>3l8DG~ylbS>@#sQ)!16p|L7!1^M(nXK~bh{nNK$Kz)*>CQAMkvfj|XW*&z8&>yNXsueH;RLz=# z>-_AG=ImtLyF9Ju1rngXG`;#W(VSAN)DL~8g(ZeW5kIHz+kR;eAt%uKGXuB6Swz?r z+LfIuii(A7KY_UR>FyN$hWnAATyFzWBJ4hsa6x=tc!!{@#79R%zo66F&TidrQqV|h zXsB&Kv6VDeDew{2;U`^+ zoNgisFXe+fzGoHS#Ot+%4b-4)+~yOEy%8L7n57T))Se4d1UmbS6funWgFi%QX#Jg1gZBd6=m%5xVg zdd_tRW}SJ_hZF6@!KVdp-)b6@mG$xPHiSmRv~ux(cJ=O)7_QrarOF2L@lPthrZ$kH z{Go42re^&MO%G930BPQ@NQ2=)47ln}M6eOD-iMude{oDROQBM71@XH@qD=jw;iI(I z{QZCa(p&%K$m@fNga@D0#NrZbIbeOCy*9Ck_b+)3EI^YP_>QsuaU<4y7LV@Yvv zcAME|ahhglfhcV~OElYLgN)Bo!ri4E94Ec;cU4jL{t~OmXBK9Odh%Xs&rl>1-w%MQ z8==1gCbZcbHO?V!ziQ0l-nY@cVdM4Z;2Cr1Im~=e`&I<8^G!lrit^VEidE+Q~#^QF;4n1_`;UKo0O zzoP#)B;1-Tt{X!u4cet!&}x7ptw8aE`5nJI{lRJ1buU2zAI)Cx^?kKl7Y2&F13d0i zBO?w!jsIK%wbQ@8=pBkHC_j~I6DVS2p&Mq*O9@|iQSPguSh~da)qX$v}{_CkZ^*Xa_Q2Xh+z4( zR44K(H0m>%4mRhVcc8hZD9VTRz+(vcFt{dY1p)B|DykS>BS_UrV?;?E2sO_JX+%wV zyCs5Y7z0+0xqHB0EYw0Bymx)Gr!*ap$4Tb%M3<9yS`hzo|Aj5sg<3^75HD#>L-LCI zE^jpgsjle-fq%p&k+7xvdGKdAriW22rFVlS}ESfr(PVxLq8 z^mv1*0G=j3A&!OtqDL{4c-UTE9(h-wfSlxHdOMW{Ko-1v=LV%=;3-eQ3dMa0$rLcs zp<=#kSwpe87hVZHepje|RBve4I6=1u#IuL zAO-%)&Yu?l_3TvzBlaKqn2$M2OHwi$v+r!LUlws0m$`u`1ez7o_0z$x-CxrBA1x(V z$-@Okb%0F!Js<^Ynr8s?$OFqS0HLd$--oOt5E(f+oaazl)vvc61JQ*w+9745%6Ngpkf#V{HN?Z;FqB8^= zEkyB&vM51f!ZvZ*4pgig92TP5Aozm~bB?vqKhHymL^-T{YSZP87e^y#C}H7hryw1V z+@`UH{{%kc?@e{OLQWYABBl&w?C;Tcco(EYJ=ttgN($4jKH-SHYpR&!<=yv7pBTFFys@yh@8{7e@Wd z`+pt_jbDwBfpYk=Bt51pq01`lVL1Z!8BP%26tD^UCIJ&vU0L*iEdQBnS;`<@3|K4V za!kw1?7*i2X3h*eogbaBbCuRX{L3#56_&eU33+U1P&I%XdwKT96%?}K@#YqGxNrq> z&Yue~2j@+szp&`YYvExf@3Dnw%8;lHIf6+`@UmUataK574(swW%l@ouI1~@9 z=wNTiHjO~Ig>eVzH=95g=TSWMyCs*_#_d+b7{?da}n~dWy0l7Md@+BFk?~_|I zu75cR7!rG^Aq@MbW(a{iME)0|afxI&3vvC14R+}zPxb9Y8Kt%UeckX_8V~J+oL57p zx{3@94d-WP6$TX*;FTX3I%@+=#{OzgL1s?Q$jj>}OAYoE&NcYP_15Z8g>vtJs_3Je zjaR%kp--HFvUK|+-zqb*vnvPw09Xv9y@?obe_?*IIx!a;TQpPg!@#LdY=v*{m(UB6 zi5t(elfxd`xkXYJ3zNF5#!5v80$XyA|6c|A)@zG=ZiUe|#Y3es+p_Y-GOz8@#>yvPwl3{jgrV**whTr}jvazl zj^+YA2hWO{jLdm@?h4I2U?FuJr+TfBNe0TuW9{K9y?YjdhyDUi({tAyFr#~bD&+$F z*dT6#6YlwG%eUungAW&><}7K))_+wcnI}BBs*?N;ZoR6KoI6D|LjCH0`8^K+ksmGs z#mtm9{a<)r>(voRF?~oK@KnS29DC=SMe<&PO#7enkUYZ`g|Q&OffM|Rl)rF(L@GuI ze`1vo=D7Xyk#Yd!cy-PoH#p|L16n_$>XO^U0=hgo2Kf z_`jzbZ@+^C+z2Of$<*-1G~?-fgKZH^>Q$AIk&%#S|AJ?A!fLs4I)a3$W zq9dE(CbFZW18N3#=TJp}vRTp}=paB3{#UH;O5Me#l|D3E9$LaS;0@T;+H$BRP~M)W z0}{0qAik`$v`FMeVV2;dP2+n%+3XTb;0Q1?stfYDI{hTsxMtA9qhnyKy1Td}#fDI6 z3D3Yy22>Q_)<6ml$-9{MvB|23?6ceBpCAQ-Q7`@d{ouS45ZL)?(eI^}zIElRf?a_G z>QaHPwd~Amb@!&iXct>O3+v13s+!jBiNTDA-lH*3AQt4D)V}b*RglXBZnMQ5T`L~$ zs)T8RW{zh++6B~>+{Nyhwmj2$>|3mBv!&kjiJ6s2RxAxFB9ymRIJ>w$m8jzw#3zON zgAEnk2A_c7lkr%gJz1`IXS)djh-zC)=EOma5* z=;v!{x&qFEY3uyDyu52It@Yqto9Rx4Ix07DeXGwOUW!|duE)0=62M^6>68{{c>vJp zP-2{LsE@<6HTtj3(Fzz8ZhP!xn7R(+5ezo>l+Z?=;Vj3@o6Yazxw zOwvf0ijJP<2{YQJuRRRdDr96}kbP!|V0g9$2zFB}_A7o!TxHIQYL?*s#kqHd0j&4R z%J_Dg!jx?EMeWn6b+RTD);le4V2N@0^`_peqW%S|p$$oPcr?WjglT}%h(YO&iIFWT z@?%*0)Ky^A<^@}q_HmSoy*EnLAtE4o>uOZ2+G_+<52YA54SB@&e*L<|`pct5t-Xya zHF3KA$O1p13$ScUfHZ0u4eLf``G!)^Cs`o`i$E{N(}p065p2583~hAgot^dfnSEvX{Cs$6YP*e4J#&Rz-;|YYLkst( zlZNz{>c_t@GES>lZYrPu|4zP$J`)hOO@Bc=JY_IjZXu7mm0F>pNs$x$qxBq0gn$z! zLap+!Q-evAYK{V#Tt@FhM&CnU1>8INysWI-&|J6ETiDr?{W3j`^$`NC54w8l>VYgY z+G{x#5fKq!cj9lis{X__Ps4My6e(>&MQ>h{CYDkz+~I}+fYx|#H}Hs*_&ILEhyA(O zMxn>H8qyP)GCuu3x9$gpag?6Po!9yIwmNr!^#hKS6z8II*S_Jw!7DPyb{rq)iz2ei z{(gCwYE&QS0zi#VYI&c$o@2aOn!Eqo=c!hSbaQf{N1-+SOKAqXSxfWzRrax!g5##@~MSHscUWJ%bhGk zKS4-GBPLx`QQ_bYWpIdMu?Pqrx@~I#FkdYa8Me3VC(k`yLUZ$VA~d$tN+-oE;3flR zUTP;WRUV~TBTi1a;#cF?khvn9<9rpj7NI+9>)`N(SX>KVJe(=7_5J%Ow-4^S zIsg0TFR%XRsnsEuEwUOmX@|5M)KlDgzfy%$Vya*@MYB;>RUL#YfZ^Ff+~&(xyaxqi zCuJ|QfjZJO3yMFbp9nAmJw@wMZ@vdmaEUKz@e;0FqU@@q;_(9t9 z^qAv#$I)!Ugse7AZnv08iX3s<5dUT4u3AmXblv66OpHPKMF*_crdAzOH6orZS4-=Q zZ{2~Ea)Ng*i86cj7Du#0AK8o>%Xf{KMYmCzMMp;J85!NWYgBUc8!a#@p-%@KOI?Xz z=ou!%SgUxiO@jKKa78apHJ}{9@_SO$WyZz2xbrR$R#gBNjTd~N`>VZDl~I4Eh5zR- zCe{?{{x9Al4O)ldA0|cIX;9lhYYn_uf=p0E zgQ7=PTD##;?Kk4As5w#Sc(TwH&QPFWKLNbZ{{#F@ISCHabUE0zNDHOj5Y9i`ZTwK?JN^`@I*uj zP(fQ;qq{KB(<8faBQOEd@V6J2XsQy$H4h?>456hB1&UjtFk}j5w2jIqA|;MIPN7ss zgIa6+xJ%0P-yJ>Uv69jev+``TIe8f0vTVN6B4^F7#keJyIswIhw@6+9)zfr>E)bl1 z;3$ZSrS+i1*}oBq|3MdujH^gw>^jIts3Y-Tv*G%gm|W8dcp*d9^mH#jJQX%XPy)j0 z#0*o;0Xd0-pTG_U=M|J~BvM&kKEW;Y1h!;AblC}H>PDhSNqGn!G#P5ixl@h1uKf6M z3JDy^Ui9h6)u~Um8NG&qrf*m$*=%%~C2WE$0q7{I@bY*yAnYT^*H*i+_iqq)Bg1;S z<9sg8W_lE6K9H^=6CNZ3<(d5x9z~#ZAPR<*-mLC1rv&dPN8ua{y@q~~zrTNJYjYya zX5THRvlHj!M7n&RpVK@_h9@wqLQC``QCbC?g=EtcibZ?4>m>0%{t;rNPtsfu+o#3hW z%}hTZVX z!DK9MQeC5bE$NQ18A$DLH*dVpPD^WgexE)({SMiar$~ZZ~ zaFGBy-sw*WoxQxgR^Qjxcl&y(hBSi23ODmH%$2_}SjPK{_9v2L z+Dj`2l2NUeny{-;*yiT7R7x{%n_gwKvY7D?9l;PT4`=6&`4%XdWUGWf?U*jDTe|OD z*SN$~qX3#e=vca_uKTBXN;cu5ELK^Nlni7_@w4CRo^yPprj{UAD9Ir3@FC}K!;A3s zP_2@&xs=lX`GH+xEn`C%`zYOnsw;8d>-0RpTK8tvIQKpxC8)Cg27Qo63p)|MBGx_v zB~Zc%J))5q3$61!*rP?EltDgf{&XvzraiiC7o3SbZ_C=Fn&6c}%yvf~gRAAc8^AHDaS z{VaJ7QLd)~C!9hjiT#0W``m)x6^}C^fr$B$$D?lV7GBM+Kiv0!9y1*%NVy5l%()30 zfo67N;|+}O1+lZTvRjQtRWVE_VrR#@bg;F>{R+6e`Pi8O zn;nev6|9DG!haSP*Se^2zPd;QYLk>0|$#6(D zTa(mGp7*0vH@-?v&NI5rP;!UK+Z$Ficthi|K+gd~&R&SrV|IlI4qLhc=H8YU+BVm( zU!Sb(Fp&_7BB!v@o!(l^MS+pn!@a#2Ndy_i-W^xtW=3!z?hx^ep6q?9Y`I zN%#IN+C!#(-c~>oD82*5Dr^Ms!D)&U^yYH~F)fX)`7;3Rj@HzP_RmXxj3D=5p-g%X zk59P2R2Nh`pvHJKsFjeLtGY#0w|OfJMN|5A)8Yj{QUEObsR-@Ys)ZvaylhYpJt6Ar z=>a#EMr?h39>3N{Exgb|ZWwM6JTuOf7XVadOGG~j_pPhBgK_F5Kp}o>Y~q6J_$WJ= zcoi;xg7ZB-Da6gj=nRUDhCg@s`@ zlQg02yJsQ*{2|eIm`d2dU4X%@XYa*-?1j0 zjf;rzfC}=W8_LzBp2*0t=kH*l{+{dpq#x@DsP#^OdEG#CM)6#4@={YHDswMG550Xs zV0pFwE|&BH?_G&HR;My-o%?Y00E4ekzv(BMtP}RVL4CBxZp{!IY*C?K-jELG~b#z}_D?<_$zK21;e;aCQ)LyGc zzbfAj8J^_M>a%=H`%2Fsm=b3E^``isqdEC4jF4omr4OoWq$Cg3@}A7_&74+Kxpjl%aZWDgn;bf78)3nunH;!T)mbi%)D ze3RzCYdqz)8YZuoNaF!EKK_4K?9C5K=zGY2*6d5DoaN`!KH1c-M8G5+k$bLrP>2I6 z5-lk_r%V+WuzIU0eKT8f?vnN$7ae21k276oC@buv4D!qK_$JdI%%s%c$a(jeBv1jdI- zN@$sy{z61dy9TlpY{u;>gPtep! z(9lG^End7K<{7al6QWb5%oOAoA~>V4TITwb^YfS9%+X?tO~xB{_qREc#RxZ}C)$-> zU(1T2)~q1}15IHMg~SH**JCu?jf0-YWk|n8#fR|^RFsrz=2{3=E1|qe!r;I9WsnE)85BfFF%OBMrZLkLg4=V0j)bT5%Su)Ip~b9WuHK~ z&Tr?r=E2v2+WpCy7niC$G|A)P|j>@WA`-K&Q z6e&q*r0WKxK{}Lfq`SLAKsqHAP(ngLQM!?k5|jp|k&;G1LL|TI_KCgsc;9`_d&W6q zeE)36^DyAPSIo86TytLYx_)teGNCu`Cyjbh4Qkkta{+(oq+x4!(;<}f&mTW%y}F!N zLv(e$o#fp>gyz&P!J{87cf(a2u3z4t$I6{7VT=Y}_`({#+qWOU#I`EU7@f-~B$nPj z?>spP>V%L0$KRtNkXB702h6%4Xv zKq@6R?OsOn6^8>wkh&A!mPuA!KA*^cvnA#Z?zZ#Jb%wALIyQVWJ3D&@%($~^1Nfwe zNn`4Uv?|8+Po8kLHc8}%FSb=2vDHWh=|V2lbJ-ZO|RZ@|XxIFVL1*zjR4WAwtsqYQF~^LV00&mES{ z2#w{L;+Lpau}Q6v5r7I+WjMiCVA_ugv1ArL@lU=ajAFL*@F)$UZ8y&~u|gHs=+`z- z58P_;a$W9Cr`v-1;axJvawce*s`rnjo`BCW*qm~%3}1?0%GUwE9WusWTA+@Cg_QlB zom*3UIz|-)L8he#U<5bS< zkk3>L*q##yR0?ELDNHA5Aiv>5J8Fr)uyY8&h|{a~z&;}(k>@f4qxhrj@++Gi#Oax| zw5&3DLm^qxJ-Bcx(0tfGPMspEq{dGsz2hKjQ~#z)UsqRNG&qPgnF8|oeh(hZOupPQ z=YoQe+lHsBy3HL}X>fC!sYw|&=6{F{H|edet7F`Ur63?=tP@|#6U$265MUrzJOuzf zfNAPN`lqKVhbykc-4cqEPa7>Y6XgQBzp5$(NG20jvI?84t8&(@PZo$>KX?bLL~v75zqm(fJ&4r59Flsdq~pfakccK{J#T=Bw2Ph^kKF0!xn~-?sb!@?8Q#E?!=G z3(vF=&-WHXk|_y_bCCki)eDszCd+ytWR4{B3u_<5;+reu7j?NhddZh}UJ!YK8e z9{&aJLm5~FG=9h$`6$xpN7(YHOHTdytpMqJf~HuDks@ffi(9e!cYyJNMf0&E{Z=cy z_+b*%F89qYJ+3l0=z0svAh&sV%nvnE^lv?zd_>7Bkf0xFBsHu*d@q$fYT=j7acgT( zl@u8X_b)X4zzVIG@8^GgT#|#Ht52Eyt-zGIY1K}RLnFmfUmk(wm)~4ln@VOI&h@Yh zy$MGTPv8SqWTwtN5-C+%3GPHi`!>7@mP2Tn=5OV0t#oQ_cS~HtZRaJk5@p?<<|gZoMazq1Zjt*5GqZ%> zfbNMPDXrqgK(Svv!)#NMX{47Jztp*eRC7PKkc|fF=ts26{P~6j^nR%ut;un>Vy>NV zpE$zw{=)f?R#Gd31Qv8Q;t$nwNMk+XB zED8npXx{O{}N;R)rwPX%0r>Ig2YAP%FS@6VzQ=`&aFA8uEUyfW%x|DE-_Dyc`VTcXYkvvUY zK5bz}st|hZ<~CbA`P-OG9ux9a>)iS|fqO~FXL|w9!!XbFd0kOA*II*Hxp!&)Y6gdB zYf#ru95-9y^KX=cKC@mwN~7FAm{2{NWXDdwz!xl43+P9zP<_%nL_c>&Jd=GsFw|Fl zK?6|uH&*GYOrDqE@M`GCwg2HUi$2S)Ja(7LbaUwQiEYISQ{_wPbV-II6ivG^0{8{ zq~M!lRY;l(E$hxv7jv?q#T9RTkC)Nm_Joc+F0lY7N~*g@mq$@oVZ^3&18Un3WKch#o1@$rM*DU%niX!=t}1Zq960j(7hi`MynM- z3tkHm-M$ zqJ>FJn-1J1Rp;y~WB*J;YD&MqxoW6wD5i01izhpSOTL0zqg+Q#OA7Dt6Su_50CP!k z_u+~V(Y|q(+*kH!4-I*QFP_LgVxov286V~5?+?KgAoJ^A7#kwC!5AJ6CEmp4FpYDc zuX~a8o+(=jXL`V!N!^Uuj(WtHN6K)0M}9>pSZ8@{{H{1&T}@u-60<99w?B@ui_IMe zhMhUBg(jFX%-7^)=G0Uu$jM*yw(#>hY1V(wZHMt4M$~1lZ??=25@kse-ofMwZtSn` zaG)tW5Dm$7KS4*VCM8vTmbUBJcF9S?dw&vbVOR>AqSIng~!{RH@5UUO`P$PR+rU$(}S_Z-#*ez z=*1so;^g>PzR4d<869z9KFCD@BcDL{p`FmTXbBo258kSI_PN{uBuOJ?YOxjQ7f`>G zmnqw10f1-R)nRaPO`cjA^%NbF)Idn9vmHwys8SOzw$GQL-NSQ`HTxCAICnEN@c8%` zUj~pGN#Zn#Xb0Sw>VpcG-&ZDmGO_IrN661kC;NK#%0kTrs4N+`S+g}O)#$KOsghHz zFmW@w2qN3~qj;WJVNZ2VL=6kZqn8?|Dmb#v8F*vw7Zt~f8Oa#4`_oe!9{2t6l!=ua zXlB4gQqZA@l8mgq32e4GWn?&Q1Re-zrI$1|>OC27d#o&RBanJ?xueIN?tm#G6k-Wi z9C_Szjpw)I<<@DpQ}ZR$gKzSC*rAKKuBkz8MVEZ!(aV9u*Q1SZ zyw!24VM<6Q@lho6N?ayt-%5$ln!r6~@+-AudD}_o-oE65-zjtpxT(dCXbv^L*#@a` zE=AU`+;s)_4xq*kYF!r7)O_rNl7EfFkB77`Qsi!P8KncHQ~T{jUo!?I#DE{|%JGI- z>Gra%we`4Fv!ZpR6iqspd=F+F69jHHc79NFqQ3+oTK&}zv7&`hai803AJ1p>h*9Lj~ImASaphBH^Nf7IHIQ==Ghqfk_ z(5T@Jc3=p_`Toy8cl4@GVWvQWHQiSS4gcEf405fL)u-?&Tq0D&GP1L;gPMQT%|VkQ z1P{rFw}cMww=U2E3N;Zs5=WxDMJyRgQ^>4oMa|+)yb#T>3rJ@Fx(=(FA}AB;PJv6s z8H$u38l2$#qO#YjTlXYXd1vKh#lR1sA7H{c1EZc`7l8NsC&eE>$)u*h<1ip5(|PJ7 z4}Bv%t*f)E;TH~RPW>L)CEe_|uM?qu+w$f6?k{~JHKHK;#HSm#+6uRTz6Y&_VgNv! z0YD9_HVi(kXV`^1pU)BoUO)b_@K}5qgSxJ2GAu(ToY$^eWs26C*}n_PLhJlU8ASnWzlkWBZ12ccSQe$Bm{nvEbL zp(+V0YTM(h)c%tcl$3V_1(^@Pf9VDh(IO%{GgE|<)7bs#TEba0<^t%m06@`OSUB)( zddvPy%bd?#_U+Cgl7S_sc8R`t`zCm& zE8e@;j`T|x*pI}XBE&0vZ7V6}>w5%P6i7)!x^MI$*lyDj72zC$0q7$=vW>}uK20Pl zV8;o29z5t~nPkWWr)c6jbzA`71$>xO@th|aHPW_$fT9EJgo?oQkP-@whgj8j+q=F@ zcHbne1J;R>)YD8Qd#l|`c$m7BVUz+4Ey1aFYObY3rcx*$T6PVTh6?iYk+NKau=)JE6SUAIGY#S* zzIn65M-|oeaC;u$)NOKbOrUAvCaxwG*DT_ga05`A5bZJn;{MPyVWAEvgi(2QY1^>b zeC`3&JSwfU7+)=6Y-v=f$&&i(Ilo>S$tjscUqg%y*DImkJPsGj?=QZm%AFI9 zKYtOr+J&EM5YrB12vkBe3B~a|{GWA9S%BV=Db&3_Y&29~R%TrN`sJ3)r2*dR2h|p% z!t40gHnAo#7L^Pk9wi5LB5PP6QyRs2Lakj~{2eUtt{o3k?0d>1AE@)mj?xq~4HPg8 zF4coD`=cd*^1*+ebFB{nnE|Y!DFST=K2mS%dE6I~L($7Ms~x#Tx5fk~fTgmxS4AUO zeMt*>HBlqe5rZeA9CRLOrtMGd*7R-EwqL!!b<5ZExq5U7`r}7?SSFu5@!vk}U6P<+ zpr^OL^qK>IM|`4lDb#CW{jwnXVL)*Q)Wz|-A*}!&E zNo0L1Ny&wj$-&Cp9PGpAnnKAvujPZuU_7{tv8MDvo&oST?gyK?g^DWo2s=>m^8ada z$t{n}=ixgw8d59kK@*<0!<2T|@H47mSxJ-xt(=ngXgZkQIfuDyskT z{$0fC6BQupUxNqX{TwLJdB)pVV!Tj>i93Vh5EPJ4uD5+*JR#y1?2CJR7JaS`S-QFj zRXliWR^{*A^E*CxQ&&`N^pyYQ0~XWh9SQ&vyf=AST+DsODM*s)8+!)@wszI)?@)d%h+4!O%qVrOYHC>fM6rPO zdeJ5H5)DjjTx?6{uTHF=Z=;~w+W7(A)XkQP-UUo>{QVsei(OG#wslvbN<@{8cBUyWB{x;le* z*WtS26!_0bVb}^$hk9TCr=RirqX)p3*uL^3qT-c^?&4MG2FIrX*#otNw1RS{qwWDS z8FU>}-ttpEUPYiJ=>;nMX|Z~IfoxG|eLef~BABr!;wn?;6x+ly4ejP9UN(N#N@`Q+ z<+!2_$Uz%0QEF;=a#?z;hBO_*e#!HZf(A2zf zl-V`DDXZIB3ZpQfKwt_2L2k%gs8vFN8nibc$qmG&VH|z(i!gK~1F|A1X?S|t zA6_bW|J$ut9k4k`bGc391#}vcoeRp!a3(?Qkcga|&DV5>QjZFRWdJJziGstMWMm`m zh9>&%%D69+$r(!RyBsR@lZz@pnOc4-#;F*B0a=m{tZLodU{d6#fA@G~=<{dr%iV>T zAmjEkG6<#q4EpR9_UmXO!t8CGe9%!yP?vUe`Mx&U+)qVGjp)< zLc?nymxBCR!7j#Pu3xlV<|e<-3r_aVCsLVjJYP|EGKbnT!pjU(H{?w|Q|wyLbz0Z7 z`2PxiKMW2#zy`7X#J(Z5MjZBFQG56C4Sams+c7^K{unlMD00sQAIWRGT$`BWB}3jl z{*Sg8-*v1@N0rM*crPqiz7F2Zd$abo*rg9nyz2KgzhRhe-M(7s6sIB)9VUngv#msm zb6~0iPvUJ8VtlRW?)#!GNerkd+p|yf_5;0SZx3>Epy(WZw!u$t(0P05xxx!+s}72n zWR^ng?AYr00k1LWk`NO;=mo?!v60^hUMmPcm8ny**w8dqb-^FALyEcbo79%7C&;IDz-*%y+aV_fY^ zmh*1z?iwRLET8*~9P*Wv*8MCDW}5^1nFzE36fBQ33ate@Dmhfcg>6=frFwqw|o$Wfj|%!XaPOdk~@kPe#A0^X*4uH{aSehXoxT`^W^Ms8A_O5 zcFGW=ilzyE9^Ao5$&;7hP5tAd_y8<_x;0E#ZY4x#t|+j4E<}i=>*()AGHSu5oLK@cvawPHp{8i_IXRS^C)Gil4bttP^%A6-3OTOKcnXO8; z@wNKTrAG0X+w0SZO1*Zww2dCFl5|owjPJJ|jlIUH9dMy(Tm<*frw7^^e}+}~RdYLow^xdISy_8$W( z4#4cUx1KYOZZ!9i_vU7;-q^wVCzf%w;!h>_tM5*(5N^TRBIjXa{(IcnW}n@z2I32) z3o_5HE50_qIW`nO@&oKCNWJY`M0jz_7udiYokFw?ox}kkPQ1RM@ia6v+k|&`wx5}T z7g;WT3vMqT)uxu`O7({4GyI{gP{wPw8Xs&;R?!0)m~r6HV36w|?&w%Dr7%eA&%?&ek37IOLG*sJzreQ&;%#7P@&EibS^cqrvpjgG@q*R;FE(?(!1#SFSe1Bh z6~bo7O^O0j9J2&;ObW8VzB&% zZb268!RdpF(i9V7%eBj&!~7mEBF)Pu*xyCz5r>Q6tN8!9R&!R@g)6B@C+6)qD}Tk8dyJeyzW+c{%#i0YbN zzLam4~rh}Bm;*Ty}Lv$M}fZL5*pBJ~3& zmKnw$o#kJ8&cFWy`V{a~ASd!?pITZuKYKgq_#Mi2FJF?7k{;QgupawD6P`%u&mBOZ z%L_cs(CFxBw@{plLm%!VnRx^;7IaI@bx*9wJR#47BLDz2G#u&e!!3*vtf2h3)pf-Y z@=TuwCnp+E z*9M**7vqSp71S!#&D0OVkr()}8)gq9D3xY%y|GPsHyqv@;>17m}SAY zHcu|a)=&WXmFeEz-Zbd;o`oEjj8!j+`!M3Yc&e>bi!TvL%xSKtHwB(n>@3775j3i= zq<^=uC|00BL{zl7xcJ^TX-IyhU+ld}M6^;h1>)_XfxBdQnL0Fq1UfiCM})Qx05aKR z_+?^(>8Bw0$emouz~Tn`IDsus6+=TL)ow&60HwQ$3I>tk*7h<4e0|OvH{ysoP7V}x z@NPVl2G>ndkZ!GOZbsIq-MrvF;Yf=kTX^&wdA}bZFFaRt6>hUCf0oOO;A zgZC@zG@D=L`_2<+J*+%X&!NMOf1?SHavG z>vUQ9>h%`?`)xx*L-eWuvf1>qHn*@K7jTubZv{LRl#K88rlqB!oexZ*5K?S<9p-_e z9>L@|Dy&1l{&~usI~4f%WHXvC4*f*U85XEn{dz6CiK)JL+$T#SknSNprPuu?z2l zP;p4EJmjYdd49^$n(c97^`-JiWYo4%UKA?94gkpN!pJ@`;s9ymgTO>mCNWj{bzefEscryxKQX=fW0Z7^4 zJTO*%Cw>ZWQOFOa=uD$raCP^5?>S*6|78BgBXVV4Zh}Fdn}({0 zefWa?NrqD4C(HTJ7y`lyTyzsE+za8aGvkDIq=^@I_=O~bsZ7(vT}|aQ%IRb)#Q~M( z$Y@+l#ej!?5F;DyUzV;wKVj?}oZPQ{NC$qyz=XfZud`}92p!>G}WS%G4heMbjgqS6mdNZJ?1 zYTThiMX_}Yg(8@6_J#4fwxkbn^|=Jh0=Q}@_b%_D3Bxl5%kLQic~cthU@T!xvP#;} z$jPk6>ztu+P0bRIxoMsy-<*lPtb6!1_3{p+q7xo4KQK&4qg2^%S}=b@-ecWFIpp3P`vHiaRWpquF0E}cooELe zQ?u_&x}MByNrWK88;-!{EW{}Co&!C26>{1ab}dG}^#5^UyWUMCqFST=0D_L8iJ6%< zBh2*esC=aH1i9;8Od-KrZOkkko>qa>Q}qO5=s(%5vbFX1bsAjjJmUv%n^(SlizQ*B zqA^k+F8tC!-r@2?7R~M~S0V}5QxmrwQ+GAb1n=RXs&PhIInI$Bo#3M0;q%6uJ?S9t z_e6hjvuAO$&MzN(jCPFA)>}(<{ozV)F-HW6{InzcQ4jqqL5-^7>>Ks(0V0p`nB_J7 zh=Zod__tqSG`(1wUa*Q%ttn0ccZ;tnQN*TPoMU=0ao$uw3&aPzp)mV?WqOZCkE_s{ z2^j$(sv3QXZ>*hAg*U|gQwgiCz+OnHvEzgN^&6H!q~jQckl{4-mMfvN%tLsdV)bJ; zV5a6zWh^pJEjeN+^eH7WZ6`dP-iG@V_@LhlE96pW^e2@~slW6xvY~=8Y?2o&L_8Afs-e-VXK;7ig z33H@uK;uNqOvt{-H1t)tq#`P7z+n^|RVCNuGr$axt|Ue5ln{8jl1)R@TIai-?4#s^1v^_$OzHDqYvg+|vtGj3d2jLEtl2>-gLs3f^FdJ1=XN73GXMC%3k3&C41euxK6B%f0K2r}pimKyLZ^Wsv`%~C3y;Nl-3AXS;R zLCxFQ?BM-hA43sSz5Y6 z_~P0t*7xSls+_|pI2H+w)SRo#!_Rf-r*N6;IZ}9)PFnIgvAYsvqkTSXPL~=l)`&i% z^5jb2tFXtX?4jHuXAf&;3BUDmuIDQ%BHi&Z#=yb!f*c5hsBfGiFpBbqyk2p8!LO) z@)!{O070IgHz^+jRRx8D^UKN9yP#`1YcC6b<>m(8bb%z-<`o#(M~v9`vEnWYnV*em z&)RG6EA4=e&8Z)Ka*sK4)*L5Kcn<_#4T4jO@QHh|xjhIO7c?@MHTIZu&4`d7KVJLR zGwujy@lx*cguNR4xN4rkac7dtfs2s-Eh`qdGd=D<-P!E#2noSJ3ABPnD`cw{(6J>K zAyH+Rx%InMrohNwUG3(ER;lk?j>thMg!gKj2uLIga}QPC>*I_7_kHV2`zdjcV%zA(r1n_hHNwFv2Kfgg>Z@`uQHuu~a5;p76R%M`}xlRL_(F2KN01}^pN}OBK zIdInYBD&Khp~?^0xd8|0kU9niihC6TyRyOeq3gn+?Rx@Kincb9XeH4J5G(PNPxqmk z3Ue;$$#6gK9IS953U%w1;~8Gt`y|4VhK4&tHOXUIPV8r3AFoj0uR&0Qxd{`e_Rs7E zTezE`wysTL9vFC@Tng-!o5$`YDoh(1ay9LPTR=rZx2}yme zyUL7cq{PHQ$xzYywj^`I;uxyH?Ba7$G^z#$Z`8EhfF`9{Jv=anqMEQp#Li6j{=mMU z+mDs7eGA@N3XeC&3ei4k>9q0&j511vBevY4AEOLKq$G&DrCJl1Amy#(Kkpz+5#hm# z`ks?^vo3m92hZ@sSxCqwK7z7O_t9{9mJ^+EPt3U{z#-Dqhefc_5*Rt}!V#a8kLHet z=FA0ABn%WWTKTRrgzp)1tfWUCa^fm2;N`7J8~5j?k@MAMZI`$*Iw8;w{4I$`JcXgg zw6(f=m`C+Yp;ju)TnLpAE0|z#{%D?>p?_aNSvkb$d&bsFjSssl>_hPwDwbuBb~mKQ zDQ?e6apw)*?dwu)5}wN8LG!o(m7q&nvjWk;lKnK0PdZXAGLQjBoS2d+DP!7h0u!%{kcJ54Po&r7jt|fj%jP^9NhHsrSyh2cbnxnfq;K`lYHP6w~i6uqRef_{VAiz+_ z)zh;p8cinCr}QFXmH_)eu&?>%Rq9xtDg8Ej%WFEtpWGA8)$RtNz#Ekpk5`gi_3J*X zUCM2_8aG@1_zagvdc?y0w8U@E*dIN9{d}B4R&USG+k239G3aSk$AK$q2J=;+wpJyt zuTzPvG&ftnUwnubF8@jV;BipMmSzldtiG|Iz#-3jPhoRW*FH_&S?fyq)FII}TDN}1pk7@IO0f>SZ^0<0kbiR_IggV%fVf&Acz`Z0_1vE*!>VP^ zh@!r&;|6+S!wFv9kDKJ=FZ;%%`79{THdsulnRRTm^dlqm(64n}Uh^$2W#^^2`^+LP z^J>olLm#Y=wWKW_ zqw4Z^8LwfGo=jso(Ww&+LN^Q&D;<9{6{>*{J*al8!RL&`rdOx`VIS!0JM1Tpu5x** zm{2pVgr$avux<0{#_p(9F1vMx4yIN{+Tyi$m7WPDz1$V9$4>O5G<1R@A}`23nka{< zJIa`Pi!Z(H6baeA*!s!eYF&e((wr88Nkxew0;wW0%0zAyA1%}es@q2R(mB-3 z7F@9nv&k4uL`$^ADJ^eR3%ze(Bv{17gtr~=n6X+#S9Xx5gfRaW;*Uor_maND0oLp_VC(r;z3{Ewc-MC5gM}4KGHQ-hU*V~_R7uVn5Zpot(vi*hJ*VfVQsawrR z>EKq{QSORIC(P&Ga+P?vC<1{e^Xp#e@{dL&5^!_(aumwMT1!k5>ClVmrPrzS0{s0I zEa!yPt;JlP-BPi=u?`%CFX_XtkCv_poQvGKqy6kE$((xrod<_k_bBc>H?`7TEP7ae zs{RnA-~Kvk3i0mQnJC3PnN>?Mu2|8a0pWKSFNc7scxi;Orm(~1tL=$|GI_+0zY|zI zRP>ELCy(y`rQ(yXvq3Ss%&>a{>#JS1P>3jNnX^^b|e$XlRCyh8d`6He>i)&&Tdr(v2sC?k& zHZt2)!D=^pIemUNbplvaqI`TmfBfLu^w4=?q5B0Hcfw*kb>a~q&5%4nT;%C6D_B1s zy}1Gro^eF)xy2FJ)Yn-OY{F6Z33Q8IFnoI5lZ^c9whz}7 z+s6ueWy?kj-Oo!s_O+}Zp9-gM!G6gMl{3(k9~zd&=O|bg=wI=eT*I(%GqG z2ERF(+Fs-5r{bhS{vs^QA@1rf;pDBy$<9fI{GS)W1wZ)&;HLqHguR7@`M>>E(#g@? z!qMH0ieCT@r^X@a>g4=yH1H*hW?zLB-Gc`*%@M4jE_|Y@mTKLT&-q1*e2R zU=sw-Uw?2>3H;G&4Gm5z#NWHBxH_4sTe$0Ss7T3hXjpi=bI3cGSXoFKaOfzT+FF<) zk1OKMRcq2`2aClx1$y1T1~nfo6XP91$1Jf3k#eQw(rn`PK$?=-8n zneTg6YgK66r07zA^kUn6zKhQp*!zvWy{X-K(b!EVJ9?rt%`bK$!6Tz;VL zceRZf+3CK<`!Q~))u{J(lrDqC6MbewT344WijCkK#;En@Rr?Rv-%^^s?G zMdq_}dCv--%Rq5OSaLz)8-(byIdv+>(7>w2pmBF?XW|P#FQwXT#w@rrh3eK9#m)y` zA{=o#bBj;E$J9*x(8<30=2hNTH+&|`$Wgf?*R_0T0!s_&o1SzT5UfFkUlIa-N9{HEanc(A!vHyA^ZL`eP*2LvJW_XqK1^;xE451HG&Z}&)!glL3^^^w$^3v|QBCQgmA8Zi9 zBc!)S!jeYVT`~m>np4@SFU{B|1-v&m!rRJjNbWfw-m_?5YAL_NkNZt8Rp48;p#Dl} z9g8_%VqAU4xhY+Qw=pq#p?!^P#j6D`hR^$J#IJfzhV>~b@;+xH3Nts!`dG22^A|^R zUJ3~B+lp3I1!4V66+khoE&Z(dX7}Emkon4l{r6v^T%VP?+dWO{d^B;7m&UQkOtE*x zyF)8?Ix^QgR57n;J*)G9#XM<&f!u0ymxal+*~1-6`k`Kw+3$W#L|X{Hq=cKX%b|_a z%JfubJVY3qOm9Bt&XTCxB~touO5&xhT1XY2N-B5dErp|U7+=29!H?^gpz84E-I-lI zeX3IU&+pE5Kc3bOyu-ALjmS3s{D_Lrv(U>fWv1sq{KL1BoR1}r^g@q{Fd6;m&xBjP zjH(T7ki^;iG>g5TapD+!$7MROQ!R%ufq#zJSrtp1xIqUSZ}@V>6L&ii8gb+oR62?(RFY1v7F4&{dD+Ym+do z1h*g;k01{h)t~=pL@}s@UCk{8)ud$pJQ@5YLSqdaAVCfeFE1~4FK%`xS1S$#VDC9N zxi~;18n$3_^Ko=H@n&;$qeUL#k7Gz#xS6@yIJ?_8IZ`2yX=3W+;Vwc$1K(5qbtMkY ze;?e@js5pkv70$LaCnC86%`Lob{>|pdZ~n14+yp^Mh)&#{Ts54W?EmT@Dt|STN>Y-F zQQHP07cV!a-xu=t9u`tC4T^w20fL8(lbem3Qv<;($ipdko1cx7Pmq)I@2&spvj5}l zoy=`4ef}p~o0|z*I=MQSz(X-{cDA=MGePzy4o^q(Kl{qx_w%pDC@KodJG!}>IGS0= zONr3H#jxAhmQH}Qo}i?Yy_2gVL?j|K+`k)&>=lA=5@_Y`n<7Gk z_{Zlu$PQ}nfxKBFGy=Sw2rfl!q3- zJn_)|Y=PYFKfnCvCj6%-{QvnD>{osJF(K_gIIz_)?|Oc8y1#W@=;!fHl_T-;?$*wS z*{0fW-uI0tHfKKi3ObG{e)MQ6_uBACui5DG5y+fq9N~(e@`!K|?BASmA-z83fgBZ1 z#_m8?DR^^E^uLSlk;(Btvr7MNxcui)R!vsoe>})?|Gyq&x%fE$Wt9D+bnw?Gt7zh8 zM{Y6G z+Nac8*Tb)L6YRE4GH$06TT=Sp|KhJ>G}?QjTuHe>r2N6wnsl{*>@eU5=1b9xS8lKR zOGQ_-15W@_4nXby;SYqY7Kl0gkgOq)h#XJk48x(3S!V6M16;iyRP1g30588sj;;>a z`VNlXiKpsq1QM()bP9m($Nl{&9d4WdVSI$eV+*K(C2A8&M0TR!Nm`(>xwLIIO*fi; zjjrK#z|U4>B*5s*#nuQP9K25x8WmlC*fHJ_A$O3;44?bASCZVX6y$Dh%lAK3(Yu?5 z5oT%=YQgrC+ zw@2jtw6U|Ri~@SRjg}iuKpB`nswykTpMs>_(ZfrqI(dK;->wDqZ=cB)Y;r*Yj4=K= zj`t%5WdKdi&!_tkxugJ9#*=Sz_|tSV;tO*_Uze5=hSABTr5HRy!4^S| z#?FrA5jeV;@?Qz<@q4h;ov0hfP6M3x;?mOEMetoOTM+gkDled_qB19#aL2p1!+Ib6 zJJlDjC*z-+fu#yOTTiQXO;#d-2K<8kLWcEaf=BXBlf|!I9g?=CgNE4&c$E@Ma^hGp ze9x;aio}kudhw$3kxv;b>ao)Ec=@YM+o3L015Y}Lca773?C$Eiy#5$Hcuk~2<~6Cv zgpPdByLaMVOmEF&boBKVM7NV&Q`E`;&`V(YSb)WKuUoZ1Xh?CGd@woXIRgV1Nr~C+ zyMXB{BUF9eH0-9eQ8o@^AoD~w4&;ebx95pjTAaiTN*Pq?i*K1tdGjMVUy{8csLJ;K zQ4?RLoCZDrt@S~iOh8hRd0y0`0TH3o)uFs4lf%3VNNYdx>K|97A5q}YUx}*Dll}4K zk^Ct58@P(y5~I|%DO=;#S}JBhDKlrisXQKF8Ul7k3S;SPJzCLLjx#z^nsP7O_g1Q|0VBm*8FGnRfSAFWMJbHKy=^RL9Y!xsI}q)$gGZucn@S=H3j%;gHMyAGfypC={L z-9UZI@x+Nk=8BI z*4m&JPmI>+@dMcx5v2;EthF1)YPn18$xD|$@_fze^z0IwkI&|Ge0E96T__Lnl~Gm6 z9bN%3`H7K{5QZK?I-3&O#uL7eKVxnr(+LZS61g*3-M%o^vWL4QKRX#Xb3mOW9gUX! zAY-#)i+}UQw=z_=#5QxU{=U8!iPvx46UHa6-zw=+zDsK7MNx1e%{2rYZDc=NEiI*# z?yXR2Qi!_#HL8MkryIvnj3^I^>QpYHYPj5VYxPytDyQ5@_*I9tw^B*;Y=>Ix2LOqs zuox0HOmj_P{QU}uniNsgb0|Do5g2k!a(FuJrriyS|95(Z!Aa8B zm9RckAYJlTAt&mF|57(@)|9)l4(kObn%**PSE^jG%)w8eZZIkQU=|X3rc7)|=%=XQ zzLb^OS$mx%k{6#^ff>gThfn#c2R^>4vCGy)Qow|#xE;*flywkjr$yYZmbE4O;&J^v zd>m}|_~@QIer&M}$_%wphzmZ$po@Ee7u8>q8Iw%?ZKNFcVzGJ#s>?Om^nwSbhBQfWo>P&~+T||ccyb}agV`&>11-ztC?BsFdS(?K_XOvn zJ&C;(0M5p$;XBD@H4^JQ*hRdmjKxlR`I;__VKPV0d=%=t`+juX$<>T~!u^_+*UrhQ z)@+kp_m!f+2Y0y7N7wl?_vX?h5*J|-*nUs?xH64`cNv2qoA@jbYIube+Y;InwQJ_}eW&VmQo2YOsPOJ$U~miOgElsU2RT`Z9hOEo z&6TzF^+}NSsIW@B45)AYazU#iwqK&rAN@Q0<%&3gf49J{z&iob8oRhlUs42?i;;c? zhIx^7lAlttvnlT-)}#RT`xf_#F3G~w)2C0p73F(T8LEH+Sch5p8U%V3rjRklp+b%d zBcYEsucRF^dN^61*JjZwN#MMJ(TRsXU}=4=zSAIW(62r!2o)sTpI8pY4HkhBs%1#!+vc9 z1~j>B$Y?5R776C7FcQQFs*p%X+C|~er+z(}$(;Fl=KI}A05uGb(CS zGaOAaXAtzbWhP7zudC#>C|a$OW@II z{Q1$&F3k3$tS|@5y{0$ zY=Akzz=Q8E&%@%*emvz2Jm2yn`aaw22ja3144PUJy^m(p?>34p-ZT|$n{IKsQ=8B9tnBN2 z&VqEtn0r)bs@ij3o9Q_l4_!ujit;jpc%lRrP7IFBO?N`V;afe{Mn==$wC_sEhiM8I z$QXJ9F8uK5pdezVd|1!?*Acm#gp_d3`RLirS+taZz1lE*@zHnhmSli)l9B*>0^+iY zaXVAxAx4b4Er0r!OSVrE;tQ9>T;_&B?D(4?$;X9pE6w1;!8;^KXKFI^6pgi4HJw1b zFT*1{?A*mcrwig9mXp-9WHTS8dp9wJ$M85n9e2{ABBcHvvTX7@ObP(k24~tJ5Uv)F z7wmLnP&m6dW(=(wnc-q#EjnKeJ&fDLo7COc1ECUj_>lM-YdR0wW;zezyzw-&vqEoi zcw~p(>J*+m!!)fscaujS`=0h>o+v)zOYa+`An+ojjT64AiV} zqkI%P%NX_ceQP%LOViLG^4 zWkp*9!C~Mft!AZai6psgDy8i9gW6^_(do@# zOpeuerkhmo88Z9#Hs*L54JJ=hQ>_KFP@0s$3q;otd45ljE?zK`hm%v4EA6|dge8S{ zw77~F=#D(ltn{lZE(XG+v1hsuepqL|0rcv_E>d#x?$_~fXf8C(;U7Q$4ou+YYK1j6 zT_L5Snw*`8wF-1%_`L;W9@4_%kGy5vU~(1Ybs{4ou3(WRhDma-^t^1Itu;ATLv{lh zB#;Vfm>KIDo0@Kp-HZ7vw$quqv%L)x8f2oD8ISMj(;q|vg?l8L^t?2%v7|)ax*294 zq)ZqrI5;q{{_R_*B8aE)adYo0jXot8!%FoVZ22TX34110mF^op)pn(AaF)g|+8NoGy2Nf=zFgk2xT>y#( zJ>OI959~b>9L7M+TvPVh#csL&gLYxF$#vR$s$n_;`|Dr{73EI)XJr)?0;X6GH%m^S zzA4nXQ@(31Q!F0&t2=^_=*9z;{wE;k>uec}-gh=9Wj+$_^Rd#{4J~C?Vmzi&W}!{kZ+6oK{4|Yi<01IwJ#32vicdxi_45%%1e{Fi#Y7adElg!)!ea zJ6l+Ed^xQp)Nqz^@9+BtuOosWQvCe(|gwGRVjtEr)ZJlw8Y*f#QB1_1*ZpKVil zdGzlwgj8RLMhheEoBHbU@bMLZfL~{s`Ph>dIcMzRx3!;k4UiyXdgqRTfY+TnlRv_j zy_soG1uQckHLL=+mV~6_B}NH0r*6I^kIoeu_<9Kl3Bd*agnSR=z#m@O-1vmG2EH=! z``B3GKaY4A|D8Ts>HTgs&WEiBTfjh9S@B}!@e@Wv;5jifn+G5Il6jLTZx=} ze+nuX$k8XRDHVRYqHB7lYLJq~cEUfUJ1s~_tQPBP zxEtn(Khb4YWXyu^H^6u2!S#_ZF4ga5-Fj zPr59Z<4t;kE(hrI|Hqbr*^0jR!b6S)m_}X|e{3^`5{;3OotQOQe;+RDW%kky#%W_1 z`k^6;1bwh0s(6(`4Gv&2NLG6;@$}uVbcl?TQ&L`%cJIK@Re&Lc;C%f-McAd{bY@f; zi=9sGAL%G4_IoOsIheHOT3|RzqNSlBZ6+e8q@=jgG56I#%dH-^H|OAMZ{&A!&@uj^ zKsVFZ*EctR_aTic4XS0{+Lj65;n=!jW^<*Lfk^oJ%N6OR&`^1o&Xw<5>&o*m{Fs$B z_#@v((bPN4uXW=nO!L{I5UhFzOCLrHJ3G;gKF!a^+dBuT`%*~z?O6i>nzc0>D{J>0 zs1Zai&z!%SPl|&vNEq+@sWnFptL{aJQjj~_+b1!l3MRZMuGvtVNCPUMu|%D=-qa#s}H7XwUl$YJ9h%9Flw`Q7WA=y-M?=v;Sx z9Z&tVX5VgVs>>48R8~=1pl=qF5{_eM5N*V1zU}wxz&;QSj3>%N(rpQg8M$;PV%>GG z_g2NFJQ=^1`S>q9Z3&mDsdYR2e&h7e57++@i@iD${JUf7<`V`>=4J3C8(i*`bsfVk zqI?!uwjl3nYg^nR|6Auc(H=g5grDDOR_0PLuA(nnTKo1|ArFoZ?`b~1ggzH4a_zxF z+{lK>=Uhi(G{tbTkC-w}sYu6k;D=;iCz!L9U)Z$AMuoT!#AgFQ|4Z2}{m z>D9UyONx|~NsH7qo4Gu8jMoVdS#?PtV{`$jW4Jp(7p3p!YUqm!8Y~0j%PSgJNCz(w zQ8kPSen;;PNi15*b5E#m6q{j;oU!RR4*FhNn(O0VT=IGSk5__0c2ZJUt=e-qluJQb z#+oTW38YmbRDNNI<5f~1WU@*A!+(s$;s3$&^?+wgFNQcqTsW~}B*+?pcKMM7;+2A# z)7w66iZi!VxsX4Hk7MGx&++797_agpH0?yN{bm~ir6uWhB11Gbd0)<5)wLVq!hn)Q zyT#Ltj0;ulpp21w13@b~NPpv&M;>V@DLqdQ#ch6ccFH;N`w2C3Al&%HLouF^M=LGP z>!1fH9AUvsObWgu?W=02Ri}@FoE&>&af7=yGCXnmLy*Th{pJFHgL%y3$DJ+6pI%L? z-OCaF?XO$Q>D#Qx{L;@-I)cKzcA-S?*X+kbbNTYe9|ib(cRIX4j79Smyd(CyT!Iol9H|XHoI1~$jzj)CX z1WdF0lTY7@A_)RX__Z?Rsv?PdXsUufhcv}tXpt%T8Gf%C9hAWo>Zmw>Z-TUve1!i8 zMsHyP4_H}D3^3Dy0<$aT`}gm_b6ZEfCi9>nYueS@%gb#C#L|PHXbxIH?{cMMTQ{@$ zGB7Esezg${i3NwaO5OEJ_tEzlGSaDWeOn}`xrJMQ^m()2f=k9tLxU*yO?bS8i1VlV zXm#GILWAD;4=)@=D?uEolN{xh)dD8ERNn;bH^JU3$DjU37#s@-8JXZ-@oue`%Mfnp z8PHWe z{hrO3hyjv@Rng9DHXKwcAID(Y9aiM8;viRjy%t~P=2|r@jnDO$o;avcS92N~fGf{F z>eAI*U!qza}dHAxD@2)IVexMi}KX1%E{)#D4wEco<~^k zTFo+I@a>ST4r*%r%|o)cbdZB-dmmpJJRC=>i+l?cx*j8TI2Gv5-nh1t)OR3izwqOm zjJCphI{Y|L&e-Mm> zigb=_cj{Yn*F@V8$IsJVg>)-Hw2&5-`4a;%WXhJ|lcT{={rNS{@axyFAvem);S`Qi zFKW49356yYF$0DO;JdwDs?YL`3u*4qUhlVW>($_&AF_B< zIXgm~eQAx+IwR+jMzoUEY`k^t)HGx0Pq#n)HqUL?OVo4_*c-xLU~J`+^PzEd8C@VW z7Ph-nJt!Bv5#LXhw2ZjMkGZz@zIK3cpAblU$`~fId^h2{~FYll=s~C!N-JZet@)|rj7!kE6c%Q3;J*)`TJq(J3F64 z>hg}s7itRHtXz@1XU+SaSC8L69hdw>QW@>C8S9#Nj~-FTT4>O!)X8@G*o;Ku%ob?U zYusTbP|MhF<6|ZCJf|(@-+#6uJIkSqB$^BG3%kB~sdL57%}uv_GQ86f=fQ+TSTuI{ zadPR>VYO*rq!cg|ihW9C_>u+01Fz;)IRfI%NQQyM%K5Iijav_7?>O1@VLc@phQ=WeZCi$~*yJ=;dRqFS`Hpe{>_HyOe{V!MY}o?> zsji=onSH}A>|pb*?=$o2o$c=`kIe3HrQXRiL@%21n!0qh+BwbDNtxSbio|#abX2~h z|JcH?{PIx0AKl8H%)<-}G)nzFp5mJzm!o9;bjsA!Bq5qd1Le%HGzQ1a%}o=e zsIc&++I(O9BBeYf6jwxj1xq#b$}Ka{h_SjJK|NtGX7HsKre381=#|1ze103)T&|LO zQX#&q#g0ItJ#BXS^XHd7El@QYTcz_FDW;;Lq?~3%VHiRz&-~IcY(3B;Y@MN!0`*RK z3rZlC7ZnhW?AQ5}{dr?50Gg8a)6>O+}^BevcJV}G7`C-^)sc=`L37wYOn&p0Xk zRS5 zquD}t69^}?&Httgp3#)g)!QyCp_myH!7%WsWAjtB*dBvPEb!#jsj8rKX_2Bvshe}* z#yc4L4CxklMpJ{SY`%hkSYJV*`?1@jrv;?U%oc@JWapW2D)(TQ%E`$=7GPfe^{BD3 zl9+!vMx$CCqwrT}80LMgJb|aVz{epbHdUruIc`TzK>>X~w-4){Ja$LT#=Fpq298Jw zac^@{0*$4YCZCcj4F(*=d9!&=A`+qk#|r@hubr@$H|V36nB!>lB%|gXWSUS6Y^cw4h+E&yKkP^wyp1?YnM5ds;g9tO=xf;~!ng*XJA>O)VVz+Fg+ zvx)2}7ad=jV^fZlW+~oR&j}UXU>%&PY3Y_`>Gub8`M9{OR#r5h+O!M{-m|Z>d?WdN z#l1OLr{fdFFPEc|kW@a`Rtk4^Gz|eEUElZk*T(E=jY3*XNi=Bg_SV-6>#vc^t=z|u z*que4PX%t$ZpVLCTv<;k@uic=JGEYTQb<>&JEe5d?G#J}-fIcL!OHWYA&VMc>A+o`Mel1XgYHYQ zdC}b|&Ldb7yqFu>8QEw;l9Ke2M>{PY6fbQ5WE$w3n#OTNMn-}-iJ`G^^y9xVu$AHG z5J~NctWL@|g|02AUEHGI{HK%46w1je6at}xE@W(YJbYaFQ3Qi%Wb&+bp>s@b*jfTD zEJFG2EprkTzL@=UDyBcL@D$)-z6j%V#k%ai#+K9>E+2M|^r`!E{kW)EYu0RHf>^p| zc(=Vxqs+0awagqyt+?xGPYsQLa1U5!e%_pWmWc2T2mrxRDA|hJ?R~e@;{(EZkB79g zv^Lf#&Sh52S$)0?Rod$)OHpZQGf={#py-kI_w@zFLOvcIlm^Ef*@>-DEHJZbM`dho zWFbdri#01(#GbZ=KGBz>%9%i%`k#`@zU9r%&I0K<$Mu&l+|f4eJRe~My9M%BS7hMP zv!8rgMC&m%Pa?b~e*QQs;zyqc{lLO)YsQ4 z@$Svmsb4I4-#``6FA1o8fpc63m6!Jw!^^La8@v=Sygqncg}-?pC77*cE{DsVPw>tj z1*bn3=ZL@bQCuNn^NiY|zDH^mUdS{G5!a_G_Onnp80 zjqy!?KLj+;NM#W>%mmTa+qc69Ax?d&)qe*h(P@cr#``m?9m7TFi<6()X%hRPGggFh zi9fTXJHVMc{dM}Qx&Qv}(SpLl!&U#)A)q}5o4K>PnwFT@X+hwdXc@E8y~@eTib1Po zV)AKah3&IFV0M<43hdZ`q6h3Bm<89lmC2rB(={BSUi*OQNcXRWTB(}ni0fh+#e#vR z0ux+?KPRw8@u9~!++k@>eOP}RTTEy; zAtdnZX~bvLiI?I4hQ}@{^=U!Yio15RDtG_jYC)v^`b*%dO!!WmM>ep^##Z_9dImQg zN0KU=Gu{9q8i;bP{GTuLxzwWQs(h;~mHP6+Hi8PxqL{2UTmsbNsw&odbsPhuN2p$ z;5!}EZ-yT_vVS6Ru9!@wYR>6GsCQh4F4*Dj?sR*=ar}nZ$*;F>RhJ(W*0;UtTZR6! z7vfKT4Nk%f{lldA0`qDh@ch2B@s&w8ln19>{tvIEeyl+{?KRL|m}_vPe#i0p&8NHX z(;?6UDRLD^d;kd*yQkF<@9+e$E=~IG(IGt7uMfO^TXVhk1C|CyitDs!$+9mQr9!l2 zWQE)pZ&HWD?Rm-AzS;+~qLv9jBL$%ph_NIV0F$dk5p1|`-|XxnK7agZ@Wq04CX+X_ z%z?eZgU%d-Cr;e5eOzSOZI(U+aVA@gwH4FWY^Nk zX?S#0+p=UMEDqnupJ&?in0}{l&bQhP7~lm7M^XuW&rSrEQf@@R$pJ-IwGBr8aD{2% z;a@Gk_zgnCleaphVk4xXjUgf?)}y{N--=87Tv1I^6O>d}0l5S=OHK~Wf6n;QNMsKj9^Z%nvSyj@zHCCGQPKI)21qUMcM%=toP1m=Vb#4nPZ(sv zKai*lu1A&=53*LGCVC?klB2tOd$CgMMQe@;cfP#1Hlh6~)$BuZ^JSA;TRD-@SeH(p zgaq!L;HRs+DeMHi!1-=9^R9uVjg>7Oaz%&IgU#GcQJFh!iR zCWwe#pr_JkIO;6ccZG#DNN*lNK$BlNhMr2l1}v|L?v>?%!gHoH9Q=wu(=YEe89_cO zy%EB(f4Ppm-@-OTUiDn+PhGdxmIDS(`xRl~gVv6a5+&|urg|>L`9h-n9+zJK+{wOr z^T}JH;UreO0;JDI2P zXSs3a>O#H>>ffx>c-ZPPo(1@d;PGsIWe^KvVPgvh&8)@yY_WeF0BdcvqYgzbbo(;SC2OL)tH7bdA_=t zxP70Qba)mil;g|b(x(#$fx_=DDxgkp1tM#`XrsN5MIInMvUp|0)Sf@8%}Y6Qq427B)7} z_U0pGWfL}a*LZE!dp)$Yv;qPog)l0;T9~Fs5zpzvb}0L?ZWlj)&c2q&00;1`V_I%5 zUk(pbvp-O=6=i6!KcM4Sh`5v=YGE&qABK~|BUl@2;+|+6>!k+U4nIoiwol^`U+wWH z$%d}3E^+Fj@~b@5XU{KSm%+K}s+zgD}Fu&N0O2{x;3ev1qdMM(DjJn187 zdYJ4Z3lWC>mqW*?=aIBDG(dkB9}J>x!-j&VX(ZZPxoMWRwj6=E+&z14>vb~`h_e57 zr!`kkrWbnzfmFVz2#Xjf&^#rc4&NP42V^SFLwQQyj}ntujzSultH@mbf(Nl|z!EoZ zLf;>oPbz3~XyQ*+#VA|(Cl-TAH+rw@7)A#O~HzlmaL53IQ>a6j;f}nIrX$f zfUt=$1YIx)j$(0m&axWP-~VfIY7VmBkB#Y={@A^1VDcu;!IBo2faFPMXy;(e9mlP} z57BqI(#3grh%A=5T>fkoCnO|{H9R6R4y$>SFLqLaX22pc?3gwMArsI%gG$?pnr+AX zFZMPl8cV=&hFHiRKaLZVkT9{RGIU0%6p{(VeYukOh+0KP5ZG@K!EBgNIsrc|=pt}e z&;!%)sY5uiz;IhzTVJ2DpFWcUXGna^@cCYPt)^gJY##TU+6Xb4ZTG{~HsCU2A^v=cK>?v++rM zw1rqI4+1yg*31BwsS4lw!I$nymMzjRzoj$9((8FpOz+Yr8E7d8YOp4$nhI?>pjw3I z87COk^RQPWSfOe)#s1Z{Mg*0;7HRC?Z~$6=)+i;`ap||sv`)lp#m$x=G1C+E!;Qur zGfa-9NgQc|5T2$R*7WFEk)kk&+bJn7f}0emQyAbVF3-JZioC@_inmQ5sDTkCr-S#u zUq*;Me65=f97_2#GqRG^pmN5iX+%pz{L1!HPw)L7znAv=yoy_J;5S{}ItP(E6(UP-ZpKQ8tqCcEn+(m9LX)!v_SLZ#6*@fwKTQW=N)DRpRffr zLK>m0-PRF!%9L0{V^d$7%oy_7pmsz*`!#PHGczz$RF*#H z19=v_>CXg8UxT3?m4s+q7G9 z_?~LvZf%lBSozzb-fqc_6MMW9$>7j#wQs%Q%ouf#$@KOXw6AwvJpCP7N=u_1#y1WC z!GX-)wf6J-Igg;_xZqiAZ)qX;QCBhw-PA6jQtxqMJ=P?Rxh$52@KMQtwapJJAJT>l zJDJuS*S@atPVqvXzHrS_<=b+;C2LZbu4m7qj?9RN2z^r>9kdL65X1xo8^+i2*@?!| z%O@V+QEp?WL0#?H*PeXDD+mcLT)h$*72OPV5QCMO#j?fBcV z;jdxDt6-MA7WT_p507raE=G@E#0NjJb$@mz(g}t0@Cq1z0RgCIR#j9eJ+s6ZkzOk( zU==q5(#oExTyeK>cALVklc)p`;=9?S#M-0fMl7^fL~mfyiBqaO_aHo5bZ~_^Hp5Rfy zqT`6+kSehzz0Hq~goG%G;eWq0QxVsB(W9*{VW-AQ>TsJsM*q)=j>EY95KEWuiCl9N zX2TM8f$7~3e~c-?r8lv~el%U?Y+sWd19ahl7QFRMMj?d$IE zZ<2Fk5iPw8h^}Sky*~xaeEe8EvF>~45Xx^1BsZx^^fzz|TxitM-j(jz9~&t$2OxnWA$e=)Ww3I07K`^b1uAK^1$~S4uQnlP^Or z9z^bdZ5crgfEvU@`5{hWqq0u|%b_BwH#)}_bpYpCaW6f?bn_0>s*ZL(Gk2Nxpm|e_ zIn+ZzGAw^5`!$FP9@TA;`dF+-5|C-}S^Xr7Vl}9C4M@+Ayrtm^ejMt8&^1Kwi09*Q z<2*VX`o@$aL!?w<*_~{7u1h==;^gTB(d;|p`<>Sdi`VDZBqgpnYo-R8E4UaRS3G>x zAky%`2BILR+oU}F{5?0)$EE$>nolmK>x2pU*n&jFVo~q&wxHGUsOV~dsD9%;T)Kfjo^A&R9fHb8P|n62z{z-`z^(Gj$gjObFuiKl~M-VpnNIlya(O9T*7Y&<7uc zGhFtmQUoYZe?9ksPjlQJB{wY&M(2xV3+8TCah~}ftTbTZW2O!7sj6>jQ8No4U}I-z z{IhQ;xir-8ad#cfWC?m$f?XsLxfX4Nmt6#6B+8xe(l=bs=LUWku+K; z(jI2o8qH^`R;hU%&(7}b?0+2va%+>ywP(sKSV7%HCgn{{O#nLzkje!$-;?_*J3WuB z1S74CJ9@XD5z;)3T+i_ePj-C;?HS++_8AuU)ui|^n{@T2^FrG#4cgb}qI6tZs;Z&t zWn{0~@@**T3TQY|g`MVrsF+McSPG95iiF0Bii(<=#J!r=vbBVBL(|{BRpysn(%GB@ z88vm4V^T7|98!u8E;V z8=1F<-CoAs}5iqwd8^>*1d0u=LNEnT!6>V6(>XySyB(JLc{ zYOds)TD%I*1kuPJQzVZ^q-~A5;f(RT$L7sA7WjA9Yn23?o&31y8H4DgB6ejQf4Hay zA9oT83B?HzJ70M}JA2pI_*USs#g;(iUSn`jYm|B?7?{GY7y4XgTGU=QzGmr_>PM1b z9@|?5a!umhJb;$abY#8B*5Dw)q%X91!R$i!`1b8uDBab^DJbgnunl6114tXn;L3yI zY*?v7?(-O#pWZwm)t<`=Z8~TE%|M(2CwTQHL(H_DXm%IFq8(Ojke8Q;l}Ushs@D{X z!#Mr2iA&IB0MyfK6S6)wl2w=Azy7r-UE@9$vFxq_8mU8s|JYTzo;mW)vbBG$?EmY3 zj|Kj*>bFiJ9_J~u+6=9V*q;iX{Dpay^PhA$#=#RS^NqbawS^8=!x7uTq2+k=3 zaERp5l(4po-Ya;D|NSB``tbqUKMO$?#YNKY{~NXaYvcLkDt*H^sp)KoDL8_FWnNkZ zy)07K`Ep^gIRaEzG z^wt<;2d~87^hg~~HiP^KY;*t&1ke9$Xf!L;&k7iR?dF=I{<6H>(PiA+pU_m{YPEcC zK^OAv$cWbsvk&Z8EV1KA>mB84hm?V$+oj0QVHV|+T+Z^5*gPCMW@bSxTlL4am6e($ z6WEk9Q&_)FPoELBWyDQ>Ilc9dV_~T^sbr$3U!La1ShPY(%7ibw=Q}D7XWeTTpyW7W zCE$Ef2IgtrumwgK8mC^jdz`*&cAuF~+@4+^{Vf&w;f{`Uu-EKwX z@nbj=FkGiUH}}C5h}CNd+sj1gM!LJh`X+J$f*lALN+r3wDqUx-e8hHN}6>g)+OcSQjQTrqHc8N>k8XxsTWd~GVzFu zabioySm}vt5a)NIDPye`v&G}`kSVG?;Yif^gZ9W}O!TlY=jP@4nRia20VvudQ-H5? zICh-Ye)KLDD&zV-SQmaT`L$NQGC#9D@v zX7ZedRR6k>niI3L`c~ocZG4SXft#wJuq1PsqJQLo6`?m-{QboXPURX_F|myK$@3TI z(7=+Hmj@i>0|$rNmie-N$V1Bw#YCB=!xj@Iu}uM^t)!wt7q3!I@I^MtarTH?TxwQr z_SMUkBxas-0ADCZk;FfVbDqI2|K2bu@(v1OpvQpy6ZMAQUTBUzi{+1roF&dbIQiW4=E^zG(aW{V9=^U!lt_Xj zM@gw`7!=!^o6sJYbN-1{Lx^e;1UQPfx4{v68zw2@8!@y58vlT5RMpA4|LGdJv^u@#C{MFF4&}bXV^|UhGr%wCue4sPOaw=$yg>q zBd_Y%tkpZ3pFkhu`?HeP{xXCFlQ&ZPaWy7UXL?HbL$b{&Z{K$!q0w$jLVq>2+Fy>Okzx+Z^5ukoHe^vLJx&-=3_iWdBtp}mTu-XF$v3JOCwQ|>f z&+Wvz^0M^w&%&{ycGR}WLhO?#Z}K9xX1_G5zviT6U~mGgV6~A_TH&v=yu9TQ(w%ah zyKlpjl9G7O?a4MN&l7HKScRlA{2u1Dbs}^ub94$T)#q|qXp0U8vEinCWXG$XI-il4 zCIH3d+<(BroF{wNyQ|uvBD}QpdK1d0FNom#bcnECl* zAUB3am$8e1%PXgqo1(2lqW_+Qsd$>SaTeY-gbr)%nUDngx4VsQ zj&4^VqPw%@)o;6b+US+CSFbK3S8lpKW}$mf`2f1~ib;7lJXEky;dKiY3%y~@GiI;s zee4b9FQcq8OcK$|uU_vg@)Xdm+60KS*w({4n(O40tAl(OC@UGG$y7f1|Lcz`%08bT z{?Wej`^t;YHVuhbP-SYy!(d9`8=QPs92>fR_(q+XiSEcsk`beJ^s)OY$6vtG-m9(K z$TH!wH_UWVH=`^+k^%Z5po;b{h-tmEqRre7QjH5t#1V;57P@0-_Cy$PY2uSCe?fC6 zge1(bDO3=R7(h@tBpPot@@Ym5zm`EUWTuc9FjH~qRcIU+Zz}%>dZqgpdX)?_JaF+= zD%|R)d+nb8bG5?T|Mgp)S=^z~{YyV>G6u7P?HsN^et3ym2PYrhF)s5RHiu4J)Vb8J zecS|qRnoQ=;N>PH16){VXl{b{N#!E$_;pqPmG~6b02c*`GifSEo1;AatQGM^z?Kn zp2MCLM@o>~x{tnZzT6H4*LJP*rt=>Y*R<)K#d3J02DAn+H0HgYsy%NpaO36YA5Hq2 zIKbrKgJwIPS+F;>YGaZ1tP8tba}u}-Vvx$t&U~?=A`;>VBNLNB)`(BtwY7ps3Pb1y$4la)nn1S}+)ujX0l1T$8#6cbIy43dhe7c4 z&&}WAC5U%1A$N$Rn3{A$Fnw3@{Qqn=H}^3xF}*X37V8dqcNB_WSO~SKvn1md9@Y#p z#K3~XOjz{jFkmP?%D66~kr+#Yg1wLs#cBDqhuTJ1%q5U>p9NrtUEd}~?$y`UT8U=M zBZFOogBPp?pBEQb-Qd9uio3a=KP1w6&jz*Fo?f6oQ>5=lR2i431U z86uTpZz_EfAI;lgx-c>SQ0WFWYK{;H1@6UfNk?fM*$oj6Cw)nRvHXMI^<5OgU`0N$ zTciT)07eO}cE5A@kTvMSh5p`I-Dg2|?~NFG@rlDKCWR|VQFe=aNtkJAkq|mGd;*jj z;Pj#3XUf8laQWO4zy2^2GXWRz<4tQk{^Z~E3Q3mvV9Op35}&haQOl}^|RgUmU6 z-9Bd5WSju!b(fbP0VwNBCCqDoZJ9#@9leyzqxaUrFZDuk!jTH5rgIH3j>{yNdeu|c z{+dWkY{)u!rpLxYgBV+Ic!BSJ6`Nzuwe<=pU$t();85HVsP3}riGCx#vcbj2=PiLK zEGPi?{wOL6qNb&LV4~V5_b@!Zj^M7ndn=FJE_#YBaj_N{Vne#GE#&`m3je`>rQ7|3 z|5CrefBm-DIX}A_vU}KyxfUHDE^#pyXMT?vYi)OIm*l_kUu_R4E@tYC3;uzDjsJy# zrQ2y^**0H#{N5&m)9gKy=zr01fCzM@+Zmj17v^q~p zTRh#L*L#WTtyU>~#zBmu2za%O4C*QXvA_GGfcBP^l#cGx{3P*xCr_eGpjN=Nn5gb* zBW>}`w7i4sqYk;ffBQmzf7FeEp=&#p6$_u`O}`jFdM4KevvR}IcSl$S#;ovJDK(5N zEiIv>xoUXFfQp)W_8`kYAb^6LeAre<=shH4(9?HX1ZESci{N%vGRnVoXxB;@d`_8P zUdIjALqXP(!VEgK94Ypo2Le$N3rlEL?@K`lG(gT0AS9HON}4JvD!>u&>_}2l(v9gx z6d^iGZ0K3sS^0)VS2GMP!|2mI^TwjsXJ?hS3g4D&-Z(VuT^7mIE*wWelW_OXX=EWb zP|r|46F7DeiS3n(Wq+)P(A}%05KIjTu?T@L*0LLUn5J88?{l9zJtd`(apJbj1MxXA zG0`s-uT6+aNNj&|yI;L8@_`)pk+W$=PEMTGEmeP^^@0c1zHEp4`fJ0pm5r*O&e{SU z05l&t!Thef8{<=O$waMeOJWQhT33gv$wkw51Mk8@ATd(A;a9r+zRwD0ig1QzLr^de z>XTsEMCU(mo04Jasj|O&_l}isA}+c)q}-Sd$Hb{%XgwUihb$#IIXpI#fMr+Y%Pbd| zMFK!J3EAfqacJj=k1s5|KHT^?5h4Yk4{>BJW7Z_%xdJU2ncLS^Nrk4RJE2n>)w+L1 z^Q7-u^+Hr8Z z{=0B>wr~Iv#V(v$9xHa+Y);kVg1|ULoPoj+oz|OwV3Y96F<4kwfZ8SifLfyn46svp z60BQ7L42yVw)S}STmVrGnkv6^dIks8+9aQ9O+nyqXz1hmV-~O6^XKVld52+P&X>ZT zM+ui`-xkZYc;6V-f$l8OF~D$iy6BO)7!AvAsSYOyr#m)Jp6+0tZX+t))AI6U#l-rF z=Nv9ahh0`DEkV+85Rpn8qzAPJK@#Qvbb$jK4<8@&z#i7Ud>JN_LbZ2tBCb`1x%lyk z>kDMT5h(NG;Nto*#~Vgc-rBdGv3^PFVjPRAv2EktvH{1X%XdZTc0Z0H`Vmc7j8VRS{QGQ+Ej*!1r83*$Ma^U;Gy};IW>3E?qGdKdHxX8 z)6v=8oDnLTg9&|C^mdALh1$sU6Q!L`VC>r7zyHlRLM4xg&}Vg7OfM*|Cd1@SXHn?V z=SqdSJe7w@bXs)R0B1&ZNbsfF-o^&|8ri#I;DG@Vm$5F0id2-94-XC)&|V%zC}O8H z5_dL^LfNzHnJFLWxfF4Lc3oCZ&L#lGva-}d9z>HGtlti)Rw=?vz*$TnO6WBFeTQ8K z;g<;_;_{h=1M)L`yu9O*&wj43&yeS3@R|7^Z!-$9svr9Z8$Kb`P}hx(fiLtKa(mR* zB4tSKF;dNQJn&=Qf^b!L*k!CB7UVw%DiUHvCTtkHZ)sNTtI@4aZS^#ljlQiiW{;1^pb-{Q!WOTqekMI--K`1Q<-OJi(Zo_^&& zWkZ!RTvbhHungXUZ)$`3C5Q=zv~ZHrVWfT|$AA@gs%NmF_*{I~tIgZ}HwxtJys6O* zpR2>_cHgtxb~!z;Cng~{IykWYiEEGdH8ju8r?A$)U-=6QnX9)ENmq$S9~Un5nnOQ^ znHA}9_4$Dp;PhKtPoY@z`u9-dL7=CnCu{`hcV?*1z`(Yw`k%NP53g`MXo;=^CJxA` zXoyuD@NnxnsnqtkYz;aBe*%hOYIJl5$f(k9|NdBc7l62ZGfJa1dtt6NfN6tV5dl*a zP$wH0V$7IKeG1`_|CX0OO!(f_(LttJSK&bcb?w#v_#-RuM{~T!tTXGL_+-Po(s(?$ z9EMQ#0)*IO><+s4NKz4swl1(e-w*wnnVHwp+UocD8mYsUD2LZ(M;7?Gu9;fo|8SUp6pWE6b+C-fw1|9sE8BTViJOO~;>C;nv$DZ5$Rx|v zQN{q%viXJ+339REpyt@tx3)A@RT0@E6&06#ZFF^$2CP3VEac|pUBbg-;c2ACW6hsh z*KGr&_HL_0>(cTvK7UpQ9}=9)&jF$<0Fkb)zN9=qGZWp>ba#o}n8?$ZYWT^~6WLAl zCyDMz_lOBgI1dn-A(1ScoR3LG_yJAs?=LZeX1MXTzAin4KwY@^I!g7P$rVeOqXrN4 zeR3BgBxvG9)6VWibpro8H;2i$yQ(TGk)Ra{gPnkqalEk+?dRt=RUKj{H5P_cJ;!c7 z+T8`?Wp8JPw87h#sUHpE+c|2=eC47z@R0exT^^af!Or$(_t-#(Q6Tz#H%l^FRZT(O zYu9c{7Tahpy~C(3A|5UZ&Q&vV=D!+?_JJI`oPG-W4vxP>6wGl`s%B=44|a=bDTJ`t z@LL$g2?+^LGFsWqll$Z{?sW0ou(<6}S=>@aM{;y}A&NF;JNWW2wu!w?q-hk#6D;j23!EV~|k$?5nWyUPjH-*<-S9>`$L5C9|tNl26AC;Hur6^LqsX6iZ%~_Ii?Qp z-yg*vx}<@XO2AIJ`Oe4Zk!xR(qm3W7l%kNa2;NU+p0A@%Z)%GON%zc?^AA|%#|~3@ zQ!!9Vi6c%__wjgHBbk#;`8r&`V91~Wp4e^y0Dk@4s3x@gy`a50`6Bbx*^v81;VSug z0M;ktp)KY7Av{}CQ&R_rvI6rTMyIH(8}2K3zdeh%n>lxv5-)){G>RSvB86Pic^T2p z$y*B}yD}NA(x-G-6sNtoZ+o_*6spb>Cj&Y;exT#w=4tIXW@4HmL_{J&?r>503$0mz zOM!zWm>CzyzHMP(aP-<*2FJ0v9eD>au&0{O4Nk?``HBDF>C$gTaonUyiKiqMiqM*z zqYEPXREZii`%H*ezKM}fmG z@USm2>t>rBzhCAG!P+(x?+TkGx_eBq+x`1dBBSIQ>h*U`UY`zJ?8j$`cHf!mrR9d^ zy*qdTCG{2Kcnk5Hd)2Vsx>zI^=qgX-sFQ3wrjDWAnx)rIMc-c=^K~4oXY{c%FjjgUq<2Rht^Zcz3vNj#= z!X8m`b90HuD}HN|nI3sL0o&4_Pjg144b$0AHz!7SnUuCxSJz&$F&RwBw)pbL953g_ zBl*>?{uVZ)b0XZ>_^ug7%fuACI!I;OSWwW7T4}FZ-!g8s#Rha3?z=kC#02ddu^Ed7 zBBDa@Q2@V5zl){iGkdqoz%-DS1_SE#uU-vW3#JdlaOK_#elpB(_DYa{%LGVlp;XLetj?-+XiOCc`D%LOwqmu>O+6_z#SIBO=cf}_BHwyg zirb+Rgl-#bcHV%7a4Yw3XDWXUs_@+0>d24TXT4AAOG^3=oW;;5a<+;~W{2cpu2%oh zhRVEmx_$ZBYEpTjZ0*$#g|67ErgY{3>(VAs+eBZusS?CFIB*JIS}%*mLtE|Z?b!0C z^j#w`#`($xE4TJKV#8qrT2%U6yj)y@9Ddb~{sAz>xs3qE4F$0-5}4vtRn_@B#koFF z!f89lR7U+^V#(CRr2F?Wac)wQfUN9jGT>Y|4Ra#)go35^j#lQAf8;t>yUHM#rF;_s z9Zy38Sq4bQ-TxFdW$ja=-dPSTW1&geU00Ir4m^)H7uxBSgO_^o(Jz>0U<_14r&J&2 z5b%cmQ}Uo+68QU<$gzyy1A+Uk>+45?V-Lb^xxetmUlh55gR-V3+#4)of!WT$nz8}D z1(xax0*qppLEQ4J%_ZXh+mB-I9L~yq{?kR>vH!+}kIG_qL5gFQ1tJWZIYog>)!(317i~GVvXyL8+H@l>q%PyczC#iH7VjcCnu-UfBp-@V|5;NcP#Dd&Bkoh%hUnKRU;|PmBMKeKyDo{qyI$EYULmu2hNs z-zikRD~3plAwFTRkQe}>NSXY7f;GZU{bo*688`B1>()SG6j%&!2p!@At~X3StWsP{ zQhhaq8`caE#qYhHt56b6_IXz()3}GgH=@b(y%>;9mn0wc->Pd|K&xNf#TPpuTqkds8=p`&O0Um z@e_)}{*jtiR;zes9*)BWn<*xZx<2K$gKrEfLFRMu!S%bal!CI@_;sER0(~-Bew2sX zr-2sUk9IuV-TAH+l$7u;P*YO_Jlkz;!~u%XMqe-{B%ye@-AsV-Ao!L%$XKi+x=mKQpHEMk3f#6H1s93NAJ5{q&oyzDv)d` zlTaakcIEQrPi<|prn*Btj1&#Q{@@pxaA<>i|xtpKFY3uUdN!n$lXZ8Y-yZ|p3;bRX$st_mUe z-&IxR^_io{xh}yv7#yviHTCxO#iXUx+d7S)E7nuEpK&M?)yWvu{W4|anS(MdpTpG! z^qu;z-dJOL&Lco@+al8DzIc8^@FPIr>V zWGLV!etUVL##NAp#(1;sm!R0CVA(7^=l5VQwIlrn%Xp+gKCo=1^N#P1>)HBRgYmuO z3wfI<^A~U0e_h?J`4e$80mPjcn3w?M0ISLu?Z&Xjp@qUE;UsrA?#WqydfPzKyXI3d=svm&rV43(XQvJ>gNEVrED=GpCDUyFj*^P(#;w)M^P$GL* z2cxEK04;9Dt47;;^oCc>^UXqU( zvr{#|IF;NcKA=EAXrvE^@Zk{*F#+a{3X^}zN56-f*Kx&vt?bTc)-AC|+W1g$1W-BL zw2$k#5ZsE-*Kmo96Zg-f^`kndI09Cq@DXuR$^?XMsyfYfCZ=b@tY0oKkg#E0(WorU zpMOnJ_wkB{iAK$D#wn<*1lanMX5F}TOY59*n&d2?2c0gcav2)VEG@mZBCS$DS9fuB z-3u(c+S&qT5=a$T)Lmp`u8_rT^=1p<1&K;ZevEucVjgiVTE7EWJd$+{CFCCLu0vnH z(m}ZwG|j3T8Zu}fBRzA6EP;yFHPOGjIt)Tb0p(L>j~|mOY^QYH#oJg;O~|3HZ!WzU zOn{t0O2p(=7EojeJ)ukNln@sO@^G~?2?+_5fu|yF)^nI8cDg0OLd2{m&0yV$b`c8W z#h&MM(`wrZ@o5(~x0WuJ)LCIll_3~!nyl2K_uTHOsrA>mjz82t2SYR1QhHPbH{+<> ziJ!mK(Pw^C1*ujM0K(Rp5=-=H!`@w;0F@Ukv=-1cR=;B+7tXW=+Jq3bVL1g3?Fq6p z%rvL8t=%aKv20d{G8_XzSG6rk4P zKgRP8pD%!FxPF?WokVKwm}3X7i!+k(JECF@dEifWmN653gF1dhTK!jtb;F0;MTW@5 z+nv*NwP+~=z3G`d(E}_g*0u~kmJM0Wvb8QY;+5liZ1fshY!Mj4F#d8?B>Nqr0cEZ% zN0E+%lnCFbQt$UE_QRMajZa7j>e0Oz@>Ee&#@>E2wBco==~UkibsgdSLkul$_3XD| zQru_7+7Vj1bqS~Cs2QqRsbL-2LKXYoO^FjH?ML#txNIi%DSgtpE@y>0f{4Bgovu*z zy05n1>V2|NqQ7?Uo_Co!oXb>YnT%-RLv(6m((e8_Z(-lZm&TyO+zp1Bwlk?0XXEN!9}K%gbkG4Z3MrHD!oLv)uHkDGOl9`s~ z+D*(??04(*lgI^*j*j|3`srCTvy7FA9BU$p={+}WGV)53`$qSzt&3_qi!71>#e%>g z-v2b#X6i70rHv@h(IoJO&_jtr$K0Hpxy3~g|9PcnUp7^KGb2+b4x@{W;aQl}w-$Cq z>uDJ9pxtUgFJnAfoRk=@sHD_xnngxWm}ebyJXjY097^*37lgeI@yPFso5{+42C^kF zjFg$;+xahOYjtgt0B#`_C?#I^`ZaoP&;0DcMma%dN){BSrfE*m3AZem%FB8sFpLccu9l>a75~p58l9!VHIW03cf8q5N6?Ta7dqag<`{z{h z-sHqYEg&8rX=!LII}7|ial^zQju-;$#PwzT>*RaF5uu@diOWN5_kr>Yb^DSMJLqaW zn0&(3!>btmwfBwguFJ0b$k(xAbGPwj(Yl2U?mJk}RlWSe!Y^UW zRmuW4o|M$3LNj5`(Ie180zuknrDBvslZf7)OV%%c(>RIjf=MNvEbH!b%@m539dw35 zZZXG#;EH}!qC6QELVt6GCwc1=FX0%7Ze-q z?v>bwpc%6-VI3FdXzS_d)Hy9G*SpQk%s}n#g`6Q5v5}#n{Y7uk$II~<8XOeGI!!L? znsyf8DhwQfUR?4F=Zpb_DiEU5h{<(iHv^F%tMbu$&t1!&qH{$AgBG+9>OI5@x7Qr< zgM_9d7w=R*Q)g00&W;xk^9%%~1gO~o#FJ7Va?(Y|Cj~1ngR~D!Xm{!#d7U(!Tp1dE z18FrA6H{OVMGrQ%k4lvW+Q91j?g^{mw>D?qs#l<^tE|N9U|?)wlFsKKZhngZ4=_YJ zNXe9;E7)YW2?^Z+H3A4`;7P^H#U>=|fxbJWER(q9}Dnh;Y z9C62aUm*eeDI+uOwfnc%l<<6<*MXq>^R;4Y`yVSY>opRMn$Lm#m(P@gaP=irYIoEy38cmr4uX$qlXpQJ`xucK(tKrgAd^zf}iY zeExQa7~|1?pAr3B>M)_HwY4>b#Se-;4L?8h&Tee5Mg5qaZTXJ(fNxG>bzM{2kjr~G zBn4+knC{h%+=6k^?45kG@4g0xFZWRn_P$nI_B`%d!JaDI1W>0>PKAlRGGOM^NY^i2 zxqb}`3**FRu5_ML3I;T=z}LD$Lou@Z2yfkLBN|34BBuLJR@`A?u^`VV`5XgQg!_EO z1qEVWOnW+NlVTkV(^i2Ul)}P~%oVPNf~>TGR!4jhQnhnXJ^?!+=XsMNVRAErh(4X3 zp58vXkk4uTP-o)XH*gcbe7)T%zlCGjXwOF$h;U1Wlo|#P)6-kWHB;{yJ`dSJ9TCqj zT12RsCt&&ss&rUbj73sbWmtNb!;67(BYj(0!NCOg2?>UX-1ZC4zW_WR0LPl;mpg;q zDxOz!FsC#6PWTb)+uAC7e1Z1laET(#zPjagrbwAVsd4f`PP_N`eRBYYh zLl<*%hRLfPLoro9&r-gRj(Wg&KbBwW%UuyZ>CAV>rlKt8C=XC()|_ZqNqRPOvfqBO zIb6-T;qbj@d?3(1)rn0(E6BuzwpGaON7_jHZ7qJG;wK3=VK(3N$i(Vw`;|UKnWGJA zO)v$=*HY5aSG8|$BEA9@h?$%FMO;flkECB;Z!ZNB+Q;V(9G;%->n~=iux&y}zDlqiH zEa@H~NawaODOUoDV4q#h{ns?SpR?WwCZ=;*(B!^NPA+p@G#NzBK_#F^1A|3qdBVLG^Ri1?}>4fy_wQFjGE(6Stec#4n<()Vy3oa1{Ej_>lN0T{$QsL z@cUge<3;6tR@^kcW}5_Hq%=W~*z>%h`L4JG}Uu^I2}NJ7@ndn4bUB?f*m5^S|Hvzs-D>lhf3|0Kv)6g5WVV zVKL<8GGyW7F*RT@;ovbe;5FjpHQ@fko%;{d>3`-_{$Je1e`b3AFYoFvUd8`o&1ZSI z{_2$e+Yp8wA`J^%YL z2XR{9&o0H12F@lzAf3<7#e(2u;Y6r|jrl*_{@?S?zc>s2d)_f|0F&?YKmRSJ=l>7R zJ3N1#cm5SS-v3?Ga~`h$)bt!OjDN-SoQIv`Z#>V>r_BF?=lS^|{G;c2AH&D4kKlRU z_#b$l3o_oVr1wGcHYJ`;pPL(>^&Pa@rf0aFnzp?RniPH?@~h?`dB!X}gC(PNddaLU z(S+=HZQoT}TI8;`_3E5i+t@DG(dhK~2HsWsqrbQO_c#CdoQ-=TU&!@7K6&bM?7{b4 z*vHH3=o8sVy~v5+?S+Be(+<{?^~DNXHaFL06P^6Fj9JIgw`={b+O2IFE%in8t`>R= z(_4!Ug!##ODXr7{`!{`kmZG7$pnUgx&_Am#@c!3E+yAEd^?%P`W9Q&P@cqqjJFkrV zb-4XuetjN2{uT40mLN4&1$O<(z zPArES&hCU|G5lx$Vo`X`f3G0NMFpIW#{|B>kkC(^W z>nKLXS$me(pue=GrWUM%t01tt4$v_`kasPD6!hNu7#QSf@|pB(0}fxSMiubA)zY(I zE2g>%29oJM00YyT2cv-axQCg|e&hn?9q*u~V(8)o?ezfSrNdN^ z&46KCxl|lt0~V1T`HJc|*MmXzPqV)r=mQ$5&0#vr0_LD9+fO+uM+?gUDr!B!fX1tjJh8_5uNf^-= zKDE;KPXj(>l~SS`ln^Q_DhM;mKQeQ18;va!(^^Ux<+LZIlohpFbB2STgwtXVe~AU7 zvn`ol=Vz-+w`3wz9?S9eKem&y#-L930fdj*=g~Ru#m2121X8E6cI?}H&oeT<+*PNE z!i)zHNUWKWPI$1t(UMkESv7mx9w^J351*bKg=!o}?5x=6>5aMGgTPFvoD$OmW+JkHW-Yx8;Shb7QP^v ztwK-dAHWfqmX=0DQV%BGzEe}IbjsWb_*zr9Ez6z;v;izJkI7i+=_lM*aZk%`Guui? zv`iwOIM5Z>XFrkIvNDh0BC?$Eup3c4}M zBn&xpKRFg$oSoz2<7wPA;&WmaJUh`OQuuQ1le| zF)k!ZPs-aA zUp4ngrg+|(Mv<4L_Oz z5TQ}mm}WEL8jt5HFQe8MR^%?R9sf?kRGUR@#5@+o{mX7)wbZWw1Wr_2t3TtYbHl8R zT(V9@>%JIQr0>mSshLgb!PG#7U_a(3ks*j~6I3p)Ux_#_@q}2BF?5&KbS62<^303Y z?h*9yYm+hJc9gM?pgEgs68Pl?oU$?d@0HQdKXy7|DD>wV9s{yx=cFU5>1`@T8EJIS zLhmc>xJYi#nOHs%!^s&XxS39-0 zU_`viJ?Xf_GC50;S|w@NbHp&uCnYD`N2EoX#>OtfPUFE*bXnN!MRMoJNK&D2HHqP8 z+*j6XS2kXa`<4~-imrsnUoDCcc}cm#z)nm|twe{1d83YljrHPN3}UL`_;Mk1FD2|c zw+)_*fD_>I4(8x11Z^5h>~82kQ(w3c`2AS0D2K%2ZFN9MEWNJrm2JiHHF^VE+qa>Q zaM+`0jzm;F6$D#6*iUW-eJZIYjIbt7mwcb@*{K@q$S*lgEp2x~H&1LU=ee4Kp56Jt zXXh!x{#Ho(#Sc_TAL;W@7pHUr6f_AsP1fIzJioE-4=lO+SZ?pkBx~F=L*BmEcL6=B zdvv&=Dx>iO{3O=y?jzd#D-7P}mx7u*a?L2Z=!R1c1{3RiS+%MQ!Dn<~38Ons)809} z0a_i}4rcY;Co}J<}wSl%e(2{iW;C#e%@>szlpjn_W@{6C9%`jo5yM{ldEYP%HoBJuY}u&8fHfx92~G- zk*~kQd;K~WNrd3c1{Pj+)XZ=%;c{26E*bZD>6}R)t#}^(!n+?kqDxE?IBA_J99R7x zx!xjbH4#WCUN0)M#ud$4ruSl1nU5}_LYg?0agGL9>sJX8Ct0;zry+bLp0)F}Oyc^C z+BMNv?ijet2Sm&LI#Jk4AMa4?y}AiH$e->eO30jm_9bY=c4k&56eA|(Y9GW-KHR&( z%D^zS&uOl$oh+-Jq5?j7q$|u#m%98tDDU!xg=kS7CnONuiJSh>=%S|m2-Q7ev|ZRi zz)z#~CtVQUCVwLFJj2T!ibO^uhbDdrt7mR_4M8wNHMz5DT08<3q>-TWNc#14K>>zQ z&Xt=V`V(HnPCqbD_V)1+$FYN>&B91a zq22W@3QhCOOe>|49y3-9yMD4JM~NQw(S@}%;p%6Su_t0tuNkxO=+#}{``=?V_lRb; zh<7K(ob2{paSYWFUiIJee3CF7!K|PoIU;$hI12 z;WI$S6JiH*U$f&{Y_ajc84YTg4j9Qsm2UJ*g{k+{(`ppE6&Q0f!C6^ZQBhIqspUMB zrc6L#qnFfG0A07l`1m3OtJGVGOqDD}wTmsUAA`Oqil>go{UQ7xDXGaivOZS*IdTJ@ z@>M&TehdaEo=0DfMMzG+z51O@?fxa1B0yuq;usf?Pu;FPf5ClUj0uU8UeSCSIt@G8 z4%)Py&!0E+>H_FL~-@c@{E+#Xcq2snXp& zPal^@Jaw{vKWF_%A}RL!X~KW<10@Rb1Y9?PrwpjlnRknTUWBeLfd0Ty`xno-uoVq1 zMxZz}+3&p+jA@2`a=~ER0!Z#ngo8*sm^h6ipJ<&nKLJF%H`dA1!os)*j~cuuKu=Cb z2LhyN!b1KmUy@=P>3f0@TKB`9g7Rj-j~shG`MJ;y{yY8jna9Z}JCNK}A0L4+vHKdJ zRg=@x&xwlC(yfVXkJEg>W!0`Tfd#PCV3| z&#b}JVT(ri*rKFoYULk#>y&>EW1I=43tRXOmVJ5bswUdE@8#$|xGWadP3ud=h@+YvPuPd@ zHY9|OFv~n%Q#2wA2ZuKV8vK}4vIti6*Q%}o%`x+})o~RA0&@2_P7KmQLv1+H73t#? zImj18Tn5-)cq$0JV(6GT-rjax{aU-Ik^Zyi>}9xKDsSV>)s+><)DGm*m4kWrARp;P z4Lqr`Y22wQEDX;8Zk;TkG0*^_f_^tuQW1x!LhU%m+!}=SrAFCrsYvmHoc~LLcg@$D zKP5_NXyB8;#ia<{$82g#4t#8=F4K&9F8D8DXUBFF;)g_fSy?gBC!jyFJ32g^3R5zC zdbDR#K#z-=EQ$nB)htlB9WDY;0BA@vJ9VYtcewzGK`8CW`~fd2cSxejpvawX04L7w zv;O{p)JD|O@=ktY3{XhcmO*tF#wiGbCKVMI@Aloq!$S>4Xk9BNr$$P#el5~|md%tO zO*ZponfoTYE*R6oTHqF|ZpbSK+;^Y&*Y z*UG53|JB3b;9&Mv{?|w(Y3l<+cZz0yCO*Cg@F_f31`8mYOFK1hoy1)G1gdQ&XvZ{n zJUikUH%0bpymSyqDI5xuUNvm&=v;-wvW0-*F+jr7DkLC|0H*TDF7RFMTG9>K$Fi~^ zea5b?Ja@fH9jC6~C>CpWzCoLfin`t>fJ+xLu*fSYm=-ymMk+0Nld_~*?S%q^LDmjI zD~zSDr`IvpA*W5Nm^38$^iKW!+@RbM71AJ9k!IURblI z$*nej{#^TO?3QgN22d>VyKmin+{ZWFlfr$~OI$+YQk3;msh=BPa{QNVK=tn^3DhR| zUZL<`LVnW5rI$4IeYNGu6v1NB7C~Wt=LIIQIbY~0Cksm?91)s1-3_()XwW(o6Z11C z4P9XY*>vy$5>5XBhJ)Q9bpDB>;AII>g0mCU6!Lzbv?fE(&PSKfCW-KF;YOYiqd`gp zA~Y&?2EMc^7!o3>JT?!jthE6x*$RS%gmxpPesR616_$YOx5iB;;Y>=y@5b06$dndM zdcW-%e&G;|4>X;HVJV*2r_&MT0q#w0SyJJkwd@PFl_>9(;xAn-iJ2r5e(DYp%vu95 zp#VaHgFU~bRD67deGBt?TsP_`d3bmP`1mMN*JL=5FW%^iV-O7JNZ6Nt5`0AF=H?bD zJ-fWDt*O}>ad3-SP;h*5l8k8aM8BaGE%H`lTiX>=hD}hdbHv4uw7F$FeXat=hS1DR zPp!bW$*E5JptiQQwz69q;&+o?nW73{>;NgPal(B!&v4iDGRbYrw$V|dZ-KoQl@H^u z9d*dsQF`GhN?J7eUq&arFaG=fyMcq_Te2UW6*{#`0DcPZYig!UWMyUbJ(+eT;aGch zh&J=y1jI7*49eF^RoMQZoL5?kATsKR8Wm%}5%`=gr*NC< z!4r#`uMA0Q7`R?l3Z__)GiAjHMZ4dXM@g&zzTJO{yvLUD(U3SH+J zr22ky;EVtW?5{&ZN;`Ix=p+F<2^8qf9M30lQNDbGa;gE6li>Fsy@>J)R2x7h9Gr<~l`fDxXnr&p{m3pcvT*VdH`v6E zE@b9BAjy7nH-o%!qBqwGowpnQ)YsKV}i4{ z1mruGa3WJ**w3~`LRmpX(Gv$Xz#m%yI3b{`bC!J#-iNC`p>GTX+Zu>SHYpx{Gx}xy zGve_Q17o%Xm#yYS$px5*e!orv85tdY_Dj|mY3_bjQk|L5JGRjlq-YV{SKiI(otd2z z5v97i4v=RdK|#~5Bm*uUYDK#vm^{N(Uxbo=53~MjldF3Q#e)%f`kgBqRiO z4cXZ(_BLRnw0&ii?B?t0rFpOekHKrvCci_`3S z*2gaZ92GYWGzxqrtMu*j(mJd*AbuEuQw1NtpkUFEC1}}d6+aA|Z`J_P5E#o0rh@B{ znOWZmw>)m7bj$LP8s1ZvALIO$4B)zQWQX zOY@HO)d$4V>gvy}t(b?G(`((g4As@+BbW-sUsq?y_;;_`0Ov_L+nwLxRD6Y<6PzYj z1{v$GWk1R4*5`13{bONa0g7)G)zyph^U1#t4KUgt%MpzyQ1{|Us0yo}gbOO-u^n(W zGBCjDb?D5)6EENLE-r2WCdqf0TgIHgRDnR!8s!R_E-)2N<1!{qdOt@~z9s_GwU`8= zQ7>1my~v+<_Sff{vO58uN6U5@@sD{*sv&I#1qYRhpr9bYjvFjMa;9i4^Gh@{Q~<- zL~eDd7+ZzmC(J)CjnC=om*#Nnn7;b%RhE=7NDU2r@3yWnN+)G&eh^X&Vg-<=ySuxf zAZG-X57h9Qn#8Vw{0k!CU4_Qnu4Z;0)R4BxDephO&y&zU2Dc#ul_I@59!TrEMJxKA z5PFbBpK2CsmcPYsXzJ`#Fr5a9H5hdp>uTeRBTqW-i7+-;Ke7YbPT%MU&)pR$^a7!o z>!Gk5rZ!$&ri2t!AxX)>02@}0T}#OZc#x%SudG6bT)Y`x6C4soeqPJ+Bl)RNT-?=91oD}WOx8Drh`Gby1JVCvXii2(iSl1;M({4 z?l?O^3Y6+Vs6fnmpub=9tuEti#~YlL^$d}x>fWRElQZaO$x>!dz_2G>*{tGeEM6G{ zokZ{g0e2KDFWBDIy&w__f62C41Ki|@h->2qA3W94CFgbt013K(c=$&B&Ul~f=1(}I3cr4xBeW{T5=|pDd>*IlP(jt&2aL0+z?ALK+6yYY5Gw+gb{fgY-VPsq`czZVg^Oij8pW~~t6NJ{kIgFIu zJ=V-N6}#}TFwCo%o*9DEK|%9uBaPdz!>s8_-}6c3=>W*u5u8S!l!aSRSEEWs6w7RlexoWzleMji%G@Dy zfb)X)9h2=0-Rh^q5A3S3+}d$UJfq>i$d%I~(xa90)B7zJ6Xl!^clgarUve%Eb84>o zUAnT3^t)|LmEm&xQ}sFQ^|&zuND?r#cUE-fD4dAA#t8UwNch)O>1YRWDu2)}nq4MV z*Irp&U3Wc#$>eMo&GC8Y)34iTP1QgKRL*y57C~HWjWL`nm3iOK7)N#e>-#`-n1ePp zHhjpoUZFEw)<}Sx1K4~%0e*^e^mDN|5^)@%)?1F3yK%*8LL5~V z7QPEgAD>b6dZlJ$oK>??WK`CR{ajzAg%bLsaDOw4a1w;$^S90&IUy1icCaXf3O(rh z3w^r~u)miW61+TS=i_zLI{<0-&c>eaHpp4*Jo^0Z0W;dOCd*2-WLR{9#M5WcumoPX z;jKvP2h!g$Gw{B4*?%gui0v8-bj7|23n@JsSd@1oJUSeAJQ{28Xz5i zqfuCsGiPuO7nT#yFje)*c1o2!^JnW>_5=(R8Kr{x?u4#Gl3aQ z9zmI%LDk2nVbuEi)Mr%6Kb-^D-Ibx1mX<-SHQXUfZi@j8IXke?op|qZ6{&I$w{LY9 zvg>`BI_G6ISm2dkz4fvBDp#+S-=*X8pziJs6?%l=NxoLeqxrcx;NaNrVmTyzIN5KL znGT-Ov9x$x?+!}lSHB`Xel9>V^GPo{V)Nm9ND1)0uHavVofhB{si3X))o_xjBn z|L?Mr*?lTkIq%#F8x6dg@l>Ip00i4$wGdV_@x$wAuW2v#HG%=I`t&dCu4i}3WCS_9 z!nKBh(!sTPF`Ng(&gALz0s;!)oWP{gz{t!dsEgM$Rh(F)U} zkFW0cFKn+v0VA2ytTbc1-h(q#^xKH4djxZg9TXyT!EN0_qUy=sS}oX%(U4suQ2c(n zcZ%Gk=I|ODAGa&^lv5BVJ%t(H}YiX7G)fi1R0j@K9yc<+ysqNC46 z3@s55-4T8#^lC=;10=q%zS!E@iccoJF7xQoOX+Ml?j~~@klTEv?Y}ta{M{4X&+*0( z@GU?LDLgVV(7LU)b^l5G)jYciyYc2|oGlxD@;={)+k3KF0w!u7r-!OL(VcuqlHt;2 z9C*OpF%}}VW%D|7pJ&J5aBqG*ZPRGf>j*p-9jWcS{G7!ezsyyN>_$P2P)op#@!!3 z1`JsW*-wdn;C=oKf@f6rz9y)-`;qU1u-?{G)3Zlj;kS)hv+c$%20K#+3w7iK5NCZw z&K(ztKD(pf<%OKEJ%fp-VN&!uN6eRplN9?^)z!nx&dU2&q#OCv{&Gs19#-Q_Lyimu zoiEg6co%YCbpS82w5Dc18u3T8Z>t91Y_^k2)TOL8XEN8Hx7`RcXf5u zhq|kvzPAIu_u1a%^B`~j!E2pdP+{y#Obgkve7<5BpX5;$h*E;+t$@I{Y*Nt>JD*T@ z7@vE?ywfrxM+9SN!7Zw4YT_F%;Qj#a72qY9q?iYmnXwcC519#`HR)GAq;9(QNI^?o zou=<|QCu@ID&(ikOiV4tp>>2ra8-d=%+If#t7ZdkzV{gM?Bo3>XC74n z=NBx|iZ%0db0JZ7D8SGPi76<7fCB`<$k5QyTBk*@n;JBXN6&-2{Xk>?#@+{(!|O;b z35jO|%TFOVL75WFG~`NaYe!AXGmSt~1n#$tTLg#9*>>9Wf!vS=8}X!`bNqkE&s}b? z0|gCOscweM^nId!149hD6W-0XU*{d!$1dLZF;=axq@u*5THA;2eCN^jm|Eh*e21Om3gp9tV(9&WyFTwn8n3%bsnqC;jKo8zw1f z3Z$PuN+(tTwF|t8`Upu#3SYm*dG~1Uvd?muIjXBM=GPb@fA`s?jg4Qs7mZ=~L-U-m z=^}F+1fc?2oihInaMlB}Z77R^1gmTbNHRbV)*!CdVjvHaFHh%1f!)FA54oZUP@rO@ z9dU<+XU(nmcCZrT2Jb;MTc`DJm9Y<11>lm-U8S7SIi}9wbGT@C8&Y{;8_yH%Z{_9X zaC4V39Xte@vevg@1-2@^xe3p_7St-|lB%WNdo2HP?Or^C5 zJb@?Y+xWO3JG+<^-go7|mv-!oy_Zc6etsAF^NyfgdNp+t0y|WsK`U66MLJafaIa;9Jn4#t zakTr={vOyTpgp_rb@%MX?)!>&-dh5DP(Sx9t*=j8a(nvpwoQgs`1tccJ5WOjqQ4yp z!F_7u0UXI?@9(C@#!%K!eY}Mtk)P8&KL&D=um;h;_1@#BDXw1yr9^a$*Di~39jpuh zp-@U3YH=+(02Uz|u`&~ z(#zvo;QHHcQwgE1(5lz?)bucY`v{Ck%CU2Zh1jv_*7z>_TEqT~-aU}ijfj}~#e$j| zA0J@Zm<1A~4~zF;aXd%Q`rUBZz-(-E6r(#9ohJi4%91qG%wd$%giPd3*e(jN`TfvA zKJwXFQq2obvNVylU&-)3#297^y!H$Q4wAJV61ot(E#~P0(M!KB5*;3dcv|-_ZK6(l z6q&ER+ggtMX%aTv4=S1ZPqaZ4ZZpO!1+Q=@ES+WCzj|17+-<3O<8P)F;H={>ZWk-( zhr^%f==`oVdp=lNaS^;I9JVM0rvo&vFSt>EU?qhi^CH01`RW<_c=~kG(ATIelt_AJZjV3p&*K+t7 z)n%_{IwTU9Dm)EXKwD|yCE=E%jJ_GP4vw>!JJnrge5nFVdoH(2)^bSHmLJ2>e% z_>l~YJ-5QFqtc-A|2%V%9``|t7;>H zrQ&|y$vfmaNG}7PyS8M*V-Q{Ts7j)&6`$&j zz{Z_DpvU@@w>&wz#)un(G4@2p(~Ai?QEJelg-u>5ebF(Vrqg@{IYe9o$-RdUKSj3oeumXg(@w{$Y7~@LmWp)uAr%Fd zd!$+~A+g--<=LnGW0FfOC@3|g=l_3h37I^-?Rgai-Uqlpsd47V%w~b7#U&j7g7`H7xmals7NPU+^P<0 z(ns7QvYr1U3gF*pjN z_>95mc%1W(V2k<>AH@BkUAbQHP--orEXd(;zshxb`!957x`OHWxl{h?o)7Ini3J2< zV9|u<)|vNF+0H?&(zGW{jtOeW=i|5MtITD06+2S4;3-)p zs@iOza6&T+dR|a+0jIPt2fLnLa&nm{{B=SvX@iC zZ$8L^qB1M%kA;wjnBs|hKPD8yN88%y`T3J4G#)>;Ll7<*fk^2#XcA~vhlijxxKf$) zBZvodI?=f%XYi;<(nPxMfEq7Aa8#aow?&e)rNMeRpBC0q@7=d%AgnAdWMk6ARap+b z0r3_nYCyE^{o!h097H{jbGtz9qgzEr#&>Az)UckMM3RfVtUOR_w;Lcgfd<;di}dtv zK|oOf@(byGatQWfJD$jOmc6NA})Gp(K=ERvmBMeO&P!Z9sbqw@4J~=tKT#5Wdrs-)_@~3^a zV<|tDhGu0>D|A!AHzdhv=3^+V6|&Jz`V$kKeyU!MmAi_L4mRKK?o$2rbeeS~sj91g zbOE6%Ic4p!my?g`TqBjs!wFczLPHJ6aMwY*u<&#CkWLJT1>sV$F%J#zJ}hSepC?_O z^*Folb6Q2jvauCUD&$+R!cYHwdpxwXTmit_LmeG*A znlN#J5&A7@*ZSN3)ZC$SQ9bSLnLl$tEdJ!jx61IJ;06KhITa2Nih@}tDIY>I+);D9 z&V$2cs=lvawZ%BN#L6SsQFN${sNn%w<{^~$wZr`=jVCgc)Q z1Fu(y_R{$PCJ5#0)seb@)Zic<7=seA7};@+)KHuCuLRG|zcZZN>bDFni%| zg4t%pBo7xCEKYLr^Up9*P%17nk}Q)Hq>1nFKmoR@>b$^q2I1RAtV8-x`c6I$lAAaZ zlI*h!C@3uAe>{^*{i^|@dfoF5Mj1PwJZEiVlg?q%0kxG?4xh)5 zzjwS~IypWD6&7eyw4_1e467&@R+J5&3_YNcEh_4(uXqTz!AdHh)e2Mzk!zmq-zu(2 zrad)MzF!`CJrX43$CCh2?7$RuJ+cedWIba(@6(?@S9$!nLBGjA7@I8bm_rJY*QAe* zg<3rW$arKnwHPO zyx++Y2(?Ytd#A%{CN=eFY|XkU>G7`}-P))8u$nzS=7)=F!Oi5I2!~KK`L4~-VUF~G z$7N-(+25ZauHe@Y)7F)yL320{4Lf`A&4eBsT-1z;iZWL2*9yv(^hB|k+gAl1Rm9!t z=g_}|nhpmN-Ein+Z;u$(i%Cc*cgn9_uU&TddFZm5RKC1Nny##+{y=iw$?QvC6UW(< zSWHsB_t}+{#^D6Am?X{e8MoRhn`hr2)!0)i6_g{h7mOqK?`}tKe}$rnt+(oK-JL%l z519hCVx*>qhRFl-sVC=$GG6b%$-|S-^E{QuHp`^(EvCRhtJ`*4Qi>8&zvgp><=w;B z7TT`Sld@EK8KiDNWd%1|?2%lMS;K26?G(Z1eWo3W{C5|VR8A^<4#4-7!D z_|syGHY8nB=&<6(_rXz&JRff4b-Qt~qPJTe+-GkDm@`(`Bcl7hE)%fcl;o}5y8c$k z_bAMA;BnEK3X(Dg)i3w-w&}~@4R7!AgUt_Y1g0k6##R@xzS~y+I>lvb#vB?;JQy$H zDjZ$~^U=5C%g*nAwLQ3@nKtPvkUqAWy4Xg~S-#D3NbrJ5)-JeZdg-aNi^GAvo1Lj< zp44cT-Ls}w6v*^$(-UuzFF$YkI);`>ea~{dyv!o1k+W{&nzqcMqWXBZ^P#r?%F`BX;HV@f5yk)`zs$q;y#kRCwl`&6I&w>Hgyks6E+z~I~RLlVJs6{V>?4jEPnpKzF6GA z$wb=D)|u_TytbUYI+K!%lZoAZ*Z~VW0>LI_YXp==TQdrF#2+LIX$wauX9;ryM+y!; zw)59Xnm8FbTG%_=Il?xazeyE}27lUwor{m{zKfyr`5~Mi2Roa(orbLi?9v1_M*QCR z_woHc04)n+XLBbVZcc6rJ`O$#9(Du;HwPyLi0i|K2nt@#^S$#TI4B^6h40Rv|KoQ& zd^{8!T{&>0IeYp84xY^;Ad~lQq zehNNrcpWzf967ufyayjAKO6(Rh7*3z$4`4kL>VjPPkYc{JeU9y@md`eCIclpdg#H zg|)MZBb&4}&}1b|&Mz<9pA<-V5S)KYUDF+$h{_VhxjgmcWfq$mD;>I?h7eur$G-HB z;V10^M<|%Z3T0Gc^_%O}*ufF0++xa?Y`h9&=U3NF$9SG~`s^fH-n!yu{q249aA$Ez z*4>Zy2TY}wSMrGShW7Q+f9WOUch?=cge=-TsW%P}?DWY?9nNg1%h&MY|G3C}HaYyx z?pxfG!^%max~Fcd??tw5k2Q6VJ1(!dD~jy6eD@m5$nI>jVH*>eunRg;`1aF%W_D6a zD{9q0X+^Egs=CCm!R{WrPFKI#GQq}jd6%KincJC0?Ye!D_r{U6YSBPTd9t>^*UpMb z!LNJ^HGA_JRu39PzScbMX>}3ET}u`!<6tUdH}W~?I1UpuBlB5|JitnRi<=jl=PaL` z0AEqg9Rx4Yu%EFdU7d@qmCWmISqRjAzPw}aDIk<4jJRT)BGl#msa`y9v}Mg=5Ag(k zd})eZ-pgo@nSL?U@zdST2A6 z)tz_7%CSnkLj3zH>deOI`!z4lz3yJ#)XCI7P9*12s?rALq3OUA{|}e z5@{q~!rr`cctN*1;jcD5>xb}VWp zW-itSj(>@CY+4q!Vzy2ee~x@`bN@NwadP~9#QP&A{w3bQ2LDmG`-AcM55bOuQ~kA7V%#ixS6_oM3lBz8*`U4$>K?gZ3gZJqCS0fLy|UL zgQE2HmS32^`MPCy=nP)voO$-3j8I-ooO+)DZ=oqZHwEr&R+71win@xCP>gy@`uarP z$*lo8vz~*Er@tmQUOJsUX~@W{xPYfLVE8p6ZJBf7dU|Empk}N_X_oUy$iBM|g_>8o zCT+3hb%L0d8J~&G)6b%6ant(us}ACZJygCwkB5Ab zw@Yv*EG+NJfP_RVXofy0@JF{4wuq6>H&s(|=JC4gi=A{^|LO=%Dbtj`@BQqdh+*rm z;{z#`x!=YjqDI@FcDN^z@%Ss5+;e*PHso&8$*a}>kFa+DlC10YKD*pyn_YI6U0t?q z+qP}nwr$%+m(^w4HT692{pQ|p;+vU>6B+xQeKzucR%S-7-`;DLWaM&|cNBXR;^)rH z)y!|h;$S^@^g8g>eP?5_2LE7m6}9E7B_pOB#HuGf`1M7qGsbh3usniS4w;3hj`X@R zJ6)Sw3#*3?s~5~5(1AcfjrvK=1((wA666vNsbAKrRf+7wL`!E)UtTliqvBjKvvE(` z!ZBO*$4IfojnQ*mb=5D5P&yDE!?iyj3|sITM2GnZ+f=cFJv9`c?(6A^Fgt`jWSl_7 zPYFtO;>1C_3!D@q>zsbnh#)~LvTag^Ah=2yBT`SMzdWapzLw#Icw$`l5Wq+Mru_?~ z&JwZu6|)t!E+zBN+2OCb>P{7K7BDnQI<2}CZ1v38z0Mt;Kt@#EXMUoem9WE2cw81)dvF`@Pw(?{8`dN6e?@R-PW_y%}eB~15sj{5oJ;8vb$s% zz-wDiB?)`f*Tlp3s%<2AuXDK83KV`~NoAH4?CMsQ_8mWk=T|7huu=~Wq*p${6Gdw0sIjpCx=xQEY9;&r zl>%{eVv;mXrM(6Kw{Dy+in$sNJ;{LoYZ+@h@$cnz$(9uhUG2(eOioC`a6N>O{o+c+``DajC&(X>3U7`r1UK{ON!4hEjp)1{_lle?SlNMg~+~ zGG%J}8b{LK*^Gw2et@-Y{E*1v-xMNpMUA|Jn>Mi{A6~B34P1V7E^cmq75Jk#G`_x~ zlIp2KAGiNB9?m+;*OKYaNjs$??3BNUtg2dgYOWV?;V04nu6uI$?)3}*Z z5))@zC!^!9A@#VuUg7J<-CKI&kS%F5q(2fq*L=HB)Lf{EKSb-!DY82ep+JDrZ}6Bq3p1tiqhQy1j= zl^_-AIcEoP9DM^qC?dm)^=IR)e$YqS{1iv_Ft?^dF?q5kX)?yc8(lxoX9MIsfvJwI zU{rIg|9aC!k1O)TWvoq|1)pPVlpVihr+!W~IKkE&9WI#7tV3WhS8Vo6ZQ>(?*GWf4 zfX3YT6N-Yd=U6t)rBSB}KK{^Fu$(=6sV} zpu!>n+PV!bj=eE{f*;ax%@V!@wtva`MXN3i+*| zyrx6vYuPRrwSj90O$H#cVbzmBgp8RI!V|{*N+rOG&$}wSH{+aS3v7xMuT{N_Ij0}+ zCPB@v%WA;iGn^bmWCKSR*R4U}F z;~LugeVYg%INZjZq-ciTGU=5{^b1&2mD^&qnXx~Cs5H1HSO;;M%wF?4GD7xIP|j8J zBMJv1CrkTuPq{`SCyGT~Y~BX-Qi&$J@NEl6UcAF!%IY#ZO*;=uo}K2n3I8dg3+HmR z@m^Txa3n=%faV-A3&WmyU4J%y{w1${DJQp~f@88d36t24I-+%9ohbwfMV{NK=*gl_ z4Gx-QPUlNt4qAaAL?JHJH#mYL8W}GR8eobQ=R5vel^iKt@q4359VL_mN`dO%K+^}f zwv6npKP03d4JMy!ckA0(Z?E2$Sz*WpXfLNqwZtQAx%8CkG~>$UTtrwv% zGEMvbY?9UMg`(rFfniuu7q=||q6T~!1xu4N>r$we&OT=<@tH@{+dyyn`(TH(s25T) z>TE;F{QcP#+BwnN^HxTF(BRqJ3gFb}n1#{Vk2Jg$9=UngGhDmzEG66cIrY6*Ep$pR z_X4hEy^ zr&d8DaiC}j_X<1v*&uWb0SjHWI^#K}pL`D$2EFW;bRfcRZBiO}aX*einXob;F)s_U zl^_xhr9PTltsLGa?6uB_(7%0}hZ}aqEJ2p$FJ8A4y8a6lyK}IPjaN-zpPz(d0%0!0`iUHejf@sS$J@PX> z+yHW?A*{;am;W%(-vP@X63jBVWGxe6EajN!|^W+k6!Tfx-|xB`0_!jCFzj z>9XaYs|d`eo87Iz`0X?h**e7EJJ5J<^O3rmdSX^{cD{J)3+Ao_;kHI9Fnwuum0Mzk zFvCyYOb^@W%?F#H(RubGDg2D`WhCmV(M35+$C000T;jvj4=&*+rp%HfQ7EU&{l|vP z11u()0Z|h&de9qm`9*YA@Q&M9K9`FC%@$1lVw;oWBXljUk19;u8Wno=?=!0~q#%P5 z%$q4^!?+x*V=`T=_t`)ji;~Wp5CTWIvs_G%;ot8lwu$XmM*_#AZ7Or)U zK{6pwQn=7?tG6X)C1wWp@(tVdta{D@)9Aq6L``#P;;&7s#7@nWlOU`~^8G(*ij%3J zcmx%n>Tyjzr~3)(<9hRJE*KIr;#=gKYXLK|O$sr5^G1hOXaUED7t@^wUL5sVCX+?r zPx%R;XoNp+4f`ZGrg7>~vwVW~m+AQjY=%o{C^RP9gHf%vaOHOnQ# zioE8k)p4!$n+q+q^;|wT(g?Lvd2Ih(^4djXTZqLUHE?FWBY~`=1JR=t(~~nx z;aiO6-5_IPa(G$kXw?d7ZNG!&7N=Vl8lE>_GOPU1;^C66QXs#YE=~a3>+-Zm?Iq=h z#Z=4tE?g>V(nT1@CnUPpCd}s~9^BYC{Zp|651FfCx50y{*!Zzwlf;>ACBkWRmV>qa ziDGQkXAOEWKQ=Vdpo)rOp+Ap!S`=TL?#23T;Hn3%IIv9y{y{ipDECKEE=R0EA{rKI z6!W<7s0uQ$CYKowtVN0NhUQRc#L@h{-A$VaRn_Gfx2@a8J1Js!JYqq09+lNjH68|e zsq|O>L@}1Du$Y-YF!QTRTY?}MBV9m(p^I}cOFt7rR$xeLBz*n3_ApSu09ZGk$ZJ=y z-zyeu>-NbxNQ!Z~i+CnZXYaPdrPeHDc|Q)(dl}ZDQbLRG*IDhtQjOrR0G#OPRNv_> zqC?EC##uSj4*aD21ebETTy!aatEv42N?+ z9{L;BUeu=3N#@Dn*I^#klU~%|M&Fw39_p@?!5et*nZGFK@dJl8p=Yl@i_;No`u`M$ zWarkgU}{Vlm0wMd&(h|Hu{_W`wZ$nBdg1kJHoaZ7n>NjAox9GtIADSsjGm|Rc8zOt zq`H7Pjc6fzxu@yEdrkAGNZKX^=u~wHNz|-!ZMRkdum@8I z%VMv|FUA6IRzh5IqF8S}HbF99&mUCNt?=J5s#wH4Oo{a%NR{B9Ki+G$@XTV?l>77C zUz-mu+FtT&!;zt%yyt&Nix4QrhO>9`;JJ4EQUV2PZN<`O{H5i*d}(&$h1Oq}YG!E1 zo*8dq$5v^euL_eV#LA0B)N?;?J zBc2MZwwq(5I^G#slj$a_XELbi+BhWJaO@W^)@+g;o388|gVM{95{}X$H-PydP)raLjgV>s5uFg z-H6$b^YvU#Mk6FKz8FTAR+s7Bj-yPQFy&N6vru~+ov@~AxCORwuqwvu&+P;L-Uyk| zUuyJ|xAjy4l-`%^Z}1(_CePpIBZ_m?Z*}xMHlQhYL1GlIAsK>zRb1Us``*3)bHHZM zYi*XGc9=7cl4G*zVSzk@ti=-yvP( zVvaxyZ~n0lZs*B*{F@8kjVkxd#VBBoiQV1iT+1h&d_zc10^TxoI}MLa7yQIs&}|{l zpsfr$Mmm>lLB1n}*p2Bf-We|*mgz=f%+?{m9ieLJubLQbqx!MGEj(<<1E!;w{WPQW zm7L?89%M$GuJGOmqirv*n;Cv3(B}Qf2(225M55C+aSeu(ZD&sPYIHodxB#We%{-Go zfpeIjgLsN^J^B>q%CW&Nn_Vt;p4$j`0ft2$jZ7WAMog1JZXGcctTKGd;Eynjs=B}? zn$?%zYtF4G91N2)JD&oe zg{tD&r{!^_^ej~>jm!s(H4=E8V*OE9`Kd5J=-t;^5KQLS#G;qQ6kzf>eN6dJ@vYHw z{X7%CSb!3om3Eg1ll-D74GDl0ScM}icbXX2Q<)^T$`ayC?l^@Sehb{k3)UFhf_fUP z@ezeR%*#D$LgE!*Nn2i-ULfd31~R}03|qF&v}srfIxv%=p(mk1Ix=B|*Xc%s5(qQi zXmj!bg9A80=~J2S7ppt*LI%`VBZKss(V_oPZ;BeA;oqYjkS&0`M>K5FHDc9{6TSuu z7VNTJpEhK!tIk^ary-36p5c7`frBj1T|4it#~*gu%)hUQf8O(H2DtL}U_Eacp(bs~ z#*N1|)AogjBiuo=xq1&Q-hwQj^Pg_(&Ly*4*2HR{#m&$V=E$3nQU*sMHxW;h`w$0w zZrf#c=f|;O?TQkeX|UIdx3{T7a9f1UTx)%MNy&t4?*5Nn(tn7@f4Lm_91M)C9SPW2 znE(QMwxUL6CZ>+xT!aqr5AabiawG>BTLO%AjCIWZc?B4o0lqPlff2yk$x7eI-oebo z8enT=|4$zPJ*)4MgPye^;9n4BX=Lp9pOXDQodRqvog4rLHda=808=+xQ=@+yn%Niv z94z%5Oabmj_BH?;Ya@W8iw(fh)ZWMlU~J=L|2?9!5x~LB72sgx{N3i?34V8DX=D9; z#p)X@{Zq0ua&Q0`**WQ10!-|UzLA7IK+h4t2jB+?00aR-0AYX#KolSb5C=#ABmq(Y zX@Cqs79a=sjs^x$1SkQN0V)7hfEqww&%ok8)6oOy0}KF$08QBMc>qiRrT{a5Iluy7 z39tfK18e}c06Ty^zyaV0Z~{03TmY^BH-J09&dKI`?0?_xzePiR%YS9~Unl=oQGBDj z|ENyGKu`A%LNRe5_%BB@KfjHu1`RzuGr>P~-^A>jOMO2Zt$)4H!g^L_mTu(#;yQwV zc-=oljp9F5W|l^b->3gLljZ-tBCTg-^nV6?|ByEYM|&ej15<#sjlI>kX#ZSN`OmXw zV5S3zIqF%O8Sq(~SQ-(~0TdjKtdzgW+JCs>{|*2Fs{ds&%ye}BlN9~qCI26O`2X9p z{{Qr}3z``l8~sBqjT|(->Ei#x*0laJO5ySy;Yx{;nfnp!=p>|8(%b3C(A3rf2!z`Z9dq@t+WK|7h^9zLF}U3bLY9|K2F2 z_^*ur@5(ZLf2#gZ%CfQje=AG>op1j+A0PJ zDa>F>UJ@#o5rTfWJIT!kC! zQ%{jJXz8TWz3@X?L&q7RF6AvRBvv2Uz7PtnFe66vJ}n2G}X9bJ6Eq@ zSn6}JQSA<1z0vaFXxYbXp?OnhfX8w>&!A*ltKIqRvjxxR>lmNg}t`(>%|M2yk+(_{IZ z-JvI&mB+2GUnnA_kXozRb7*`~sbZy2Z}Sxvdx4R~$a<^ZY5ftG(?v|JnWF~W{?GD`@pxy3Ca&_8t_5#)_r|NjOd|_jERK00e(+c|PJEdQ6 zF{lh{8ggHzA0b2D3VT0A~rV9Pa!a#qJ8#p?{#2o@8cHw-jqoVhy#qv9H?l< za0e6TSmMiwT8QAE_F*Uz9zdk?1u*$GrKVQFD z-ca9^&fJS-SY@D830oCa#a$VQgEdP`u#D>_a14QM9zs-$<%XMWY$9U~JmZ zVwbd%$+woUFKR7_ETN}1>lhSL zAyI{*KmMEg6bh8F-peXWBBS`DAP1su-JPP^l<1=X3`-Wl=fXEG7(ZQfbo<|fR>5w; z?3?fMWksdp@Fe;1n+Qh1_Nrq_)>Kc4DdQHX=DxZsqE>m$N&{4@L*-%qTH)#1W7Wna z9oos=$$tJ?$494kR6U%e$!Oi%+!?t|PQU5-ZN#1};LiZ_>3EPtjV9G|IKu zl&fGi8Dy({N&~2S=0vMb->Yw&Tu_r>X+6~NwEHfjG@Qs<$=Xd^|G43WHoR(z{vz;s zemrgyack=4b&dM5Ph${QH|si(3ZICY`1iwEFsBJT`z+@PI8&^bsH>Jab17>n(_31n zWX#M_*$yl7JTWU?;b;)~%7yU!v4k#|)4DJfvcykfcr1%gik?ag8PKD`y98ns4Lg_k-e}71wTCKkY;L8SmiqYKaswPg;T8}%#Jv@hqUGR}h?CE5SGYFe3|p|lYPiwV>_2q+vD$N(T$4^8Omzme+_HF8dNbJ^;dUmt*r8n=a(AXY z-FQzQf_Tc}m&6J7W+L^@&c3d*X9`~=LkA;0{sO^=a4FMMCAob z=g5R(RRqxdpAvCf9>@~2 zsz}Tnd_wN@OlA50UC^Q7jPwbHNCm^-g!2>gDO-P_EVI)jKYi~ejzSn~TG;iZ(vke z2E;Z36VzJc;qMTCkB>aF^WcWv)%U)#L4yblu~xdN?fW|-Vr z`O!2AH5bt|lW^oHuq{p3GG0(~u20uFTySx2)7C;?KtIkn$7xxntQI+^dCk$bP@Ri+ zP}Wn)o2iIAt};K8bg+DmX@~hVIyrZFO?6vu*V?SLoUg}q#d*bj#0kW0#sxg$zEyk8 zbldRM;;+S=k2nWxnzH_pIX8YQ`P6(?$a^TxgY8(vWMQ)al$IZ)o}MJ{M-HyoX`MUI=H?(Hkgq8pEzL!woK7|b!>1W z`=FVj3AXl*s4WNjw7c@wLsf0CDK}=n2TWeRAAj>k^n@KfZC_C!**Az3$CDFN28sPc2A%Us8S)+3y&N@v9ubIn@Cjd>SG z%@)-SRwwqB)K#(ymWnFq9x)i0+^lXdFtFd9I#2*S&>$~CAgE{{vFTn@u%YP9nyXPP zlvyks<}6A&AE_aqv!+AD9_iT4n)?O83RMW#Xb3QQAfYMbkSt+WE4Rzeho>+6Em-$x z$}@vEbkQu7x&StLK=UlzcpkT-?|LrLCqz$x*)!LmJ7miq%R6SvKA;uEXDF)`+GQVaBjU}L2d_84^(WO09bR97D@@EjBv+V{E7Z)6 z8du2C4Y2m0geztZ=;jTj_Q08H6tilClPWy4ZXTQyFv|{XR%yaD>DIiIW4-iT*{Uew z?N7&aX)+wN!WvETXEQ-QbWw=QS9;du5aw4aK zEea-DxzJ_MPDR_ZxQ=8_1s$cF54ljMVqMQrIz?NHWVJxxD6PIAIhV!Vi!rYYKd?jt zOzB|r@|Yrn7k*-i6_`3AfY$N)%f5>FU=n~B#lpb3gQD`y*9_wSyT6P?c$abgG&}KDV~LG7&?$C0>)JsdVwiA#*IiiqA7C5wMcq{fl|zojF*P5 ztAb4Zzh5@^j9Zc{PibX`d|P_~Hl9Z#?}9u-GuI98I6b|9+lUYOo=KZ4m)nll&3CAt znC)%+bNDBbxBZW?Pp?nKuU}ugsz&Fkm6Xmb&cB`6otd4vmC-vWvdQQ4gNS26#gbhH z%5L*46J`EFzsP^me#P4yc)Z9p2g8TN1jYo(1j>Z?#OD}wyc2RBsQjVmFl;%G>#CP| zoB(1c4=I#~n?Piz964ysj7^XyDLH7&gv{9$;8Tyi#Jz`eOWM-A3Ux`u(i(Jw%e0p( z$+BC{BRaz2+yUWwQ8hQ$G3_NV-O>q;ARlI zbQ+@_Dr#p+xn$5(SeZ0xr%t&@??9s+`P+Pyzz|G{U z;|bS0WqW^n)#AipZAJy7sS+MHH{hP4L&zuJoCCJ2J5^dfEEM@hpW4&R{{w2Ne#tWG zgK=2}-lRpS9)oN+0ws<-euJzX--Ty4`$T)+d!Bn@>BRg`7+!-hXM@A?4DEUR%IJ&Z zBHS;7mOr?U=o_b-SR1shT8l&vjwfxAYp05vabyW^<-xN!cun+%tEidK;@WWSrPIvwEZg9g1d^HQWn2B(i^7okzN# zaV%zKgH!bMlAC*cc4f(NnK7WD1yesb9r93>aZZvU;U6=_F&R#`Gwx&`mg6TY9j@Du zJ5}9PHJfCDic))z{GjukBzr7)Gx8dwtTyRWNq~ z=O~4TfQL$ysyIN1b5xwl@ha&ArWAvALOhwJP(v^CLw+J~_aQqd#ic_;lY=QF`cf$S zv!jLbB7%0SlKBe(<}?CBWf4jHh46R2G#*sFAZS}_@Jd5;e?YM1TAgL;`c4busp`hl zt9cS#?zY1ZiU8dSIF&&yQz-(vyK)BGuGv$;dJ3ggw!M&XZ`>thvvhR^e;?wW zu~qF7+P#N*1GuTepcM{{(@(^(ie71Wz>y<9Jegh_(Jt|N0Pd0n%tt&Rbt$5s8MO-n zR76IRQ&QH%vgdQSLMx3mUDU6pHP58azN%c{WF$g9JrFPQd1^J;8j&5tn`A4n*)<9*Nvc*SpS7znK4G^I&&eBShq`G#SL903Lap6~-0y*g5&uDQ}>sljQ!p90} zQG^V3)|DGDDq=}x3pDvZ$ic0xu{2DJR4pnQEI3a;YuPNgNjTm5$hw7`mIWS)9^j#d zv9W!lgq4>Me+cO(2OYOz!qv(biW?hg@aTheU;8-`QzW0N!om+8t1V7)sm5W1%QdSh zEt}oDr^)Y9QtigR*6(hpNY(0Bah&?H8yhS_t--Ufg=XRu)TCyZ*EMU<9EkBTA-$Cq zyDJlA%Am7D5E($JLFIlvljTGYOlkWfbB^65Wk3y3JaL{un~UTnMlM|rX0-fyn)Q|S z+l!2B4vyu#t*>TYSA;e>2IIz>8Rj!Oyra?QXww~*6(sevp|Bb}UdeTZ=bvH;wX(1A z)OWPkZrQjIdOzV_lO)?^<=%lesU5oJW_^*(2KSmHUY^*zji&+W@D3=RHD7}UtS5Jk zBdwlMhoIIWT}yyz9)LNAhb-NF8|JhYEoSo zvNS|U^#gp(KMS`QoGqbZQB+Ejp3}4Djj<$s@{sT_fRo3tW7S$YN{zOb)EQm>J|6ZuQZLlL z2^C7WhNDOwhIL&Z-Jbnxp}B-RN82IZp{-$~ZClN1Gxza1SbNl;RY>;%GnC8o%3g5; z|AfIo;IdOyh9z`}fYFRP2DSFj=z+ZQm@}8g+izzSwf25Iy(!WS{p(HkVt0m%YWS(EtCzM@A=qCV>zqV5t}m);)dc;F*4c!%gU0&!?0n>L$rnOupEwnNj^QNk{|cy0OH=|WSpZO z!m|V;fRc?Aq73C0HN!NAT=(wy2fpyZ>!1af5P-Oj?$JgsZpW@P-+PagCQs~L zBGb3Ql)Y<$!HA_Q&sJG*>K;)RF}K)XX}w{_ty;5B$8c%zul0E~&)ImOxrl^Xc_|a# zO@*Q;?0iyn*tWp~tY=PW5{)_a1Q77y90O%7+8j<2A)wAOwAOA>N*kgBHH_{g;tjZV z9MpD=FZb=ID}nf6{t!qKazMK%xPT%di~sk!WO8&2e0a2q5_6(3{Cvy5)4d#mx0w#q zUB+I5sLCu-P2=Pkp0fI=dV^Yy5zF(m%IBF93#E*)4pBp;rdzrBRl42&I)B4D-(RjG zEL{xn9O3KW;R6=Q8u_*J1hFiu>OaFzFM)!qa#_t#yrQ&z55f=$!Ul2fKaVIkrUrko z$on@f+!|LW8b}qpa)@(UhBH|DJr66LBRz7a)IY0Q6pz{;62e==1&JC~AiOJ3LLVT# zfK&k=PV})}fv|e`;^^|+KJ2A27Nbi}7ItoAo`Zlohm%ouTXbqSLmlv(sGiFxdupEMGme?n(nJWJjh8#1uy8Zx+v- zY$XG>CtI7_&zb`6ejtSdLjpaLMKMDXzRw z)|+-W$jc0Wn+&2q^LsBNb$3Snjt76nMX5@`Z?r1V?fhk+wLZ4wDcyX*B(P{#O@DKm z+LTbSZ@R7v;+S+VJBY7EeH=GAV-Q%g1R?66D>}1TFxUb z`js$Nncd+xp)8Q+-N$C4XAqKP1wJBZowRuo_&X&vi~!dIO0p<9hy@fqUcxiurWU#c z)X|X=IKC)8X3)mr#gHBV7ePLou^SuF-5M1A6K1ol{pg=k`}C4ng-Uz# zQ+BwdPGR!KG-JfeO6~`92?OUcmD%L4KJEKwB4kfP%VB*rGL^B5(F5Aa{ij7&R8b~l z>YQRl0--xGT9m(*QW%I-wC`rF{`IBk;(2t6MTN2~#ETn8U31Z=uU}<~ls=*Aw+&Uw zkP7!$9XACX*IK(nxcHzjA!nlpk^6!!H@S;kAp=S9id<=pj>(9IP|n6!+461$5IP#j zq=nQ0z_LDgW&W2)iKBQ@0MLfU_1K%0qHxv{^?0uvpOVz*pLuemdBBh-v0b8vT$T z^_@7mO|_W+8-{72MG{COqfP~-#Lxz`{=sxz=_DLVQ3fR+7y45mFj7`@DjX^KcCB4Z zRL=e*p5TT*3`q=H#Vip;JX}P9TO?~f4svCjf9%R`vb+)BR4+#PzK};F4h}>_Xj%)H z3@%Rc>Ij&@EN#wYO8c(VP4YyAfJjswXk06nTYT)4eoclM-7;FjJ`8QMptzZqCQ5}k zf*`C>KMFjqU=>baXC~u$@e!ujxN^w=^n3!582maU3(bGEEyU2EpW`cDZwS@I5SS7n zZ4Qs7Jzz>!PL@{tV0+%qSwCH8-ft8vz#5jHmVHZ)6E1)UPK`oRV=I(;Z3!sZQZBP* z+#FXHdEFF8(MYSxSr@*{?ag^#u|YQ#o; zJ6l1RL$e(6*nTGN>UvjepGVQHou`BCIS%>|KOTSJopEcgpDpmu$@C|NP>7}g))Ica zMY;)8nZ1f(+JsqT@HN;xqYCCk7q?M3xMLnbhLfncMfxRNLHO(C zhixB%xCK0&-L0dia5i+UY-%U3JI1^Pzmi!gY=>#Ry`}5xKxw%W`lJF#xEA-1+^tO} zExgS?kS0O{qtDP-#LXHk>`1;mdqlq&YKvzf`eeo0tXSfGzx-kZ1wJ7X3;X+eL57~F zo>S=fZ5Fx;r)0mjp2W7r9^|&~a_-~2eV0b)a8_%`9t^R-p`;$^@2t33Kn@K0-?2e$ zApbrk68XLDSnz2wS32!c^)$>o3Q{C()2l7Ssdy^hd<;H0x*`Nz{gT6* zN9wwRR?S_S*y)tY!Qbu8_x7N-dgZrAG}tG*I74y!i%ticB8Us@|^IjfJ^73pOhX6>Ek$N9u2*#5ijJ zx#9}!vvrGK+$G8Qacp4<36crRx7(tTgOt}iqW;9CW~3z= zI^n4tJdHg3VuDfRaYy;Nil~u^`0oBSG9uRAl$bFi5{sG{(#u2ocnH$OKUA}%y9Iaf z^oRS9h*aH`u77h-xx3xz6{mW)BGw2A}T=@Kx6ldF@4dJ8_^rF=*_>$#0 zckIE@gI8;I@dMCYv3IIMS|EH-v`c-aq?nRC-P)75$#<;VEs^BN+-quJx|cRY)8yUSi* zx=rTe-l3+ewOz^E!@}Z>m8au@?`{g8`g+r}6mWDBCNVSSh&FkXEH?5Qhg;&GLl!{la7lzzV@tpSJ z4SjzJe|^wtDtm)~NnA^nRUvpHN;`Pp-vIf)sgo>63|Gci(r zo)&atZDfBgh1AL%tYAfQAGs-ohHdCC$099o3*ts6K2ar=vJBu;)q&JxBZXgj+gE>% zIOM-l4RU&>yE>jOyJl)cvLVuIl*#l+7$O1y&vAO55_Eixpw%!bk#Un_wU7o5?2>Yh zh<}0{HuK5M!)YztfsH#GH67RrUxR~(*}AgSS?Uf;e5(EsT6WlYjIF~*y7V(Lfpn0h zvIo#Mwx;PNN+_s}9yv796DJm{4M{B&mCIs!&++Di*ZJw~s1fZ2F$PDOpM~>mb z2umnN&6`5P6dgjrl^!yv1pJ6-+OeyIqmXpK9dDPef|E+gm+Q!pk&3x2unNZi3VFiw z*C^0+;phSZ?zevm!V`OZ% zR~nhJ<7jR(OT@(``m%C!6Fc)qp3r!L+$#v}cv<0CV$&|#ni%UGE<(r59GE7g+sO)= zSOP&OBmJUIL{{z#jY7kin3M=tuUIzS>_U`Lx-beU z!?biz>I#AuP!cNF*^`DqL6(Rp5$h?I3nuE`jbkl7PcT1^oP;H#p?bpL8K366%gK}) z)N#BM{5BU-?!7eWNVDyE41H8g{Zi(OX`kCxx+eA*?#Z~gyMo0xu#TDR^cT$K@#pQ0 znk9#{Q>tx$piqPRndfj%t|E%hszt|v7(8Ab| z@!w-n!^};DWS4SD97=|p+kZs`jvBH^Y(aJxlwBm909=!fo81IMHItNQ+MkNWsE>;3 zbD_>~8pN0^PFSHls0n7#{u&FZfU6c+chS#YkcB9ejX%&njl#Nj+BPO%upG2h*u7j; zj~oS3H8fl`w7epWsMK8lrXAFCXbu+(dKQ*iQ7o!$9vp*EvY$vrTlr5mCHrjG{$iZT zKGjEi32T?f{?qG6**vxl5BFAAUWJYBWkbc)CJ7G=?#5k3_l3=?PKgXpN4L#N_3?Gl zNN_s`ybAW!c@N#w)tN4~CL(z*W%m9CP649emYa0s-)qdi;WR+BZ!o#@H@IsxNy6P;NH!$%c9I}@lp6q(XXKOXdg$mt-z4#QE+OwA zt4PXl^`+2=UGv-7F>d99`2Mt#?6Gu5x}6R|s#i;koglpKBGzj&5?N+G>S|Sej-+nI z;VLlewgxSLCWCHH8s58Uk4!NydLXVI0{M$ogZO%SPW$@3>jY4Icq(>8|2dgugO}lf zocPvj$@&wxcuW2UeWxNmNz{`?*s~V!?-P$*x(rp zuwQ62>6sj8Unm`5w-7-Pfr?)vh$Pk2hul@v@H+<>Jp%h;Yf-z=Lb#Kr+`Z&Y_nwN^ zh*wWi%{YEY7Ol>xhYaGC1B7Fa%|^v@*Y6$`yq%_IK+Hr@dTd<9+^w@h`K|6v5m)-sFvNQ{bX*FtMlruf-j^*Xie=j17A90 zSp#{6cY%RO2vzM^`%!Q+9ZE$IEe9(5;CF;3o{hUZ{fb}2L5jGJvCyw2VuPsGw;*xO zPb6R;dFFeL2fbhC&PC6vQve7@$>=3MJQB|3Z`v4~_NJvxMZTYRDGoAKSs5?a^AiF& z{rfe*gLhasrXYl$XH80)(2-X6C+Fwa?cOPtzUFLvZ>WXcF< zyIe+VI%!kP7Lr%*_D6!Ut&P)92GvnEN$=F+>7#(7ks_xGEgYvl5PCXbBIT>U{4Mw*tXzte3Y)u$_ z>ql1u5tn4>v2g^oBt6<=idyPzL#?TrvFbaLf)geaVwrtjlZCzLaWuzp%`Jnp0`?qL z7!SO~`^7@u5WI5>z~YTo%lWfz@%-tl^$g&UP;>ENd7bcQc=@9uht1t^eL10jU@NMr z!u+b^<>+BM?QJIKQHoncIridU(8H$7=P2P|Ec*V8htmm4*$nsD$j=q$@Dofh;{?}0 z(3jN-ik1!)rC41YG-cA=EqkxNQN1j=L@2yr<-w&IRrZhA3)=IVpmXn5^=t;owYd{V zTbtX`{i3-O_!Af9Bx$jh=+87$Xiu0DO$K;XzG}n>iyJgU6)&^iz8ko*PQDfFm79SN z2L&pu#0Jmpo<}Ghm`D87g(K?{9z0^!(V_vI8E%+L3eaWHHv8&i?e}EU%s`M1(C6d_rMfATT*z1lZ`XnZfdB6=3o?44wdGVmW#Ri6VYk-XLMlB`jtX zjH;iiJhBEz8e@@3byX+Cux07Z>91x>#Zp;;X&8T?#bvQtmAhW1&Rec1UNleY6yTt> z^O~#jmISlPw_b$RG_Qu&N>W;{bK$$)J`)lIE~f|z#;4#_Z|Gp0(;8hrz`u+SZwIm7KWi8LKwg1FZ)q5GZhc@K-5=6W#Gw&X zF?O07%ZLWFA+?A-&xkeq{qXN}A-c4zcr_xA=Qx{YOIUKc&pda_EKJ;Os;%)I7#dg@ z=9-)@hLXhby<@4VC};)xvkf|&aTrAP{xz4>+C9Z1p6LRc)+29YoH#!cgaX|#*=3aW}q>kD2l_A*b^MoB>x z&DK<^YTUmqOq|^o=2lqnmBC3awX}TxntS!dAd6&I{5Hs)x^n&CK6z2npiKV1XnPCr zIFcl7*kZ|+WU|yHyfwbcW>|JW!_;EkjiV>HkQ|d>C#d$kjD-$!ihDU^ewo^+ zPgr9Tg3IMtT1!Ku7J`0>2Dg@IkthljIYYoR(`yHu3J7^;TudAg*6K!6lS*V&;31I? z14xrpOD1KoNVH^Q8{pquzrV`WwA$@;6X7z6Ya|kC*+eV5#jCuY+RCNuD(>a9bJ-lU z1RTCwb1Z}CPdv@&jVU9E$d+f0;LN!8!3*F*b|iaLk+PSXomjJ56YYpO3!t)PCoqvY zMLI4>)gu`{*}2cx<}3(FWm@chGQzsaq&~i=h!*##w(}6NKdI+isOQ_GC}{vxRM`;E z%%^2etH~n(g!vm$A$nH{AgPS3kj;=#$@eH%Be`uMfpmEd zy$r`uP4H(}gg_Xu~mV8KdL?canNIvGsZ(A2vhx&;i_haQb67bGcK8_jbGULwutNRZ-8pK` zX}906-fYDeczykD1(y0jTQmO-d-Z3w$43yHivTu5KgX4|erF~XY8IX@b+q-tJw6iK zL7!yM!PZ2&UPBMcyr}$anM}kMK?R6Q)iW+SAhE0Eu*xG3BJlCC;#M2t!%>2zj+zCN%qA37P4M7?Re%SE`0az_t2Y10 zJ^d2U40ZDf#61kMo z_7E$0;7nsja0VTm=yXT2#J#B>&SS5`ai!a2^`nW5|&a{8l=mfQC?$HU2++>LmK zT}fPKF2s3=rY37Mrs0&U+E^c()u!9E`;|&tPTTu&obkBQPiUofIr;7uDH-WNr}dq+C;L#76;`n4#52aCJkp>v zzCf)+u}@JUI`69|_Otk-gV%iQvw})u$Gz@lSEAOVQl>MUz!KAqwCpY{H5RI z+CvCQ$MeDq$IA=f^CwgOVKe$;BXwVohsSW;b}Lm02%V1scTs#8bnOYmM|Nluxj5{b z;{nZYG~}C@G%m*3s=!Wqytu+XwYr2}Q=}-HoE0|&4=7;7^s#lUrDvbxZZhpg^5(pS zOnYB9-JQvke6bTrLfw2XIebT&n?YdLx$;125x)!B3?63iJqoOj#nKJ!3WOc=C(~Vh zeO%gyU4%{epfoow^`o87+Rw-7WEDVO+sCDTe6xC>y2A7EBcBB2lTnJCffGuzhJ+uBRs1|hd5w0v|;stOdQXRe<4I48!GHtZqu-t>Q?=XdluL2W>_^ZZNiIdOgM9j=+j0zS!uDxZL6do1g!&r0P&%{ zEE#+C(5!In0<#mB)+h0qjogLcI`e}zdDEggr z(qt>>hnx!P*$))^R~AknXUZXqN+HRDo-cRZGZOEPD-a!V;NS33l(Zu;_R zdsM6*$%mMN*)vW=aJSubSj|2&Q^3wZU#EMoSiRAoV$vy?UaO8`k`am;#>*cr&NSNSNZg9|D6U z2zvVVE(w^x*Aq;47fje)zYJwF=`-ofNM}yIM<~!7b0hJN{n?W9v~QfhR)#48({Hud zg40AY@&b=179Ypk=|H6{;rhg-;!rEf&LXItFRJN6r(DVdA=)sq?~bD^frt zAbK>Z(i+;mI57ekIUX7kw*rRL-*V1at z7Ib1PgY3WV`4VmG*zL%56mrw@0U!^YhAH9Tr6i&%na%3?n3)$R0R=WEo0L5tb=#7C zKZ*0$jTXGo*$%M1@W8zyaVX&P%b%aM>~-Z-ieFi_Y{Xb`7jMyn6JIHx*-$sqojVv` zXb5D6&Jv9}KIonpLcS}Iax-~mV78L!;Yvx9$=#_^;<)%ZNZncF_2^WqD5Lxc6YXcq z@erAu?>%yHcsFeP(uOn`soPXFPd2^kKfHHphLNt9zh@dVtv$le^Mq*#ZuD8PC09zt z_JlH_r?!Ou`3}aqew?S6L8E8tOA?p;#l|)XH}55&utl&rER?S$XgbqQ=G~2%(@M_8 z;^%SYgvn*}FNY~FvZeMKzDK9+GfOH7r7Gzkya8*1q^m^s>$1afB!uS4B$~ky8HtyNtV-{qAB-NndGCM{nsjFH)st-Dvf8s68GcXhWxkAG$w zEqMnVuUI7K`Z91mz_AMfR-_@3Fv38zj+4xdT6hAs7=kM&R?(eBPv90ZtIS`x&|T;J z#x>?r>+*Y$@v+&FZFj7{u^*7#mi`<;XP<3g5vA)KhfFPpeD9M>X>{O{AND{{=WaXO zlkx-&@Udap7%K@T`sIu)S7S0fIYRaR9b7YxBTjgZlyefAl$?o+%Xu5O9Etq%tm~z= z4EuNPHVrrSu3{$}k8Tyl-Mg0pY)~Te=uW(c8-wVuoj-47#%By$!mZ{+^|1G{`Mw5| z@kQ|n_QVw-^toWxL^KE3(!MAwUVoKT%)3g~sM#M0;nf=)WUp0tpw(T~+XZv??6N4n zf)`&nG4QW<8o4s;f_lUWKmSg01%5}*B~T9pH!`%+pG~rH&fw~O`7(xU^nUopMhnF7 z4oGpah^ArMKY3O-{SuJe#_pcb5(T`YPuq~vJlx45|u_W>tDo)|r>;<`QfK!0(NeFU<0vjdUNU?&4R-EB1E4 zaTFP=E4HvtoQ_>FC#s&{b`KbOT2K$sb05~{b-vCAIuh(i-|`|4k2 zxM*#g1`dB7jpF{Aeu2lEy`fv{dyavz>JD2-aFpAAkNJj?5uo6P<9x|*{nm6;)5p*x zB8fUWgf-qNNUBL(n_KFK=DVLWNG&U&i{mnn%`5l=u)%S|nmG(^Z<`1&-kPTnqZ&LG zXUWzKz`lS!hKr$Y{9IXD!4q#T9>HjR?2r{#O#;-Ibej-fQR)TWiEzcRs(BlJKGC~U z4NjuQ;wGpX6Pi9iRKVh*oLUY$rFGvf#Ohp}qAx)$?{t<8y_Su3)BqSO^qXwp=;Nic z*^yij+yOG|!!2SzC#W;{oz)|vwJ|g|Or0`lfXvdyec7f;h%E=4Kb}~oKJl{M$u5hZ z*S0lf3bUZ_)!lL%4J`^UFpoz&MzTy#e3(CTDtl3o+aVkfTNu`JCv`3)%FRwM-j8S6 z1fsBo43$U-Hk(Leo}1S1ik4Y--OGP;cfdUN!}E1RaXu+!+I)YI<8GKk@G|HH{N1Wp zM$pZU^(j8q_tALI&639|Y^bSq=~DX=4(o)MFE^vGdC}%^#|@FTbdS}nPO}5E7VBCt z#D|eKRWiZgGOZM3*qH1Fi9>8~qzbvjQ#YO7Sn^;yRc4-Lmc=HF^lAZ@UsEbO%(F?{ zImevax#mZQR?$;)cJ-39_=-)z{J;(*$%@gwxe3|zD%2#N=X6cfLNWqx&@;%g=TWuh z{fiMN?){MLZo~Wt#NDFiK!TMAbXh%viTGrTOim)>O%;6EzO@bRajf5<;|H7T6vB=6 z)Z1|9Y!O$l)U`GjMK{M$Av2^$7>%}DAA6G1v^bD9+=K&7(x}Fsv#uz1fN{r5OmfM| zw9OZ8Kl`L)hzVw2D+`m4Tv3cQbv?S>EteTm*)Q+!oomcChO3#_RQrG80qM+2h>KUq zX256qs^+@NsUKNgmnh!(s|vQ)Su0pZC9fS{5AFQ$X{b2Dam;G7rdQ6r1eOxe zJ@X`;!)UN#WzJc$C8{9aJUpk;@Vpu%Pd9a$@VwsP;*R15JEFIK^&TUNbRx|dllN&Q z=wyi;$wlfgm5?aYx^V{mv)Z!ev|rje4grr{H0(f4!244*JqO#eV7Nqm;4~=gkapIV z5w?+VTp9L-8sQ7#w+3BB4mA&tKHap}XRH$L8#w;zj&>(T5zK8N)|{p~w(~P=criC9 z9tj(eGa}E&n*{wd_HHcmq;?U07U2+U zMGAPyUA31n_q(6>kfmdv_eU~%Z|l1-GrdMmGp-nt>)7FH6+7eJJkaut9G_7ow5Zc1 z4YBoXdkj0efZxGY(~N8sL^}IYbW}JbJh>-kQ&42uEi6}WU2*k(UKXdj2~YRonYtb8 z{9-@ZSi*XcTb-5jXh=WBJ&3uNbki{``)yizS0Ju?r>O(CDXLzOz?O%jC|W&4w2nu9 z15Vl9@T#VMdh#Hf`J^Doi2g-wRX56Yo9S$-Cd)Q-YHe6EZoKj3_=lC*#7ghOmBKvv zR=2%ch>9idI)BRiV<0FT=Th3+slfn;>7IP|65U0>#mt6q1OH44(sC#8DV)spC4vuj z!eYeo8NxVaJT2sFw0Tf-1jg&GZ(W}q1s<^mL}MRNOQeL(PQ;K;7D*Xs$Un+{zV`rF|e)`K@zypsRCh(uk91J4ecN z+uP%uK>I%6(BOq$Y}gL35sA2RDI&u3qXatDd^ ziOA31Y0qc65FB0OFYeM>6YLH|lkDrQ{ET82)nN}4A50B9@(4v=oe>=t=QV6((v`*P z;6A)sqjMXr-BZ`9dYsx^Dc6Vz2y~U{hogFQYJe6vX#S{d;l8)+=F7v@$IeFbwCLU^ zaRah<7_y49K*>nFwbS`zn%p3-;^od(9#NOI8WQt(_{0#;9sP3}uBZy4G~(?AE{vfX zq0pCdlHI7<4)~MAvAWM-`aCymkRG&eE2nWPhsGL2ooXF*53;DaKl8)drA(b)@dUTC zZjKu0IrxcMr)rE>pqlVc#eXTfVJg zWNjYAyx1?_1uPycf<1}fv@nmj#d|3tBxYSMIMu5R%tq4S4emhNiDS%?)yr#mV~5S#Pv^ABEQ4*;d| ziho*54nXMkd1~}Tc`ExG)nm&&L#57aOSicGyoMc*8^Hgb=f)yWPP2e#su9CTK4jvQ zHD>=yq2TyHJ=*OLF)#kf4|7AOIN5_`lb@oh>wS5$mCB1W9^z9GMapNTtqjFkI4 zyA?eL->{ylnjcMjyp)GR@bun)=YXMUbEH_KIfSPxndWG*UZ$h+_JsnyhJ6UFb@r1vHryWF*hB<$8$AbDY8tvpBOEP>z zydToBBNg?N5#l^6MO4ZsErAd3W-Mnm*v6ODDy>m#+mh2(W}=#TKSgl{v0>G5eG13+)P33#lZM->Q1s# z{7_<(D_dhlXJ4sDZEyQ?CZYLl-ixknc51|1Hhg+O(pkWWyh=Zlt9PfUw+gpK zoUk6nqf~} zE{B!oW-TwGGkn9Sc}K%3<~>b%6XWI)UMUpC4=bqbNMnr}qjCG}q{zwEg(t=0+uUUR z=g&JO&vS(^M(xN7kuiSe1Wh*fCehYUG}D`y0Ve(h(rJdI)Xy!?fbNG*qdIfZqewWo@LS^4b{U6mc5^lXle+yRw~fYb#s2{uD8K;Y-FAk;a3_~qUd`jxCI z=14ZPOk43g6|{MpbZHm&_F2ht%tV2t)_c{$<8!XP{a$MwAMV|CZjm4+e!&{KWWtw~ zz~Vdi4o5W(%4;AG0!a$J#-b(To>g)M2ro#Vi`v&1++6)eBF;KziS<+^NvSnhRLFaU zqbtVQwOOj!nN@A{g@Ou6X`j6g$$dGGdG4Vru{Z#;uNOKyEn-m;!;j7 z+@Jg07cGvTX$n;4MX3`qYDJ0B%)=dhi9Cjea@D^c2TQE)xHCTC3N@2R7OCoIAaN7l zP%XO+zdV0=N>`R>$Q~y_H@_NRSscK;{EE2P&f6fA3sX)N$w!sBXRb-Np zQghJwelhAkOFJ|BGn6VcEurC%MsC6MgBiK$N|^_VgZje9^lj8eQzKKl-cGiy2o%F6 z=U3iT)0yrJg*Bv@W+Z$GlKCu!kn?n9q-?WdWP3-k9BUxkk(ykRLO>&QQND=8J~>|E zx$#5VoX_{@O~Lzc%AruVon&?!gYCh^x|`!J)~$!h{pPf0Wht6FymcHxUC!rp*SKEB zFr#ZCA)Atosiv4-zmtY@KmYBuhr)eNk<2k5Rcy$A{I$K}jd&M&@xh2&I?9jjj$CSm zI8mAT04LFhL!ROZW&BMiFIjduH;QOT9!D9HTdfh6k_p$>O7&7a+IfpvUW$2KHSNal zV%v!!^rpcrXyzhrH3ddCly*TG=B+EAfcw>;n6n->XB?$#+z4Kxz`T`bEcyYQVwRWo zao0RLgP%^y&q&OXB_r0CS|8=vJJ3i-(mRsevwn5K@3|vdp84Ipz$JfgZQw_KW6`1y z8bKm!drFz_b(WJZ%(`~{=&qr=5z$$F=#f#paJ;y^t1pWjJBtpJj7bVxi`3pR|HRHf z*M=?wy%3=f!zK~|>zbwhdDTJnMKoM@dpdEGhj@}B5-&+MZT=m<`OljSVW&(Jvg5D1 z+Q~{**#bihp40JaC52bohw_)wR3p$C>n1zkkE|s<2Ajn8Wa;;C`AzD%_g^U6Gr-~% zk8Qt-%Mb1v6v{ora#_FlTBx_ZpCMTAix39oW}Nl$5BylTyG@xvN#+Q;ZX%L!@m)=Q zC6}FBHbCwoP&uPv1!+OSD{oCuFm^Ux;(hk`*qV?@sk~66_*l&B3~w@`x=ObMUgdg7 zMpo9+zVw&O44Yoe!&uj9k@wjmzQPPuw1~)MlcVXCheVsFLsY_i`LU2=sM7FPLD#!l zA5pQs+e_xV%Tl4jWF$7pROqkcj<c1qGY zh)nxuPOKqLJ?iG$!42JD?*<1x1aH~GS?bmy7qX0C4g{MRreF+X1ocpD`}Gs1v4U&# zN=v-$MPUOY^$2nb#=Lb67yS-5{9W72xk+!U7JQl2+TlCwXpalZsC79{({V6LRW=9yH= zxvm!Eb2Qu7^8*@cez2O;co$K77u7bbT9{Go>cc^(moe!{a_17;(kmD%=|lkMxf>Wv%g^5}!GE(*)e{zTVAf)0_!q|t$7MVI-W&|*ZFo5h8a&~f47OWC{WzH@@6 zcH6L#y_H_pi{_RBybP_=19HGw%`S8c=?!){YOsg6CCuO())wD$(tfN*ILeI@MPwrg zZY@|TPmI;I62bdh)AN(~$Z-pZRW4|=n=(5Wwy-~#^+i#Q?#WKp4-}$KSu~F0dIgQTdab$zgC^eMnLY4g8 zsVMR|6!z)>=id`3Quyj<`$l zyE{L9_XEqt6;%#w4d~GlN4)JOD$Rm+IU@f^0ovyUT zM*Z2K+7_M;kzylrHe3F1ocx<{^j8-pwEDHkx~I{+lAcg*M0lDK)+3w2=GH?R1KvKf zpgF$;*XX%}gr>MTeuIYu^^QZjijj(`*|$kPX)T%cq>bO_CI;PN=P(SQ;+vx9B;%<+ zNwW2rrVLTV+-E3kAUaO)uT+4@rZH#);S_Zxlyos_Bb_7l7O0`~XA~nemWu4xpWROj zG+CLG`z#o~#mTkA$k~-%ZHGu~r%!ChS495-TaF6+BSQ;v(*tYFPV6x&Qa@b!2e61p z3$j+3gYmm!e*8K{OuSTmUc3XD#-f2@BQ*#54`{K?0+31hNd z-#}F>Y%cVS<<5D?5>i(tzUaAW`(9v@a?Y^bOyq5w=jSlJxQD5%Ak$UH<*z_yEo$~@ zJd4xh^TTsnr{+}{M@+6N+zG{_&zlK5MW^?T*~=piI}S}6H8WdV8t20UTO~eTx1`yQ z7HLYiS>Co33q9G91cC9EYlH9=$WA!5l=m#UFdQ^%N+W$4z#4`PBu~XoR8a?$ye)a6jyY9x+~iV z%4$BCJzHup=HF_YhA2YC>Ys5jo)Gni3Szij1GM3Mv-@(b)Dx;coS&OkY_X66N5Prq zw-oWT41d;ITyf}nz1)IM>$Ozrfe(AKp1&$LUJ2z13QDwrU7n$Yn4evn!DnW*D)0rR ztQQKpJbIZD!zs8nqnSSqzsIhQ_;Q?4HbV6W?dWi!`FOt4{#(Y=mzCqv4Q36_Yn&ym zRWHtLes{JLIaN%Soh9IZX_^q*?|N%B%83i@4rHTS>{W?_F?2x z)`_CjwU)4blgks^Mqv3CdG@|)C7}u=SX+#glgzZQu);=9NRZG66u-+;Xcv(}EQ>FU z*!t}IB%xlJFd9RY0A9R6uimjPsm*)Xhn4Lrj7-TO*{?klDG|pGmcgAnva0O#Et8d6 z?PH_f)?D?;U$wEFJr7c;N$ZOsVjDWXjaA!n;ulZgfm=*ew5UlBjPTjj zUhD+u(c;D~46WnXhF=hB@T!v<)YmDNsUWgJtebT9!WW)@T!h}mSC)v%-aO`l$_e>16h807g15Bc zbMR*J`){}B=^jie+HD>7+b;zkJO10V*SX%dU40M54j13ppd-cQMA=BJ&`kF#Z5}S1 z$(!Gt!3qn{dH!q?kya);J-OfwT4&dQxah1QF-N1|BD5ApX?OyEB)asYQ?+ON)Ykp> z1eM1R<~~}U7nkUME;!^s(1bojXBN5s)=In@E~u*-HK|`)pFM%o=!mK$ z8k5T@Iyw%a0Qiz6NTsaWzSxM2q?0u1|CoJqsBm7U9w@qX821M3%_M?)$e$wizVadd zf~WclKuY^h;G=&>N&S!5%;rBGD(2VN=g zWWO;uGO)gqQ~uAd*WZ8RWPIgi{MYY4Fb@7gdHFvx4l=N@{)%q;HDbh~10S~ggv%%F zD4kF|stO9l*hHDa?`f=@n-5gRw-Q09mjJ*Erc4G0(~MWnJAm$HTpTind)tttAA}2O z9^Ij@ks`EfHR-zrK~DYjgeJ>w7i+~(v#@SuGDycr@ZDX`^31|(sUp#Nk@0yOg~MEA z)>VC;`}AAYH53^WF2he#AjoNY+;Ho&U3`{q@*^$wL473ET$a6912c zn+)u9w9?wP*2WHB=zrh)^$7f5*41eh^lgA(+CY?LAa$p(gRQ8dEf6FdxGt(lhtEd; z8eJ54cz(k#1{NwQy@DaX>fp6d&KjT#1Oop;D<>pEtEBH>3zQv*32kksYb*CkIBRS3 ziV^*{#uNeKN&o7L!I9FEopcDkCwHhDMchm&QsY@3`tKh+$kDvJqZ~eEH4FqQt7&&> zo>U5(3CBj#!3dr=o)CL|UkZoR5OPu{#8&grvH?>;Bp*!A>(t2FdMNhoB5Ycig7VMj za3tTT{Ip`m$Nq^%HHq0@8G&t;;}bOW+xAqOwFJerMW5J&Mi;w>oE`ff91!+UHOwOh z=n}%WR%`+02n(Klahn$rjd+vPvQ(&BZvBNkyxR&-{v6hM@unzw6gBbUB#$#x#?*a| zPd#SN-gRG@*Gb7Eq+Yf=wqY^EH=LNwvqtz0HJr{L*L@+T@NdzVdSI|l5tsp18ChPt zlx}ZpDzHbhVBB~fYeaPAO!^NiyTv`&OuC-YSbtOtzPP@ld&7+!_wmo%@wXWJze7B; z(f_LGuMrC-o%ldSy9U-RHhmh@4nqLd9}u8%`eBTRKh~#W6pVgD2w1^TuO0=tnn=*> z)^xN;#WDr$wdc)41B2~03A?bpc$?l+P)110hlP6Fz*bOZBM@1uzWrTS*H2stwfDWm za2su@)3{=oDZxsk2;dM^MRVsHTzM1wjTh1U8;nV2BkbLbxZ$R6M4rLr(wP*1_Hu$D z&90qwguq&0&@&llYmiAlIYbqXk)M=PCpYm>c^Q}x%qYa0wBHd{wzP^J6L1liYR{M2 zAxVpKTu-hO`$`uVAh~V6PJKah7V4PhFybQSqQyhX!;prQrqgjVTx(~Ij@$e*=|)fd z(RUZ3LF*%rTfa2CSeM}ATe>$esQ%-Bs^4E2H^ptFwJq@tw9RaQVCl5V3gWMCawA(? zOB)VaT6=qY8b<&S+*U`Q28diwYp)H&Oy~W^4KTBCFauDlS{pM_{DRF5)LYvq5fY` z)&IQySHXdD>-}D<#c#FR{G(PNqQ14AIjymUp1uQ(rIFSnHXr8favv1 zz!1g)WH+W~UbV|AQ-9%Gkp6_ml8jSO9E))#@we`rq7vAD{j=CI1z{n1M{1 zuZPpH0HtDJqN8B}aykP6^nu&|Bo+IAg|mMl)h`*@t5m)RMv0;x6h0J=7`zdHPH9{zu-{-2@=uPwmRSeKiP9hiOm;Y9yySo{ye7OxIK+ggts zXrF&L%`egM)$o6(YWUARk{M`UbgZv=ChKqZ#mvk`!@y1tql#tNHt!#s^p{Zi|L=+Z82x}@;;*?310ypHBLh3ohv|O{%ZzmFG|cQk+ItqD z_x!Uj)Bl5N`(HTCKZU>Fve>`SjWN(M{}zXt8R>tIGOyhi3y@2L9%v2!O|pL{Fat01 zzrxJ_qsFl@(gya&e{^f$oyNa$ntzquSUE|^h>Hq}h}eGq)xQ{DpKm_wSlz2KpH*Gvl9Ymf_!NbH-m1I-uwOrh&hbApkj3Xqf33fp=Z3H0*Rtz<~-j z8YW=A!9vIM->vbNJJ|o(8X5ns(D$zzLytk4UqMGmMqiu%4~_9lu={^xOa`xGN`E-V zzZJIritxXLsn_=Ut0@X2BO?tX(2(eVPo0?9>1kLQfz3wuC#e&|zZ0k#{}|SQb^W!l z#>4;&8o>UQnU(4H9GHcfh7K4zSm^(I3d}(NZ}cFHzeKe^83+(DwzjdwXJ=vm8|BYy z(#=FG^P1iMo>R-}m?+x*a$|0^eE4Mru-FUtta>@iW2?%z8BT-`9gbJqz+$Y^S(l4X zS3R6M!rfzPHr;yHLd$+%Iow|mb3{6WHq`-dn4PfZzwRQa&=J0$Uo7xe`R9~TAp=>a z(iSP^7G>u=)~vA19HmZ+wPeAkf|mhh*!7e|N)h9Hd^=REaw;Usd{fhpW0YHH$|$`~ zFsdk~`Hf`4%xHwDh;zh3RK-|;WU6cTHYe*#kRtU!v#4=77}jY?U6MYs9F{E(XRPAH zuI&pP>DRNhyzq{anh zGm$rRxC#qVNtT7v8j2;Tj%u_4G+kQM-hqdOElmb-QBTCeaiLd80W`=DWSC7US8-Cy z!;VawN6Df@!rx+oMz)O2nMqm!y0e6YXtsQh_UgHx?AE-vZjV5_|F zXh{+f+XB#_1_WO{F74~gg|=poJtP%uJvsm<;80Vq6saWT%7#o;%m>cw#0{jy?ijXM zP=-`EJ%4+4vZ|=BM!PW7zGsp&BI1|1dm~T z;zm}0W=Je*(+DrE% zv9Dw!o_`W#fpY#zEfY85RtBSLHgf_m$MmS&rmhKA@*&R9T}|V8YiEOZB+N{Ia%=zW zaclqbzT%2^LhFb*^vcmzsO$Ix7J!VjLiPe>oOG3v;+(Ria(}g2zS^~Nftwk>UK2ZS(_$;p>5esVVEGy1gN7=Q>@RMy{(bWW3ZL(uQeA9{UZdnki;>PF9-P9GmZL zbyZi=01^*TtOZd8)C08om=~Eq=%23|nqQSx>PHuw*@s}1_)wX=Vs9?a9tL&HLW_ne zsyH&fz8|II+jx@=^7eBntQ^jdc+Gq$BlI7uNe8h!baIf|JmzoU-%1Cf9yTtLwC(V0m= zFz+etpw`*d8SjGFEaB?-W#QoJ_$p^^VR+~zR)D6HI}oSXf_Z}4=e`v~F449d3`%J=69s}LqOs3#Vl z06c8O3A0e)d)V|E!P8*`WEH6{^zEv6Lb@mjmhx65q0Dh42#`u!Y(hlPM9!_GRQ29>k|hQ$$PqZP-v~_;{E^a3SxxAOfF$oXUc``L%{2+(LmmYigamYjhXKDQ&IshrKeE5 z?Fjn!LfuH71Tbyk-dbV;mPB^)!_)8f6O_N~Q06p{BHEK8>aivWDFO+D&YIpv!neP% zyY-B!^y1*to{{1B38vIeCw)5@t@VQx{U^-XD!3rKU0PArLD-q1J)R4~stmLP8G1K` z2OjLU_Zw#cKJK<3GIW*5pqDU^_Bz2M>h8f|@87`qI(e?8o)Qos-V-^+Aq+{SOQbF$t3?fgpsR+6w1z6#4C()tsCXsZQV9Jt}GI@2_V3xn+1E1jW`$5|= zpyQwpOB=jqPTxrF`=R@^8hsh9vee~@C9iO)X5B*-Sz#cvvK&0?6U43Qjs}-S<-`(zwk}_ z#5JE&f;-TX3dkmqUYdQHoyRHi7B5MGRnuE>jT70$%ri{-v<-%btqnMlp)yY7wz2HW z(Y_;tt=r00r7FU6sg&GKTfW!fWyWA!P}eMMgzp(l*IQ6GI&>k&`loTNKC7^Gt`23+ zZ%eZ}V#7&`e`D}OV;W((O!`y)UDEo(X|@@qb%hI1Zrjmg}Q!uuYl- z8*T^jvvIdT5}lNsl$@Dvj4C7%HS4pjzMsF5=FaDyKU8pmUQ$RbZ2Ygofh#9p!Li}r z)2W{*9FI+Aj%PZ_CW;!F5<(`AHDsrY>W1ko_a3^Q>pkl{2XB`=qBr8fH*i->TPNa; zgq5JhZ7IzM-Hi!sm+;(*JMrp|u*ZPuAMGrr@bG^8kaTc$zS(oNf4{%Ebw03n@4_jf z*p0y3#yj0|hnU{<}G zH&>dzvvVH&vf{;B%}&(KW3bYMZraiWuR;p$iaJ;3X8Kav+{xX=)Cr#0#o)5K1S6rW zSq*Qb1E~q^#nI!{x`AC&0-pLunYc7y7kqaSG_?niO+$mx-@usPj8sqEG3>U+!y-(v z!fEx(e9AP4mSr5?nezKy827y}{`bYdFu}ht(Z8b_(a($seoh2CKcu%kpm+MWWj&zx zJb(=aD`E?|p`*0-Z6I)A%VY?LRufJZ$LNcs4?MGs&9dK}HmW%J=qn#Asy_I=<=P{p zUxUwPF8BERLB-Yf<0U9zNoChz$#Q5>=#YtPMHAlprI#PQ1S-TP6xRNzb-jUK^@M54 z2~|Hw3>4OLvvARYtaTtqN5BxeWr!iEbV{Q1bp|>F5b|XB2a&H61hV-PKBxOTldt0h zg3Sf8`K|L+6E>&&o07vjP_1JIf-MKu`Vyw5BZ+{IABhOQht*dlZxEP6?Jt)5=2K1; zt)71P_CG9wzJ-O>3R01`Lvs}$ zzY)P;@_75xQ-@1$9fsi=9K#tjQ%cJlCYaV^jD)TlygRzp2nk&pR99S!7$%qqBo>+h z5hB4Kv=B|J>P-Q}r=nI92ocZ}f-=RX8{_qf$OE2+WV8S{{(^R@L6j2p|v$w1V~`@x{I=2M;It{t-kE z24C{c=l{LPS`D0?nGjtTzF7wu+g9KQvggy6QulY)0FW#geCapFpkl~;iEqZi!%4q0 z{VzrM#s*Tk6w{2wVh5jD;OS<6rcUYJ7nT={lr0yG9F1e4aDqfahYNit1|>$s4|pRE zE=I_Q^e07jP&{wMCvgxViRI%mAzpW~V^{g(QFh`}>f_A#0qJhASGqs(1fS6Nd*pb1 z@98JQ{)3{!pRimytB7D>=nkE&M3A`jr~V$I|K}ohFW96Q?Ft4nmG0P~Pk6ysZU6Lf zbdT=mu`cUVpKupdMW;p6^RW*aKHhz-!=v&&lo(_CT9F#g zH(a<27spoY4Yq;Iuj^iQ;A;s~7()F+A1}zUFby{drQajujTYwZfe>c*HdL%W+-(e9 zYr`oTpoq?8K~>Oe+M>bs;!lVe5@(uiwwZx$C2Z)`V6F#?*6p%=aJPZNS$c1e6i@@x z`Xr=zyFBYc$dcwiM5c2Q@VbiEzAb2nE{3wLp+m>QXvX6`>D$y*w+q+vPxT zb#7W2r#W$XZY)4c>+9r5mlp?>+2j(R6ZeATbVoZmU@zX(h_*BYXxkQC9MKJEn#gFh z*|)I`sCUB<7|u8%ytZuCz{1r`cO3=mKAthIfHpY3$9vQfuJoCl6(0SnRi^ z<&zj1B+(@ebyU>MY~1VUm8xxNWx`SG_HCNHUm~yz9$Zgm4hd%H-w1w;crWU`F4nt0 zERJO~eI%a9W*G^5IwQIdj7&%11RNGF*(G8*Adbs&9b%)cFo4dKa4-?Ng0%ggR_jMt z}keSu~Y2b$_wGZd9g`T=YS;1s7m}U~wgL$hbQD?#iB#O(WIG z;bk*-YklHwYwlPTaYB@}Y^d>>ZPaz(B8!e2W&z|}mHW6lh+9O#>|4#uP%x&>w^N(g z!&9u6^O(m6VRT*Q+oQhNcxSk6dM-ErP5ADOhJpv8u#@H5hx6TINVx4Iu4c|Uo68@^ zFPLw_SyhAn>@QQsU&bzh(+Bh|^nl#czYR(N$)^AN#Dw3+BiLB~PC*PDh+z5O#v?vy zn_{yfJW<_4kqrfBVL*F~j-!Egb>aol1D_D|Wnxj?0sd>gGI5-OwNN&q3XqWGfgU;z zUB(K@ni>=vq9Ds7VHPIK+YHoD+;gcW&Q9;)+_8}~aXA)W8gpg{j=<~#<)F?Dv>$&% z2GNuy^0iWC(ID@OsHWl#-%2Fam6P>3v#k8j4-~Bg+#RW~4^AFhqq~)(+Mtt?h+4K@ z-%rL(DHVQB;E!%D6M$QBp(;~Cd4KPM*He@l@i0RtfZtSek*ZVzE#ZAY|8C|^Xz~soNq~hI0<_oUs8$hRj#e^Wjg!SZBV>P7sMb!?UxY! zl>SC`teNG}e&9LP^9 z2#d;9GA1YGvQ13vV)oA}Z%Hs%pujz}P?#{dWHRy5eG<(E-+W6Nr~8qFi2K997NvAm z$%O%*6%-SAeQ>=g6`g36!%JZ`+sQPeLj_?r9s%db;Y4fzS>_J3`Wyqc{i%W}`+_LD z!sTZjHqhz$xqa{;Q#Q{N6|xU~WP7$(9R{u!#trN*ZWlcdM_X4zTT?wVB{v;_9C%6rQYAEHNMoYalN+xy-3-2FMM^v?t?y%TTB^zjk0yi7# zo=tm>pW|F6xXd=N8&6;A_g}^y09HfYwxG{g7IN`}@j8a(!@6$G^UuxCmgUREwABX( zD>8uR$I=9-rZw~m0oTQT`>=<-t9u%krH+C0Q-++?8h7M72A7pKNo?p6btspGwwrr| zMtQq(q3isj6D8J@z5a_dmIF;%UJaM)i|wb8g0vbQ+D8V&(|q0s(8cBX3+-daJM7Xv zSUL!Z;F0c%E!{T&Q7-XdIxj?#Jy+7gVA5FPr<@zv%kG>ix4|4{$Uv(}Na4xkH16S^ zZkmba{NTnbIcs(c#+kdxNk>K^rquiR`)-$urMVzloIJn|`xVCx%Z(k(eqWau62cf& zq>%a39nH09-zGc;3nGKwk)wEqA^K!OE4_Wk;TiG-`)JGq?@JtE=V3%!L7Y!OJo3h| zN=m!>PllP?!yO>N(8m!fHEiJ%haz* z-i~l%gNt=pp-lL@4Ert2%ORB8J0Cxg@R4wn@UgUbaB+@$Uw-yF30LEzyIm=Vi>~}- z*xG1OIlMRPWB<)I>?Nn8SVtNq{;kRWS$+E%dIy~5&dXT7?T%In%Op5M1@$*ZAJtyZ zTef|+kjq?0_4Zkg>WB9itQR`Iz8HUTv&C#Ap}nT8d0wv<(lW&`8}hqs#`qaQme|@OH*f6NVN5dwQrh-Ii9k9 z)^S^vS-kH;v)WrlO37w+m5y?puGu5`%U}u33(R;y7uAi-rG-Sx&fUnc&N*kXQLmEN z=iFeocx{)JZ^vvX~huAdcxn|-mu zEiMD)&fN7-wc#G-kJ&1J-a7tg(puxkuY!MAI}C5$*MFdz=*5}O%UoR`s>Ho<_O0X9 zqsuN19{v)|UUk5`Jj}F`{;8_@ogY%wDsaQS{QQ=bme98?wskb$yXUB1TDvcNd^)n+ z{?i5RPx6(Oi%-uvc19YWX=&{w=8%`;pZ}NJ)!N6$u0Ffef7xx7+9T$p8x5D-uYO2@ zFaD~QYwNJb@5k=Zo}re+j{HYE)e*cWk{!*gDBF!cPQ;wQ`FQqF*#ecjoAZaiy?d8C za{Jj2R^aI6(czA-ef0+m6HD9W($>DrYTU3h=8M0gW^}S~U`5l=`!6G*4qa9OX^*$Z z%sxIMdGq$R9qF|{oC4IIer-9}5tA;*4!qek+S}Xvvmr3Uu zE?jjo*RACW4HbUXV+jtMC#7#o2$ybj+4-&iS$vFzIL^Dp^IYah^=+uy8t*RSB13wM zp6TlY$GmgJBI0dyeFg#z1}hqG5B9iABa9lI57BjrzxTGHD8E&9wpyx;0Ac)zOCnEAz$MV0o^3pjdul)9lsb_f4nfAA{Pt`4;wkWQkpN`sQC7YCkKYelVcx^iB*rj&sg&MqQ z^EzDQVE(-ob((moUFTF+8CZk~FF%)87QTZliAm0XkohD#Ge^#C#f8;-imK+O96pWI z(IJU%kw{qnS;#vr^3fj&DjqWP+8(@@OpuIGRn1ipYeU~MQ;&|^>Qz%H-X^=BkU-FK zYC?LJHa&H$c#bk*-3iOv1WMK=Epc!O=47tDwflIJw1~=MDkV7I%umgXX&td7%4w~c zsY=ED6;#zNiehaf5j}qqsw(1bMTOfdVUext=jWKI`=xU3;1!HQKbzh%Yfb5qQP+`r z4>PzPc7AEAOYE*>F+ytm@ltWuV+$(9O_e_Id`nljtav3Ow@K=ua|Fk|qpdn4RY&Tf z$WTotxp%vhUAhrc_Tj=l<)Uw)b89k-@Kn{rOr%&$g>Kf(xcye z-<6~NLd$V=aCi60&icg4ojZ$%2j30EXa^3p#TN&T#@rcwteNHwtKaupaeJ3o%;A9e zSN{5T8{b-XG|74!toE@S{SkLRB(7(q?A5^F_4<+LYfd~V?0l;CMnkRS8f{OxmPV1o z?WQ-TnlfALdut`ObYI)y{9{i`%>DCE4u0CcIK_r5>yxzO8}qwuV(5Euwc$+8Uc#J; zK$U2bbkCIcc^wEu$!N+K^|M2zQ9byoRboku)}Yoj+;D_^1PNQ`=uz3?O1&&KohJ#t9_ zUZ;}mA!BT0c$}>D+*c7HIEb56>uoBW+r52+18b9llXmtWI!FEX)SMrt_lW{!a zi?P&0kNwV!o3pm49-M8cikwf*B(HO~%gaH+cYGBT9P$#~Uy zdSytxLypdEly4n!!v!;k%#-5xmU2VU*GPZf(mJc4L<$>v1drhLT4J%k8 zm$HrRvy_ZB$MWJX-4C#@Q8xDad}H_HBkhMwYHJiI(OCZo%vS$+>{(WIHGOlu=H{-y zPDI#L$0<7p+gW5M7OR{#wOMnUJ*d%8O|LwHmKi|a|@IU9B$a;?s{nVu|K*%&Y2R+V_j%IxTbk~s@^iX()~k2 zT~F`7Emoepb6@>~V=%-=S1rY5$*%3ERIuCI-lQCTAuoPLyQrP`Lq1c|w<9q6)3@@z z-me3G0X*L5tCsE%a(bL2>t-GMQTfM#&1K~ai`VUhk5vABMt)#q;G@^>;!#e2-?xz$ z9oMpluKC8?9vZHC{ITctM^3|SKy`)yZD>(D?@yWycmRby2s&yXpJNe=c z?_T~P-+r92Prv0F!l3fq&ccL@#kTJx_jGO-siAJ{8B(UKKVdIjUY5OT*zDcWEz2np z!m~}1gcVE<8!mko^fywNh>Q^OKnh>K4U^)Tt6X0z7Q89}Qzrf}>7{TRxztR34%h{h znq3I%mrgjlbyY&SNvx)L__IZAOl(GTQqH2b6D)dOf{bu=a%^E^+;&T)dB*xD&(_?D zTGJ^j92}W&r}n2=?FboY6UVsfti4XO-m=WZ|i4K)1NF+x_J!eU2 zggJ(Am8F*Yt#njP6bj>lU-jUZtfOj-4KZO3_}6k=p0t^VNrGO%DSaWPso|+o$9qMa ztg@FPgAL=OhHrHut9;`cZif@l$k_w@Z%o|2bIS>>7Er86oV_72 zyYuLf(eCw$4GHhn9`0T&pHInoe7d>AT>Txgjcl}O*@}bd#v4`S5hbbVvL$4jy@Onz z8#I!&UD zmz6rt%Bo*n^wDu&#>pZ0X-mai-`M=(p8JiKMW4QXkG#197kE6cjkF-f#`~j=U$OK; zQQsa zb!Jc3#ZRUw)*;Vdv*D`RpDue_z)K9TYFf!PSLD{c(Zeu!(XGmU&C9u zzxS>7<~^0$9el0jgyZf{BINl!2KUozZLV~e8RiCkJ#kKg{-FPdv0LG{=FH;VeXsim z2C~mLr7G{a8NcXNPj^hjkd90-XIbtLZ{N#(y%>wPo_>*Lm|~uW%Z)v27)M5g^eTs} zz88XXirJ0#f@TDbNmus%HE3XQxQV?35rYGufy4aMjjqd9-KI@uVtXaD%edOzyVo4J z^IU0(*t(bUx|Z0J<{~?48P$G6vM=asXd7xGN6vg$S6<#R*l4OGjaGVU?uCrb5xICG zC+1?1+p_0IPn@llRYWB}oAyQ&scKnpOm2k*D_K|hzkI&+0OCUgoFfx{Y6nN`r3o2kJe3gB53qzUHQg^pC7!cA;8t~D2}7@r zgWR~-WH#>(&)AW<@YY=BJ!7RH8#T!YyiKZN5NVBfY3eBr-6urvWvMx)%FbJ7mC1K} z`O7!P}bBWu0bs(CCa#Y|5_Lj1|{*Z>2Er+%3qt@MLjzdg8S$LqoTZ>#w%JzM-A) z%q1^+CSow8QP1eRnTC+8Id!@?4Z#e2uwf{(&#B*NrRV&WCN4e4ubzbs3j0?2q)3?@ zTx9rso$|7J<*+$@h-^u(KEfh+Gn?ab+goNwZFRMJ4N0r1C=_fzIUHZ zU3tJ(&iwwp_RVq#j}(K=C$y8gyoz0-lLtOrxcl<;sK56PZFu0-XAIliMj>vX{QN6Y zo5hq2m+FQ0(lqn#s(xA7t^C(H$5{06(a+}wp2;;=Iv?s zdiapbjT`QaZnd)+ug(?5U+C~|j&b)KEtMM#->+Yu&+-g9l#<{(dcJK(epZ@I z*pAN|T|Al2D+rEx@+a?hS12?_WnPXZUyCk^5TnIuNh-x`@JaPlT(&c4UP0?3_2N)3 z##v2-(5hD5##;|Atz<<$DN`#JQEPj9aixoB6?=BO>8Ymh^=$2{t32%;`ZPXX13{Y^ zynN=*{gdv%>ao2&yg)t-Vl#`*vqga`%;0t?c+bByYHmLsmS$9E25(aG(iqdvOVi`> zxN&jfc;Yo|EZGD$u4*hv7APFoH=bMx-i}|i9!tQQrhd|e)p7NtarI+4E#@F+VXTki zH*8_p@dof?9fpAv2Y&yFV|h3*;#jLNkWVuR~m_~psgiJ_S5il=ePrHFh6%U51xjfrUI4Dc4BCNzxiZ@0&I-M%T-fBhyMU( zO)-P%vAGNwP8|=Yp}+-S0!bZ(BN6aKHIOj`PGyip1PTR5VKmTK4J;b=^QE9A3jQK< z=}ZlCeZ!y4fp?k;KXX<1se!&2bvD--fg+Je2qYSTM#BLIoagW1MfHPw@D#_DOz6>P z@Mv5X$BV`GfbsQGoj_)xrh)>$p-y@r`LEf1AO=J-RcEy>x!1FTj0Ymy}qJN>tzz5_H&!~z{`=y8D&2<|y zG@XWExG~)MDaXJHs2Rt?nKVaJIshI3Aq?WzqyU?ffjepFaTy>NS|9vq0f!*Kk!X-# zzYU4hz~D8&lp={5NF*5n;ru;mV>%{0{2#PnCTp3(3)RD>vzY$>O3QCfh>o%Gu({jV zY&Wg(ATag-zQ=O*fa&S+eVzbQ-40Sf*}lBBlg9N^VyZF@>YwxFAW@gX*Twrg`(H z6zB&wR;Pm|FeDTmPoNRuPACEaPGn#ia3?GV4W}ZV7&IJ~O2lJv6HUyZW?EB_CO`{l zG{`z)U~zD)6P*gj;jwf$iHgR;QFtbSK?CuOp^eWu7{ny$X`0Q!H{mRPMC-Xxc|0wU zXUAr008g9f9pw2md3^>KeTlTkSwHx>=#g|j^n zesF#w_!uyFv8Oy4^WbR;{<#$%o9X2XYC-5YgFyZlpfj#|s? zcgtk(M8k~BrhC&E+@JOX)iz)zEGI6N>kpE{)d3t$VS)&6InG~3Rgg%PwTPdqlj=XLOm-7Xlik|22nw4%lQRBlI<9QOWIwe*O|};C(*}q! zv;5wc`*9geaZynD1c?E^e!XBIVH>11@*nYEXwYx4Rp!579=~WfP|E;9BcMRCAe4r~ zfsHl)^;?!eLhr4dp5G;atEq)0+(Bs_n=K7|j19IM_0r4hh=h^aJ?%L;7+1J*xi z|F9sD4%!A5ho07FEDnzY^FE~wK;xIYnMwn8fwqe!;`!xnrtlF6L?qNMfX4rrGL?^r zCQjoc5rKuL@)1!uej?vwSrm$h0VM*UG%OB$gn{r8L8>>DM&ehH9J03|aB zAmJav2dV-=^`UVXe(wDgeOM%xUvLLXgU%%ii{zI+fbgLS{FK+JvRDk%R^S6G5`4gc z@Zm}PT1!)8ar}Y>5E>AjHa0vOHEnEo3=$d(00!{tc87tm2r41q$Ih_w=8&A_m0MP(#1DF}wXFvk=FQ)VbjYQ&65I!^#IKnhO z3<)|%Xe0;*h`*rGNDS2WAdwUawLRFs@{5K{?F%RyLWIO1$gd|s@db$D2oQfpV@PQJ zA;Dz(ff6ZWXB$Plo}HY{P9Z=kUR;n%qAusAUD64?c}w&}%9ms2&3G18{VKhuRNI!~wvXDvJY`S)urX0|j9C2Pu== zz@b463aBg^H7)i5A0CQLeAI=m0XPsc{NguL+rZ+W7>h&WK=Ba>AAtm-20|l(6>b_0 z1v~-D2SOF9kBB8e;}=*83B?>dNbV*=Y=8%Q0;v7)DEzeb17zXj2vAuJC`kjEO8_|- z{&Cl2y8zlW|HETYI0D3efJT6>(|8P?M1;f#m~e1r1Z{(WhsFZnBVnO!-~b6K3yNG2 zA-2ck0dzuT`H&6qQ@}^UL1GXO3=LgF`7}^2Z>nAJD3B#TjfUf&{!OtTF#fbY1EiZ~ z7d${QsO`bJ0No4V@t|tYv~hswhxirX!_6QICIs3)G!g3eK$Zl>Njz`_=$Zm()Al)l zhT#|gn`#3LcACH7F*xY@0c7#eI07`{4EjjZ^0N6p=C1BC~v*s!GBLEzN_76lGKWzZQ2MRe% zqfOhJ;lVZ$x|WS80%a1X?Ayn+3upqn08bG3hQJ16Xd}P_K`aRHK(IEBSwMh^0!$ot z1i}755DS7>5X8c`1q87mhy_6`2x4Kv0s=e`;DG=SCZa*GR~F!b01pIsAi#qO3kdK) zfCmCRn1}|!{y=~S0z44lfdCICEFi!G0UikOU?Lg>`vU<BcXWA*j; zDNF`vEJ_!puTQ}0fqw^2(kEdI47JFHc$^*%r9%Rld>}y$izXVN4GgeI13g_s1CkCN fr)3ZFUV&*721m)l!jmcN8xw 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�BewIm~1i1qDi>|wQD|Q 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≦`0o(@JB0sERu3zfUsRNu(xa|rA`ieJ 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 Y&|?BN{_*!W3tm6{caJds=Lh%wJ%~ewUjP6A literal 0 HcmV?d00001 diff --git a/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta b/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta new file mode 100644 index 0000000..f2fc814 --- /dev/null +++ b/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta @@ -0,0 +1,19 @@ +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/Assets/TextMesh Pro/Fonts/full Pack 2025.ttf b/Assets/TextMesh Pro/Fonts/full Pack 2025.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9884ff5a7a302303517c629c6689bcfa7a61fd71 GIT binary patch literal 6716 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 X9>8xCX0HMb=VTri&<#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/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta b/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta new file mode 100644 index 0000000..95fd96e --- /dev/null +++ b/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f952c082cb03451daed3ee968ac6c63e +timeCreated: 1432805430 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Resources/TMP Settings.asset b/Assets/TextMesh Pro/Resources/TMP Settings.asset new file mode 100644 index 0000000..c09a92f --- /dev/null +++ b/Assets/TextMesh Pro/Resources/TMP Settings.asset @@ -0,0 +1,46 @@ +%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/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta b/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta new file mode 100644 index 0000000..32db384 --- /dev/null +++ b/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3f5b5dff67a942289a9defa416b206f3 +timeCreated: 1436653997 +licenseType: Pro +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders.meta b/Assets/TextMesh Pro/Shaders.meta new file mode 100644 index 0000000..29a90a6 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e9f693669af91aa45ad615fc681ed29f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader b/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader new file mode 100644 index 0000000..bab2b2c --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader @@ -0,0 +1,143 @@ +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/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta b/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta new file mode 100644 index 0000000..0a416c8 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 48bb5f55d8670e349b6e614913f9d910 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader b/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader new file mode 100644 index 0000000..006a271 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader @@ -0,0 +1,145 @@ +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/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta b/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta new file mode 100644 index 0000000..d5fb125 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1e3b057af24249748ff873be7fafee47 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader b/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader new file mode 100644 index 0000000..8ce4937 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader @@ -0,0 +1,143 @@ +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/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta b/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta new file mode 100644 index 0000000..7eb1870 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 128e987d567d4e2c824d754223b3f3b0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader b/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader new file mode 100644 index 0000000..c50c593 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader @@ -0,0 +1,317 @@ +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/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta b/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta new file mode 100644 index 0000000..56284e9 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dd89cf5b9246416f84610a006f916af7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader b/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader new file mode 100644 index 0000000..ed48574 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader @@ -0,0 +1,310 @@ +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/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta b/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta new file mode 100644 index 0000000..08cd8ae --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 14eb328de4b8eb245bb7cea29e4ac00b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader new file mode 100644 index 0000000..7019aaf --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader @@ -0,0 +1,247 @@ +// 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/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta new file mode 100644 index 0000000..3cbdbbb --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bc1ede39bf3643ee8e493720e4259791 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader new file mode 100644 index 0000000..ce82bed --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader @@ -0,0 +1,240 @@ +// 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/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta new file mode 100644 index 0000000..e6b149e --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a02a7d8c237544f1962732b55a9aebf1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader new file mode 100644 index 0000000..df4d5b0 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader @@ -0,0 +1,106 @@ +// 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/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta new file mode 100644 index 0000000..9b84c13 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c8d12adcee749c344b8117cf7c7eb912 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader new file mode 100644 index 0000000..d3f5866 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader @@ -0,0 +1,240 @@ +// 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/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta new file mode 100644 index 0000000..2ac6e76 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fe393ace9b354375a9cb14cdbbc28be4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader b/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader new file mode 100644 index 0000000..be764ae --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader @@ -0,0 +1,138 @@ +// 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/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta b/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta new file mode 100644 index 0000000..bff8b7a --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 85187c2149c549c5b33f0cdb02836b17 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader b/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader new file mode 100644 index 0000000..bcb2bb2 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader @@ -0,0 +1,158 @@ +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/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta b/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta new file mode 100644 index 0000000..26e814c --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f7ada0af4f174f0694ca6a487b8f543d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMP_SDF.shader b/Assets/TextMesh Pro/Shaders/TMP_SDF.shader new file mode 100644 index 0000000..011ee19 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF.shader @@ -0,0 +1,317 @@ +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/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta b/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta new file mode 100644 index 0000000..e1cf3f3 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 68e6db2ebdc24f95958faec2be5558d6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader b/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader new file mode 100644 index 0000000..e8283a7 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader @@ -0,0 +1,116 @@ +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/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta b/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta new file mode 100644 index 0000000..50ba195 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cf81c85f95fe47e1a27f6ae460cf182c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMPro.cginc b/Assets/TextMesh Pro/Shaders/TMPro.cginc new file mode 100644 index 0000000..5898130 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMPro.cginc @@ -0,0 +1,84 @@ +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/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta b/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta new file mode 100644 index 0000000..0d6eb56 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 407bc68d299748449bbf7f48ee690f8d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc b/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc new file mode 100644 index 0000000..5969fec --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc @@ -0,0 +1,157 @@ +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/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta b/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta new file mode 100644 index 0000000..4415e50 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c334973cef89a9840b0b0c507e0377ab +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc b/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc new file mode 100644 index 0000000..2e96258 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc @@ -0,0 +1,85 @@ +// 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/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta b/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta new file mode 100644 index 0000000..7b37f2f --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3997e2241185407d80309a82f9148466 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc b/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc new file mode 100644 index 0000000..622ae87 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc @@ -0,0 +1,101 @@ +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/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta b/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta new file mode 100644 index 0000000..41ef4b1 --- /dev/null +++ b/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d930090c0cd643c7b55f19a38538c162 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Sprites.meta b/Assets/TextMesh Pro/Sprites.meta new file mode 100644 index 0000000..8b699e5 --- /dev/null +++ b/Assets/TextMesh Pro/Sprites.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d0603b6d5186471b96c778c3949c7ce2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt b/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt new file mode 100644 index 0000000..384180a --- /dev/null +++ b/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt @@ -0,0 +1,3 @@ +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/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta b/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta new file mode 100644 index 0000000..0d30e65 --- /dev/null +++ b/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 381dcb09d5029d14897e55f98031fca5 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Sprites/EmojiOne.json b/Assets/TextMesh Pro/Sprites/EmojiOne.json new file mode 100644 index 0000000..6c4e50b --- /dev/null +++ b/Assets/TextMesh Pro/Sprites/EmojiOne.json @@ -0,0 +1,156 @@ +{"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/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta b/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta new file mode 100644 index 0000000..762cf15 --- /dev/null +++ b/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8f05276190cf498a8153f6cbe761d4e6 +timeCreated: 1480316860 +licenseType: Pro +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TextMesh Pro/Sprites/EmojiOne.png b/Assets/TextMesh Pro/Sprites/EmojiOne.png new file mode 100644 index 0000000000000000000000000000000000000000..c0de66d0ab8976d2e00122faa45887a4208c07af GIT binary patch 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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