From 2d5f5e2b32c5b8cc5bf6492964e06724b8935fd1 Mon Sep 17 00:00:00 2001 From: dan miller Date: Sun, 7 Oct 2007 14:40:02 +0000 Subject: [PATCH] applied Darok"s BulletXPlugin changes 003.patch --- .../Physics/BulletXPlugin/BulletXPlugin.cs | 470 ++++++++++++++---- .../Physics/Manager/PhysicsPluginManager.cs | 13 + ThirdPartyLicenses/BulletLicense.txt | 17 + bin/Modified.XnaDevRu.BulletX.dll | Bin 208896 -> 208896 bytes bin/MonoXnaCompactMaths.dll | Bin 36864 -> 36864 bytes libraries/ModifiedBulletX/ModifiedBulletX.suo | Bin 138240 -> 138240 bytes .../HeightfieldTerrainShape.cs | 360 ++++++++++++++ .../Modified.XnaDevRu.BulletX.csproj | 1 + .../MonoXnaCompactMaths/Matrix.cs | 11 +- .../MonoXnaCompactMaths/Quaternion.cs | 91 +++- 10 files changed, 856 insertions(+), 107 deletions(-) create mode 100644 ThirdPartyLicenses/BulletLicense.txt create mode 100644 libraries/ModifiedBulletX/ModifiedBulletX/Collision/CollisionShapes/HeightfieldTerrainShape.cs diff --git a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs index af13d0211e..705eb38285 100644 --- a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs +++ b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs @@ -30,18 +30,28 @@ #region References using System; using System.Collections.Generic; -using OpenSim.Framework.Types; using OpenSim.Region.Physics.Manager; +using OpenSim.Framework.Types; using Axiom.Math; using AxiomQuaternion = Axiom.Math.Quaternion; //Specific References for BulletXPlugin -using MonoXnaCompactMaths; //Called as MXCM +using MonoXnaCompactMaths; using XnaDevRu.BulletX; using XnaDevRu.BulletX.Dynamics; + #endregion namespace OpenSim.Region.Physics.BulletXPlugin { + /// + /// This class is only here for compilations reasons + /// + public class Mesh + { + public Mesh() + { + } + } /// /// BulletXConversions are called now BulletXMaths /// This Class converts objects and types for BulletX and give some operations @@ -222,12 +232,14 @@ namespace OpenSim.Region.Physics.BulletXPlugin private const int maxXY = 256; private const int maxZ = 4096; private const int maxHandles = 32766; //Why? I don't know - private static float gravity = 9.8f; - private static float heightLevel0 = 77.0f; - private static float heightLevel1 = 200.0f; - private static float lowGravityFactor = 0.2f; - - private float[] _heightmap; + private const float gravity = 9.8f; + private const float heightLevel0 = 77.0f; + private const float heightLevel1 = 200.0f; + private const float lowGravityFactor = 0.2f; + //OpenSim calls Simulate 10 times per seconds. So FPS = "Simulate Calls" * simulationSubSteps = 100 FPS + private const int simulationSubSteps = 10; + //private float[] _heightmap; + private BulletXPlanet _simFlatPlanet; private List _characters = new List(); private List _prims = new List(); @@ -235,6 +247,11 @@ namespace OpenSim.Region.Physics.BulletXPlugin public static float HeightLevel0 { get { return heightLevel0; } } public static float HeightLevel1 { get { return heightLevel1; } } public static float LowGravityFactor { get { return lowGravityFactor; } } + public static int MaxXY { get { return maxXY; } } + public static int MaxZ { get { return maxZ; } } + + private List _forgottenRigidBodies = new List(); + internal string is_ex_message = "Can't remove rigidBody!: "; #endregion public BulletXScene() @@ -250,10 +267,9 @@ namespace OpenSim.Region.Physics.BulletXPlugin ddWorld = new DiscreteDynamicsWorld(cDispatcher, opCache, sicSolver); ddWorld.Gravity = new MonoXnaCompactMaths.Vector3(0, 0, -gravity); } - - this._heightmap = new float[65536]; + //this._heightmap = new float[65536]; } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position) + public override PhysicsActor AddAvatar(string avName, PhysicsVector position) { PhysicsVector pos = new PhysicsVector(); pos.X = position.X; @@ -262,7 +278,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin BulletXCharacter newAv = null; lock (BulletXLock) { - newAv = new BulletXCharacter(this, pos); + newAv = new BulletXCharacter(avName, this, pos); _characters.Add(newAv); } return newAv; @@ -273,48 +289,98 @@ namespace OpenSim.Region.Physics.BulletXPlugin { lock (BulletXLock) { + try + { + ddWorld.RemoveRigidBody(((BulletXCharacter)actor).RigidBody); + } + catch (Exception ex) + { + BulletXMessage(is_ex_message + ex.Message, true); + ((BulletXCharacter)actor).RigidBody.ActivationState = ActivationState.DisableSimulation; + AddForgottenRigidBody(((BulletXCharacter)actor).RigidBody); + } _characters.Remove((BulletXCharacter)actor); } + GC.Collect(); } } - PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size, AxiomQuaternion rotation) + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, PhysicsVector size, AxiomQuaternion rotation) + { + PhysicsActor result; + + switch (pbs.ProfileShape) + { + case ProfileShape.Square: + /// support simple box & hollow box now; later, more shapes + if (pbs.ProfileHollow == 0) + { + result = AddPrim(primName, position, size, rotation, null, null); + } + else + { + Mesh mesh = null; + result = AddPrim(primName, position, size, rotation, mesh, pbs); + } + break; + + default: + result = AddPrim(primName, position, size, rotation, null, null); + break; + } + + return result; + } + public PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size, Axiom.Math.Quaternion rotation) + { + return AddPrim("", position, size, rotation, null, null); + } + public PhysicsActor AddPrim(String name, PhysicsVector position, PhysicsVector size, AxiomQuaternion rotation, Mesh mesh, PrimitiveBaseShape pbs) { BulletXPrim newPrim = null; lock (BulletXLock) { - newPrim = new BulletXPrim(this, position, size, rotation); + newPrim = new BulletXPrim(name, this, position, size, rotation, mesh, pbs); _prims.Add(newPrim); } return newPrim; } - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, PhysicsVector size, AxiomQuaternion rotation) - { - return AddPrim(position, size, rotation); - } - public override void RemovePrim(PhysicsActor prim) { if (prim is BulletXPrim) { lock (BulletXLock) { + try + { + ddWorld.RemoveRigidBody(((BulletXPrim)prim).RigidBody); + } + catch (Exception ex) + { + BulletXMessage(is_ex_message + ex.Message, true); + ((BulletXPrim)prim).RigidBody.ActivationState = ActivationState.DisableSimulation; + AddForgottenRigidBody(((BulletXPrim)prim).RigidBody); + } _prims.Remove((BulletXPrim)prim); } + GC.Collect(); } } public override void Simulate(float timeStep) { lock (BulletXLock) { - BXSMove(timeStep); - ddWorld.StepSimulation(timeStep, 0, timeStep); - //Heightmap Validation: - BXSValidateHeight(); + //Try to remove garbage + RemoveForgottenRigidBodies(); + //End of remove + MoveAllObjects(timeStep); + ddWorld.StepSimulation(timeStep, simulationSubSteps, timeStep); + //Extra Heightmap Validation: BulletX's HeightFieldTerrain somestimes doesn't work so fine. + ValidateHeightForAll(); //End heightmap validation. - BXSUpdateKinetics(); + UpdateKineticsForAll(); } } - private void BXSMove(float timeStep) + private void MoveAllObjects(float timeStep) { foreach (BulletXCharacter actor in _characters) { @@ -324,39 +390,33 @@ namespace OpenSim.Region.Physics.BulletXPlugin { } } - private void BXSValidateHeight() + private void ValidateHeightForAll() { float _height; foreach (BulletXCharacter actor in _characters) { - if ((actor.RigidBodyHorizontalPosition.x < 0) || (actor.RigidBodyHorizontalPosition.y < 0)) - { - _height = 0; - } - else - { - _height = this._heightmap[ - (int)Math.Round(actor.RigidBodyHorizontalPosition.x) * 256 - + (int)Math.Round(actor.RigidBodyHorizontalPosition.y)]; - } + //_height = HeightValue(actor.RigidBodyPosition); + _height = _simFlatPlanet.HeightValue(actor.RigidBodyPosition); actor.ValidateHeight(_height); + //if (_simFlatPlanet.heightIsNotValid(actor.RigidBodyPosition, out _height)) actor.ValidateHeight(_height); } foreach (BulletXPrim prim in _prims) { - if ((prim.RigidBodyHorizontalPosition.x < 0) || (prim.RigidBodyHorizontalPosition.y < 0)) - { - _height = 0; - } - else - { - _height = this._heightmap[ - (int)Math.Round(prim.RigidBodyHorizontalPosition.x) * 256 - + (int)Math.Round(prim.RigidBodyHorizontalPosition.y)]; - } + //_height = HeightValue(prim.RigidBodyPosition); + _height = _simFlatPlanet.HeightValue(prim.RigidBodyPosition); prim.ValidateHeight(_height); + //if (_simFlatPlanet.heightIsNotValid(prim.RigidBodyPosition, out _height)) prim.ValidateHeight(_height); } + //foreach (BulletXCharacter actor in _characters) + //{ + // actor.ValidateHeight(0); + //} + //foreach (BulletXPrim prim in _prims) + //{ + // prim.ValidateHeight(0); + //} } - private void BXSUpdateKinetics() + private void UpdateKineticsForAll() { //UpdatePosition > UpdateKinetics. //Not only position will be updated, also velocity cause acceleration. @@ -368,6 +428,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin { prim.UpdateKinetics(); } + //if(this._simFlatPlanet!=null) this._simFlatPlanet.Restore(); } public override void GetResults() { @@ -382,24 +443,97 @@ namespace OpenSim.Region.Physics.BulletXPlugin } public override void SetTerrain(float[] heightMap) { - //As the same as ODE, heightmap (x,y) must be swapped for BulletX - for (int i = 0; i < 65536; i++) - { - // this._heightmap[i] = (double)heightMap[i]; - // dbm (danx0r) -- heightmap x,y must be swapped for Ode (should fix ODE, but for now...) - int x = i & 0xff; - int y = i >> 8; - this._heightmap[i] = heightMap[x * 256 + y]; - } - lock (BulletXLock) - { - //Updating BulletX HeightMap??? - } + ////As the same as ODE, heightmap (x,y) must be swapped for BulletX + //for (int i = 0; i < 65536; i++) + //{ + // // this._heightmap[i] = (double)heightMap[i]; + // // dbm (danx0r) -- heightmap x,y must be swapped for Ode (should fix ODE, but for now...) + // int x = i & 0xff; + // int y = i >> 8; + // this._heightmap[i] = heightMap[x * 256 + y]; + //} + + //float[] swappedHeightMap = new float[65536]; + ////As the same as ODE, heightmap (x,y) must be swapped for BulletX + //for (int i = 0; i < 65536; i++) + //{ + // // this._heightmap[i] = (double)heightMap[i]; + // // dbm (danx0r) -- heightmap x,y must be swapped for Ode (should fix ODE, but for now...) + // int x = i & 0xff; + // int y = i >> 8; + // swappedHeightMap[i] = heightMap[x * 256 + y]; + //} + DeleteTerrain(); + //There is a BulletXLock inside the constructor of BulletXPlanet + //this._simFlatPlanet = new BulletXPlanet(this, swappedHeightMap); + this._simFlatPlanet = new BulletXPlanet(this, heightMap); + //this._heightmap = heightMap; } public override void DeleteTerrain() { - + if (this._simFlatPlanet != null) + { + lock (BulletXLock) + { + try + { + ddWorld.RemoveRigidBody(this._simFlatPlanet.RigidBody); + } + catch (Exception ex) + { + BulletXMessage(is_ex_message + ex.Message, true); + this._simFlatPlanet.RigidBody.ActivationState = ActivationState.DisableSimulation; + AddForgottenRigidBody(this._simFlatPlanet.RigidBody); + } + } + this._simFlatPlanet = null; + GC.Collect(); + BulletXMessage("Terrain erased!", false); + } + //this._heightmap = null; } + internal void AddForgottenRigidBody(RigidBody forgottenRigidBody) + { + _forgottenRigidBodies.Add(forgottenRigidBody); + } + private void RemoveForgottenRigidBodies() + { + RigidBody forgottenRigidBody; + int nRigidBodies = _forgottenRigidBodies.Count; + for(int i = nRigidBodies - 1; i >= 0; i--) + { + forgottenRigidBody = _forgottenRigidBodies[i]; + try + { + ddWorld.RemoveRigidBody(forgottenRigidBody); + _forgottenRigidBodies.Remove(forgottenRigidBody); + BulletXMessage("Forgotten Rigid Body Removed", false); + } + catch (Exception ex) + { + BulletXMessage("Can't remove forgottenRigidBody!: " + ex.Message, false); + } + } + GC.Collect(); + } + internal void BulletXMessage(string message, bool isWarning) + { + PhysicsPluginManager.PhysicsPluginMessage("[Modified BulletX]:\t" + message, isWarning); + } + //temp + //private float HeightValue(MonoXnaCompactMaths.Vector3 position) + //{ + // int li_x, li_y; + // float height; + // li_x = (int)Math.Round(position.X); if (li_x < 0) li_x = 0; + // li_y = (int)Math.Round(position.Y); if (li_y < 0) li_y = 0; + + // height = this._heightmap[li_y * 256 + li_x]; + // if (height < 0) height = 0; + // else if (height > maxZ) height = maxZ; + + // return height; + //} } /// /// PhysicsActor Character Class for BulletX @@ -414,19 +548,20 @@ namespace OpenSim.Region.Physics.BulletXPlugin private bool flying; private RigidBody rigidBody; - public Axiom.Math.Vector2 RigidBodyHorizontalPosition + public MonoXnaCompactMaths.Vector3 RigidBodyPosition { - get - { - return new Axiom.Math.Vector2(this.rigidBody.CenterOfMassPosition.X, this.rigidBody.CenterOfMassPosition.Y); - } + get { return this.rigidBody.CenterOfMassPosition; } } public BulletXCharacter(BulletXScene parent_scene, PhysicsVector pos) - : this(parent_scene, pos, new PhysicsVector(), new PhysicsVector(), new PhysicsVector(), + : this("", parent_scene, pos) + { + } + public BulletXCharacter(String avName, BulletXScene parent_scene, PhysicsVector pos) + : this(avName, parent_scene, pos, new PhysicsVector(), new PhysicsVector(), new PhysicsVector(), AxiomQuaternion.Identity) { } - public BulletXCharacter(BulletXScene parent_scene, PhysicsVector pos, PhysicsVector velocity, + public BulletXCharacter(String avName, BulletXScene parent_scene, PhysicsVector pos, PhysicsVector velocity, PhysicsVector size, PhysicsVector acceleration, AxiomQuaternion orientation) { //This fields will be removed. They're temporal @@ -462,7 +597,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin MonoXnaCompactMaths.Vector3 _localInertia = new MonoXnaCompactMaths.Vector3(); _collisionShape.CalculateLocalInertia(_mass, out _localInertia); //Always when mass > 0 rigidBody = new RigidBody(_mass, _motionState, _collisionShape, _localInertia, _linearDamping, _angularDamping, _friction, _restitution); - rigidBody.ActivationState = ActivationState.DisableDeactivation; + //rigidBody.ActivationState = ActivationState.DisableDeactivation; //It's seems that there are a bug with rigidBody constructor and its CenterOfMassPosition MonoXnaCompactMaths.Vector3 _vDebugTranslation; _vDebugTranslation = _startTransform.Translation - rigidBody.CenterOfMassPosition; @@ -535,6 +670,13 @@ namespace OpenSim.Region.Physics.BulletXPlugin } } } + public RigidBody RigidBody + { + get + { + return rigidBody; + } + } public override bool Flying { get @@ -579,8 +721,8 @@ namespace OpenSim.Region.Physics.BulletXPlugin //_velocity == rigidBody.LinearVelocity vec.X = this._velocity.X; vec.Y = this._velocity.Y; - vec.Z = this._velocity.Z; - + vec.Z = this._velocity.Z; + if ((vec.X != 0.0f) || (vec.Y != 0.0f) || (vec.Z != 0.0f)) rigidBody.Activate(); if (flying) { //Antigravity with movement @@ -677,33 +819,37 @@ namespace OpenSim.Region.Physics.BulletXPlugin //For now all prims have the same density, all prims are made of water. Be water my friend! :D private const float _density = 1000.0f; private RigidBody rigidBody; + private BulletXScene _parent_scene; //_physical value will be linked with the prim object value private Boolean _physical = false; - public Axiom.Math.Vector2 RigidBodyHorizontalPosition + public MonoXnaCompactMaths.Vector3 RigidBodyPosition { - get - { - return new Axiom.Math.Vector2(this.rigidBody.CenterOfMassPosition.X, this.rigidBody.CenterOfMassPosition.Y); - } + get { return this.rigidBody.CenterOfMassPosition; } } public BulletXPrim(BulletXScene parent_scene, PhysicsVector pos, PhysicsVector size, AxiomQuaternion rotation) - : this(parent_scene, pos, new PhysicsVector(), size, new PhysicsVector(), rotation) + : this("", parent_scene, pos, new PhysicsVector(), size, new PhysicsVector(), rotation, null, null) { } - public BulletXPrim(BulletXScene parent_scene, PhysicsVector pos, PhysicsVector velocity, PhysicsVector size, - PhysicsVector aceleration, AxiomQuaternion rotation) + public BulletXPrim(String primName, BulletXScene parent_scene, PhysicsVector pos, PhysicsVector size, + AxiomQuaternion rotation, Mesh mesh, PrimitiveBaseShape pbs) + : this(primName, parent_scene, pos, new PhysicsVector(), size, new PhysicsVector(), rotation, mesh, pbs) + { + } + public BulletXPrim(String primName, BulletXScene parent_scene, PhysicsVector pos, PhysicsVector velocity, PhysicsVector size, + PhysicsVector aceleration, AxiomQuaternion rotation, Mesh mesh, PrimitiveBaseShape pbs) { - _position = pos; - _velocity = velocity; - _size = size; if ((size.X == 0) || (size.Y == 0) || (size.Z == 0)) throw new Exception("Size 0"); + if (rotation.Norm == 0f) rotation = AxiomQuaternion.Identity; + _position = pos; + if (_physical) _velocity = velocity; else _velocity = new PhysicsVector(); + _size = size; _acceleration = aceleration; - //Because a bug, orientation will be fixed to AxiomQuaternion.Identity - _orientation = AxiomQuaternion.Identity; - //_orientation = rotation; - //--- + _orientation = rotation; + + _parent_scene = parent_scene; + //For RigidBody Constructor. The next values might change float _linearDamping = 0.0f; float _angularDamping = 0.0f; @@ -718,9 +864,9 @@ namespace OpenSim.Region.Physics.BulletXPlugin CollisionShape _collisionShape = new XnaDevRu.BulletX.BoxShape(BulletXMaths.PhysicsVectorToXnaVector3(_size) / 2.0f); DefaultMotionState _motionState = new DefaultMotionState(_startTransform, _centerOfMassOffset); MonoXnaCompactMaths.Vector3 _localInertia = new MonoXnaCompactMaths.Vector3(); - _collisionShape.CalculateLocalInertia(Mass, out _localInertia); //Always when mass > 0 + if(_physical) _collisionShape.CalculateLocalInertia(Mass, out _localInertia); //Always when mass > 0 rigidBody = new RigidBody(Mass, _motionState, _collisionShape, _localInertia, _linearDamping, _angularDamping, _friction, _restitution); - rigidBody.ActivationState = ActivationState.DisableDeactivation; + //rigidBody.ActivationState = ActivationState.DisableDeactivation; //It's seems that there are a bug with rigidBody constructor and its CenterOfMassPosition MonoXnaCompactMaths.Vector3 _vDebugTranslation; _vDebugTranslation = _startTransform.Translation - rigidBody.CenterOfMassPosition; @@ -754,8 +900,16 @@ namespace OpenSim.Region.Physics.BulletXPlugin { lock (BulletXScene.BulletXLock) { - _velocity = value; - Speed(); + //Static objects don' have linear velocity + if (_physical) + { + _velocity = value; + Speed(); + } + else + { + _velocity = new PhysicsVector(); + } } } } @@ -801,7 +955,14 @@ namespace OpenSim.Region.Physics.BulletXPlugin get { //For now all prims are boxes - return _density * _size.X * _size.Y * _size.Z; + return (_physical ? 1 : 0) * _density * _size.X * _size.Y * _size.Z; + } + } + public RigidBody RigidBody + { + get + { + return rigidBody; } } public override bool Flying @@ -863,7 +1024,9 @@ namespace OpenSim.Region.Physics.BulletXPlugin m.Translation = v3; rigidBody.WorldTransform = m; //When a Prim touch the ground it's vertical velocity it's reduced to ZERO - Speed(new PhysicsVector(this.rigidBody.LinearVelocity.X, this.rigidBody.LinearVelocity.Y, 0.0f)); + //Static objects don't have linear velocity + if(_physical) + Speed(new PhysicsVector(this.rigidBody.LinearVelocity.X, this.rigidBody.LinearVelocity.Y, 0.0f)); } } internal void UpdateKinetics() @@ -872,18 +1035,12 @@ namespace OpenSim.Region.Physics.BulletXPlugin { this._position = BulletXMaths.XnaVector3ToPhysicsVector(rigidBody.CenterOfMassPosition); this._velocity = BulletXMaths.XnaVector3ToPhysicsVector(rigidBody.LinearVelocity); - //Orientation is not implemented yet in MonoXnaCompactMaths - //this._orientation = BulletXMaths.XnaQuaternionToAxiomQuaternion(rigidBody.Orientation); < Good - //ReOrient(); - //--- - ReOrient(); + this._orientation = BulletXMaths.XnaQuaternionToAxiomQuaternion(rigidBody.Orientation); } else //Doesn't updates properties. That's a cancel { Translate(); - Speed(); - //Orientation is not implemented yet in MonoXnaCompactMaths - //ReOrient(); + //Speed(); //<- Static objects don't have linear velocity ReOrient(); } } @@ -915,10 +1072,49 @@ namespace OpenSim.Region.Physics.BulletXPlugin } private void ReSize(PhysicsVector _newSize) { + //I wonder to know how to resize with a simple instruction in BulletX. It seems that for now there isn't + //so i have to do it manually. That's recreating rigidbody MonoXnaCompactMaths.Vector3 _newsize; _newsize = BulletXMaths.PhysicsVectorToXnaVector3(_newSize); - //For now all prims are Boxes - rigidBody.CollisionShape = new XnaDevRu.BulletX.BoxShape(BulletXMaths.PhysicsVectorToXnaVector3(_newSize) / 2.0f); + if ((_newsize.X == 0) || (_newsize.Y == 0) || (_newsize.Z == 0)) throw new Exception("Size 0"); + + //For RigidBody Constructor. The next values might change + float _linearDamping = 0.0f; + float _angularDamping = 0.0f; + float _friction = 0.5f; + float _restitution = 0.0f; + Matrix _startTransform = Matrix.Identity; + Matrix _centerOfMassOffset = Matrix.Identity; + RigidBody _tmpRigidBody; + _startTransform.Translation = BulletXMaths.PhysicsVectorToXnaVector3(this._position); + //For now all prims are boxes + CollisionShape _collisionShape = new XnaDevRu.BulletX.BoxShape(BulletXMaths.PhysicsVectorToXnaVector3(_newSize) / 2.0f); + DefaultMotionState _motionState = new DefaultMotionState(_startTransform, _centerOfMassOffset); + MonoXnaCompactMaths.Vector3 _localInertia = new MonoXnaCompactMaths.Vector3(); + if (_physical) _collisionShape.CalculateLocalInertia(Mass, out _localInertia); //Always when mass > 0 + _tmpRigidBody = new RigidBody(Mass, _motionState, _collisionShape, _localInertia, _linearDamping, _angularDamping, _friction, _restitution); + //rigidBody.ActivationState = ActivationState.DisableDeactivation; + //It's seems that there are a bug with rigidBody constructor and its CenterOfMassPosition + MonoXnaCompactMaths.Vector3 _vDebugTranslation; + _vDebugTranslation = _startTransform.Translation - rigidBody.CenterOfMassPosition; + _tmpRigidBody.Translate(_vDebugTranslation); + //--- + //There is a bug when trying to remove a rigidBody that is colliding with something.. + try + { + this._parent_scene.ddWorld.RemoveRigidBody(rigidBody); + } + catch(Exception ex) + { + this._parent_scene.BulletXMessage(this._parent_scene.is_ex_message + ex.Message, true); + rigidBody.ActivationState = ActivationState.DisableSimulation; + this._parent_scene.AddForgottenRigidBody(rigidBody); + } + rigidBody = _tmpRigidBody; + this._parent_scene.ddWorld.AddRigidBody(rigidBody); + if (_physical) Speed();//Static objects don't have linear velocity + ReOrient(); + GC.Collect(); } private void ReOrient() { @@ -935,4 +1131,74 @@ namespace OpenSim.Region.Physics.BulletXPlugin #endregion } + /// + /// This Class manage a HeighField as a RigidBody. This is for to be added in the BulletXScene + /// + internal class BulletXPlanet + { + private PhysicsVector _staticPosition; + private PhysicsVector _staticVelocity; + private AxiomQuaternion _staticOrientation; + private float _mass; + private BulletXScene _parentscene; + internal float[] _heightField; + private RigidBody _flatPlanet; + internal RigidBody RigidBody { get { return _flatPlanet; } } + internal BulletXPlanet(BulletXScene parent_scene, float[] heightField) + { + _staticPosition = new PhysicsVector(BulletXScene.MaxXY / 2, BulletXScene.MaxXY/2, 0); + _staticVelocity = new PhysicsVector(); + _staticOrientation = AxiomQuaternion.Identity; + _mass = 0; //No active + _parentscene = parent_scene; + _heightField = heightField; + + float _linearDamping = 0.0f; + float _angularDamping = 0.0f; + float _friction = 0.5f; + float _restitution = 0.0f; + Matrix _startTransform = Matrix.Identity; + Matrix _centerOfMassOffset = Matrix.Identity; + + lock (BulletXScene.BulletXLock) + { + try + { + _startTransform.Translation = BulletXMaths.PhysicsVectorToXnaVector3(_staticPosition); + CollisionShape _collisionShape = new HeightfieldTerrainShape(BulletXScene.MaxXY, BulletXScene.MaxXY, _heightField, (float)BulletXScene.MaxZ, 2, true, false); + DefaultMotionState _motionState = new DefaultMotionState(_startTransform, _centerOfMassOffset); + MonoXnaCompactMaths.Vector3 _localInertia = new MonoXnaCompactMaths.Vector3(); + //_collisionShape.CalculateLocalInertia(_mass, out _localInertia); //Always when mass > 0 + _flatPlanet = new RigidBody(_mass, _motionState, _collisionShape, _localInertia, _linearDamping, _angularDamping, _friction, _restitution); + //It's seems that there are a bug with rigidBody constructor and its CenterOfMassPosition + MonoXnaCompactMaths.Vector3 _vDebugTranslation; + _vDebugTranslation = _startTransform.Translation - _flatPlanet.CenterOfMassPosition; + _flatPlanet.Translate(_vDebugTranslation); + parent_scene.ddWorld.AddRigidBody(_flatPlanet); + } + catch (Exception ex) + { + this._parentscene.BulletXMessage(ex.Message, true); + } + } + this._parentscene.BulletXMessage("BulletXPlanet created.", false); + } + internal float HeightValue(MonoXnaCompactMaths.Vector3 position) + { + int li_x, li_y; + float height; + li_x = (int)Math.Round(position.X); + if (li_x < 0) li_x = 0; + if (li_x >= BulletXScene.MaxXY) li_x = BulletXScene.MaxXY - 1; + li_y = (int)Math.Round(position.Y); + if (li_y < 0) li_y = 0; + if (li_y >= BulletXScene.MaxXY) li_y = BulletXScene.MaxXY - 1; + + height = ((HeightfieldTerrainShape)this._flatPlanet.CollisionShape).getHeightFieldValue(li_x, li_y); + if (height < 0) height = 0; + else if (height > BulletXScene.MaxZ) height = BulletXScene.MaxZ; + + return height; + } + } } diff --git a/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs b/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs index 15645b12a7..87b6d34cb5 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs @@ -104,6 +104,19 @@ namespace OpenSim.Region.Physics.Manager pluginAssembly = null; } + //--- + public static void PhysicsPluginMessage(string message, bool isWarning) + { + if (isWarning) + { + MainLog.Instance.Warn("PHYSICS", message); + } + else + { + MainLog.Instance.Verbose("PHYSICS", message); + } + } + //--- } public interface IPhysicsPlugin diff --git a/ThirdPartyLicenses/BulletLicense.txt b/ThirdPartyLicenses/BulletLicense.txt new file mode 100644 index 0000000000..c3ec68c21f --- /dev/null +++ b/ThirdPartyLicenses/BulletLicense.txt @@ -0,0 +1,17 @@ +/* +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ + + +Free for commercial use, but please mail bullet@erwincoumans.com to report projects, and join the forum at +www.continuousphysics.com/Bullet/phpBB2 diff --git a/bin/Modified.XnaDevRu.BulletX.dll b/bin/Modified.XnaDevRu.BulletX.dll index 8de2a5f71a202374244e0497200df4067e61a428..496a99af9271cfcb79ccb994cdf954008d338992 100644 GIT binary patch literal 208896 zcmeFa3!G$CbuWDSysGL{Rd=7N?yBnUndza29u8IAGegfz)5BwW1_Z?ygCeP}i4G43 zMUVs23@SYZgC?j1L<1s@N|5-9uV|u)F;_+tV{Q};7?Y@pktF7w+#9{g%{BK1zW;x% zeX36NV+Nz&@B4n=$3WL!d+oLNUVH7eUu!?k3tDfr9Lus?{5|!QWqk%N|Lu|A6aO4V zaR2yc`>jvqzIw`M`kw#QQ!ahwHH#Z>I26C)&=s%Vc-0lxUmxGJ@ydf64;{XK<2BcB zeAdM;-uUYH3tVi*7N%u>ji(CeRh)D6ITBz`MxZ?;B2E}H>@}CMsmAH z@q@}YDagP4yBy)b^B*9f;Sqo0c7lcG(RGe>F(IUz?Ia>W`m@Ke3VJR^Z; zB=G+y32&w);{YWf3DB!6YP)vbD@1JqPp@EA!)xpYda}ld7EQhh-5(& z+7Z^|fj!*D64-?Ua@Tg+ScSW`+xF;8kb|}lP|^@@$$D})gB1MuBQDb4U@tL7eZoW~ zf^h{Q01!+;5CQ0rHmetZk?@fP6ec`ZFt;)xq@3MD%#qhJh+8CC}} z!>WW4Me9WXAaV&p03d<{Apj8h1R($rFp6jz0sv7=5CQtbGu*(^_8{Qp?h^D%g(U!FgGQI_Yt)3>cV;C))vCt`y*7n*G zo^At{v(2?Gg}(A%N0&!QJ=7kf)9+3@Zllj@qaM}gHTv8(#7p@L<&p#~5f$G7X4)GV z7+uT;0*0&b(XAPGJze%X0w93of)IfHgKHrj^s49|TxG*)!-~ivjL^}%4kCl-9GjX$ z4r1{mw*W0p5C=eje#bsS7VINrApRzBPNC#vv)KrU02)JlPV}@*5E#i85z{?4qCm<#V*+RSIht21BqtIfa%@Odi6g@`S}6aXs6Qp9M^0YmAj zkKX!hIvebx;?64CiN{H_Tk~=-f-q;yM;r?^$GwVB;#Hdx%{e@PULbJA$@`hbFQcdh zO)492MAU5k4vnxN5o{-ZCnY63I58#z!RGn~C;k@V)$6w74n^-mxb`=$1@TxInbQ4@ zbTuW*i~dIX0*b_uZX*5$BD!5r#N<0}JOsjg24(28I2dDe3!N#)O(a+ioVbOk(}An5 zUBL`Y=WS3GrH?NI#Z=Z6x6ucRsfrW7gvh)rF4}g(tx8ZGeWfE?E0|iK8(It<%!?d9 z#(dJRJK*D0NSFVd=wnP`z*RS6FYRHabkQGYFwj(_x}h3yq6AH)0`)H&Dk>JJ5-*jj zZZA=>Sna#%vdIY`{rSD%p#UE3eeogGK>U6rq*V&cO+A>rgYNj<%;@C^yBT5A1NJ^5 zj{zCK1_*@__^7Pn~To?gf3BA z*{#n9+mp~Yy6xw&42SIK7m+7Q@*H?EW?n?cYd@EPC@8T~Pyv8oxF7@oLMSPUB#NY4 zvB#c7!?4Hu;mpE0!?(wW0au7*=M85F4rEudGJTeXiD5X<7eTFpfV#EE-=81oTiOJF zrd0rRsz60RlLD1pfSUnkTV>CHxmMXXVCc5W8Nf^c6j=j;B4(aevz z5H9L?73RZYb0N%ynT0S2{U&*|=p}S?KFmsRA@mkB1T+gFyq(~DQ$y^f(~z>g6v^-D z_>}|}>ws?0a=Htd_|{#JNk4Mn`~Z5@H(+r%3E)h@X~M-g6rjhF>}C(qJv!gKF4_Y0 zwS|(EWx#x^O%Vy0-486{p(QdIbV9*Gw$-M91dk4$c=X;A&ibcDw6?4_*$Vz7{Q-MWoFFhyH#BF`A~pv`hk_uRIZ?;uUfBadZw^W z$wTU{8-pV4i6I&F{2ZMZ%@W=}NH*}#sbIj~0pUfTM&oy?J-%AnCrN?4)3W<;z(r;$OI*5+0~9;q};S?9fU}&S;x90v|g#j?9`DF zyy~`Onp9UuIVspA#54q{4prNeFv>CNjmUF={r||_S7IP<{}ek?17p_d+UxE{OY3Xz zPr*N(f?rD5am9p#4j9uZE}GgHPC1on*h`Ekif=t+FEM7v!>Gn1Q`f4}VAT_Z0r-UIQX~iDjrp+u5?kSQEbu z16MQ;KUOv@SQ6-S*y{vh(!;=-iP;-i%;X}>VuP}q$tr*re_iNZ7wrP}+F*D-MIWu<|8v%6W^U%Lt=fe|brfVhb;JUmDn~m*Zrn+4Nr5`-1#z+mUNThWCDEJkv zs*D9cn|PQ>m+9A#eYza<_YkmP%S)9_$4~;%)J_pYP)NhNo3m8~?-Eex6e}RHi|1jw z{;<8oo+{KC3o2NB51>VzO+gybVov47ztTx6%thxQH1q`rF*VDXFf%g$@RLtHRVfE^ zu1Gl;X{wz6d#Cx|iY0{`2KQB)Cv1qfUbc*Ed5gUDQXzOi8r%?AQErR&61#QG1&b$> zc8{bw;#oXDB@^&3Dv?M9{s++1MK1jsKkSb`*_BGaNJTJV0GR|~Ff#uykcqYn&w2$q z))FYQ1|(nWbCUoD-~{U4@v|F7v$ z6`{p7oi&wFMg-`tSn^|~=vG3P0&{J&9}aY;b%?}z+K-NcU5cdrbnvEe2|n!Mgu_x< z<&?CdWATNkqW$c$wOJiAtkaOp1|VFDCl_A?(sCiI#=kI-uK8fONb~CV%l%?yEn^- zbRbDhbYQ*ez_^xGyPvT&yPu6(bnSjpWL?b{jXXuWpRotRjo~SxRIT!aD%B=cs#A?> zKn{so5#0MZ=?O*6=)Z1LTzbRjzkEvW^V>2KzX7!tonmNt(kNjM>7E%Oy^*Aygvy)4 zv1yt9eZDlRi0#6?!zLq24qR9dPlZy~!%a}?`szx} zsNv}g<)}xh-A=s`Ho{2Neafi&RJzxlO7*&9=yk`See@Lf0P5YA|@aEc!%sVU@@4{76RR~P)TOZ z;r6>;zvq|wqW=x+*3^#v48Z>YnA#YTeZ&5&2}tddNI;hmw*@LLHHTWfsOXjTELgH-(jUZ=& znneJNZ)h^c+sro#p__QhgqXOY${KI804hu&B&-R8o(jW`{|KdP_0yPF%7&QvVM1L) z^nMQpoX}e&td$LuXg1~bCS`{VlS|Ih4M_(_$*Me)dcWC@zKyKx=vfGAUjY@cqwfIG zzKYt=KOWRaCxSoTbS|x;S0)M~09p}nLPn)gz;pp(i1*@uL_#EDvZ7f6tcb<^%b$XP zQ7F_~{5`}9?D#P_BCRcZoIEu80x$^w(P&4d)JNcW_eW#{8nnCs(;G(3$ShKHiN<*D zJ$?jvKq@#xL4v^3Hegt;V>nMlXQ#W@wpvXvQjSd-4f_*uqN27F_i8n%N6iH*jFk0jY&K7OK$uFWaYp> zIEMf%@Vv~dAA0%F#WDoFzR#KCe*?+P<9=P+w{JZNp2oT|m1dr|GbOv^NaM??B9fbV zZBs7cJtbEfpWlQPJ3+7&5h2x13N{!bGBk_Am<`*54?{Lv18msN#D_op;d5cZcCkju zg+UX>X!*%CrP4$J5^Z04d7^^?KnD*d2mye&Izb2k#48en06@UNrg|&@5Z5FK0f2Z_ zf)F5SWDh1g5wAutcOvMvufvax+T)gV`&vds0^+hgB?wZXZ{s+-7lPwI+l{bw;MBG=$jt1?I;T(uiu<85SpsQU{jP7q|bC^FKHd?P^0$Mbvx`ZdRFYr z$$r@3_XE!No7CevQpOg|1}q2)i|4Qfv!5qEWy-><~)UyTI5-MF`A?F9yfwSdJh4DAvTIZXhyvS;bD=59XijBN&ps% z_+jucU2I4mLR2UIJ*-hETl!FBv?W{0Y_rVRg9C9?!%ro^&gpqh{6fH)_}Nsx7$Wu4 z7-2j{N&A4-F}gs1>Wnl>S@z?v zp#Up5(L5WI=?KFssK%dMo3+~wPY1x$df};Y3HBK80w4KI{1sHL?BwB;*`oyUT>3J=_+|<-7u?p=0X(;^HiuePZPR58|G>;SOM=z4j*j1lIg!}mGlExVKn`GnD3NH zq2BaO==KumSf(0s%8x9|={=c3)}Q|w*iy8{7N1LT6)NT8+}ofaPFNJpDEGr6)6tDG ztgv0}z`A*0DhLNmCjH^y)QiJG^=-Kb_?IB_sW2hfl0o3DEbd?uk`QM=!w@GNK;WH> zmczDUf4q@(RD^VjVNv;T4!LNQ8mMk3k(Ho2AxhqqrEmdfiIm2ecH>m*c5x(+2>7p^nKoB3{70;1gT z!!lhMCBm(xa2S!w-6XgC1@NT>WL%l<_rUUKI1&!Wr?5?oOu1pXTndNci%|-x@$ZZE zjD6w^tC?-HTfaDH+G+bIIBlwZD&`Z?w>eTWoMUAHJLg!RYcDc`PHv`7Glbh(^+=;jxEEkEm1;Fb_?6q&9>@i))675bPy#BnPIj4o#hs%==U8 z>?QJ(i6A;2Ss|mYc#4ft^>)HYXu`5N$6MTuoOs@h8Nsmh2lUdSuKC$Z6hJf$@x?Dd z(DHyS47eBpB8jP2YpfWF`5O-4P=!P{-l>cIX&A^^j0Q$lCS3LfMUW^4l{1nQ))qjB z5SJ)CnADdTT}TillWBthpkM?+2w;&%*Lno*DWVU=PLG;t6At}gr1mwFs$|K@4{2ob zV`fO0jdx~9g!3{Pf-aC%KmH-ORyY&?JK(IZOB4BRin=vr%9Ndq&q8)t`E4mGHH*Tj zAxu(znMG-OSr`N2IV}ElKE<;5)@S;}mK4ey1!s~lDfP?6Qc?DPG`Vtrsb9Rhi8D|d zki`Q|APMncX;4BnKlCDDinvrN=}IHx#LyXkM;?3$VB?H{P7^5voWwy>@E7->#ASC8 zT>^A_@z?42T)p~>PePA45Gzm0sAj2rK&zet$<%Y57;`?3U-Q zB&-u9Yp}^Qmi(2oPKv>tG8ia>Tu5MSR1OPaVNDK$UJio}hYF=ROu{%^vmAy)gT|Ug zuxJCA4pUb-9j2mnr^BLlG9AWpopW1TxNW}yRQBTULPYJ?1FTmbvtWwk+NBXAeVgMrt>+a@tsTvN!!%I!+tyLK+;g(wqc9`(n5t1OP%P z*(8%FD1uT5aI>Rv%#ma!BNlNz4RpVq1b>R<6CRH67o|a438H=YssFVt<9ho|2(TB= zLW5{ywwau-blPvG$8BQ*!Jgyi)WHN-NC7K`>pR6adE~ z8AB%gBxgPnDgY3YBjXD&hPHaYWm%ih@2Fj@gmZi>k1n4}eXjUSs+S<3oM~KA%0w>$ zSjb9K%Sx9}aHDw;PeOntiP0b zvf^PSA72W@pVncdgjU$r>DJ5M$m3YrzubZT zi(I|KY;6Tm)go4Zi~k5DrqWQNepuKt@jsEZt1@vP@k#F@R*ds8bFfT6xl|UrPDYwZ zzbE%L_WlQ0D0yya=*eMlYllNhtwhm5lnzrLFUD0Ce{ zcC-(PW-v9uurh=K#IFP~t$5XH^wS8!*;m^-6M1b$UQYZ9gyI0}xW@D2DxxItFkoj$ z5=hv%3~X#x8x|UXbsG7No{waMO0n?*rOL?^TbS%Y97I+fqp`Nco^Y~)bNk(RtHl6 zbINC?YDQS8LT6$Y8kEwUzKZ5#FKbSwJq=iAUa0K}ox)p^UP1sMFcsBqLjX=^-wF)6 zFRZ^ftNnR8n9klyI?yvzx)}k0Ae|rt0D>_DApj5(l^u})ohvo8#BgRB@8u7?~E`gUN!8#*%HeR-#eOswQ60CHrwAOry79SK4JARb5%0stXtkpThJ z_Jz5l{G-9_IxrC3KrZ098m4g!x6AP;&-T-^`O} z&qEq@7`M-Y@=v_^O>a6U{#j!9A8b!wBFSyc#%mvA!j<;B=t!TK{A~P!7$Dp4Mu@ai z+d2o_pH97Z1dFq66Lv&HlbR*+8M(?<$WCQ2JGm2`jo405e*+D`mY$>JJFq?mPJVE-Wfx%gE;tjO+R_P37Q zRhveBI?sT8^K8vk?VE+Hs9iBPwK1m>ujN$YgE^;UNd`F_>PJ3e<epp<${a$hX_AkO^(|OA^8o|*B;~O=Gs}WoTON{ZF#(;t|eNk`$ zfM8C75C90~DF^|8U=o5500?p;2myc)cGzkJxWicI(RyXu#QbOzejnqa&bWW{n{c;C z-P!TSP{n0z-)1mX!cp$%6Yy`Y6zACX>=LF{rM_JJVd_C6g$7P*>P{_BP-aJ3 zG`|HDy6(uq>YmcxNeO=e|-ieu)yBIQGtw`S!06j6TOAI_(eBI# z(?UI3bGPHCganzNoMxbhEa_Pa`pDU}at@+#MK^S(WM(4H8c&LJb|tBXCbW_xriei! zf9SV67s&NGhV1+m?5vz4(S85+2f>DoLjc2w(*6)UtQaDtVgvv}0$5W5j2=3@&$@wx zl)exOfU5mGwFrdK7YOu^hpNY)g*?tc9VUCGD!F_{BxfTKow0Qp{u;OHann62HLFKz z@TEj?fR|QPrXn>tz_UjVj4&icxpO&X5-LJ7@m9!8_CIyE6jlN4dk(l3?Xx&natcq7 zsFT-enSF#pkp0yCqCW<~OnMN^X}|7`z6@Z2JFhtN^`DGhL?4iizCo==XD0x5N>nn{ zg|df@Wi2i|up?4q%h;*t=`k6tM{;AlQ;5L)2QvQE;MhaKeK9JQv>~4 zPfSWb6?4_VBxd!#&^^QRtM}npJz#IE2dC`$wfjOJ_}YDCKLa>(&MUwnAe`_d!#Ht6 zuGZjn)xadjRoO{OxoTh%v!c9K$SYv-3V0P>IZ7$76!4G1Yp>9k$#vDhlko}}Q?8IP zrW26s))M8N>FF>+znq=B7E%t~a&8W5Hp>jMfxX1ea=K_&^6#!8%y4BX$fk0AsD54&(Hu6k@DhGo87&uEmr_ z>rF}-U7IBh?=9R~>70NmN(3h;aM*nQec1S63OHARBS!OgnSCJ7!rIW<4&iF=tDUmg zi?!R0*mt1kFb6tt6HAOHd7SyMq!Wr@X}}#iITe+_?0N*2@e7BDAETsGzuGNvFevbj z%Lo8DyWyDwVS12bA~|5hx$U#T!w&FCUU;>TW9rn9y~Hus^g}JD`9RRvv;uccK69;( zb-1MV)NRk+&yJR9dQdo~=~T8lmBBt&9GW88-_IZuy43}QXx~N@n+8xemxf=5+5yGR z&I~dhm_yHPK`53SG4gyFV({t&(>hq&?=*FA28Kxi;{qeY!oglD4mXI-j(rv4xmAdJ zl9YJ9rkoz6&7rYW^{TYNF=cW-T+Bsq4v51UM`kf{(Zf+$%wK-q*@tskQvcUH=VY&lPtyI-+4!d!F2|m_KN|9D z3>j+wx)3n&_Gb*Za_06M2*I!_b9z|QEl5>#2&bPVnI&c;8YoAIRM&gLhQX|a<(+66 zQ*OMEfm7xUVBtW0=wQ|n=oHR{5ABIa%r@w3>x6mmK|6@Vbej%VYbKtb)0lej+c!?Ag0t4v?XAeyiEiL%vA>41%pBfU@kw zkO0^g7=!X8zpll@12yoQl;j{nw2W?iwM3W0so!Mpc7%E)?3#`db7;XCuP|aCq0T9l zHlH1!BF?lXLnUdELDR9O(jr#+1e2CfY4b~^m7`If1QtkiU}T(KYzBBdpC}Z^=ckf)D3--RN2XFx0yd<{{Xdms=W}(VGAf$VNgH#c>kw0#7A)@Efe=%F;76|pKF_@Opwc(Pb6s>jey?p6!Kz;7 zhjS`Wa37kZ`>~icw;;LACeLIp3Pw&&?)fdGGI`PD-BEH5O3ZA^QxDy_O1kfLSxs#KWLe5Rg{*rS!p7J}$8kDsZ9ZU7c8EEJ60 zuCp;W^KmzR0^IR#_|&0FIc&Vb#ci`v{Fm$|N+zvxN%JjgS|v>z7o3fMwS1GXo_zHX zT!{I*+;f|`*VEi_DvY@gHC}=-U6K3U^ zd*u*z{8uQd2T272;Yi)web5ihGu6V%RY*GJ-;5|d-dx&?4ld~N<4`l2ot(IrZC(YX zp{c58!)kJ2y%yH|9fhzKgw=fL7s5<2tbpqZZrv5!bz95un9?Lt`qBHQgi{|+z{Zq!n-2vTqTSreqSs4DFv`5pp!iWo0R}6 zx4YADdI(Na0yMoxI!&*KAnGL$rR^a&y*G;$1V=dq!D3m@;NfxHo#^7R%l|uyUP|0A z8vk$8_3Jld4*OdGF%c#P+e{>|s~QhSGzQUs0Q)6ko%Zi4>3@ZTJ!sE*w{2PHqMx^y zBxH#Ji!Z_qKX7DK;>ofkuZN^CZK)!)f>ZRc_~EMAEG+~Qy^^7iOhd>LHcCp<@QeOY+DO4mua=V;47Y5d7Jo+;-_ftdv6)vc5ZFcKGs%KfsbU6$L{ zdLE5aFX2G;(li(o)+Eh+CeCFEFQT8TuHAm;SB$8Gd>UVe}O1BVPV%fSXJ;+nwDY|xA)IS*5zRw)%W)PP$hJ9 z9ycrg2{4SYc_qY@Kbf{*eu9D={m_}1alkx*kSInHVP*dUFXDy8-B?UplmnL+<}DGO zV&rhmASZRQtgO`)WvyvhaYZ31>qt`88gNxp)~b|sYA^0V{1%ER65fG>**J{GgMI*l z*alFogThFoQ~I&em??dOWq}0F4R~XN_MD^ht0z;bcaA2>Yrn7-h-m>UAzji5fF+#- za7mX?d?ld}02GfV2myfjYJw1e$9n!cIc#2Oe+_|1?f2;{@pt7#Iti-^C0Cc`B3&MP z=CJ?CKYNME@E9*?yT^FxlUr?nma(H7P@6btspl+l7IYJz3{@KfrkA`&j`k@Wta=|0 z`ef(LneJRECr!tk+73#Actxl9;5Bux=*N3eL)bi0SML!waoa%-iZ-EDFbU8;Q8vf2 zdA3ofuDAxEmuWeT+-!2eVMh)1lF(sB#=&%DTaL+No{l9gu3o_=+PU>tAHpfa#Ui+2 z&&T7;s004Ta|dOVeI8{$bOnrzc61172EN|UfbH0~?xv9NFL{T~ygz4&xmCIxM;6$| z?xHr+?*`Gk@1N^8f4*YRcCs2V)O`sUNpt^_-F%)6OFS>-$u+ugvo9P z;G0tL;S_vx0x!M>kj}wvtA(=dLHUP+iKm{r?Ww#;EHfKa$PyDKj)?+SC5|w0OdPlx zafFFuCcuplM>y}-{{rAnfN)se89r5L{4CN88fmR=0^umG3LNZPHct712K-6R5={-V z+sfu;Ec0mHjN|hqQBsOUtmC9JRN32d01MVXgTzAi;c*p!Y7Kw~XLnk++-W(PK9 zGief?P?|J_(xge)q{$+Kl1`Fl2S%ENO`2&+lcrFbGzl|JemX#Gl9$5W3zn>mi z$y9j@hv`Kyt)^~CF@Vt}K!B!hHZg#_N`L@OHHve8XbbA(Jfv@EMDZv7hr4tB{JW5| zNis><5E%zYql7CzxtE^T8HTXq7@~ujmT*BonSz%r;B{kT%Lks-d(c?_g&1~aL7EK$ z<<{Vg!`CaBo^e{ug7A{qA8|+CgdEIiM)Wfycp1;ID!d?sE?5w;3IAk)NV8?3Y-JId zNK_7G*JoSYUkg3mZ~_C#wkj~gpzC6AtzNry$Gn^YBjl9y>Db~C05`}&@4#8VjQU_S z%&uT<$e1hmWgf-Bq@y#Rs+RMZO3hsZYQ)PQm^#Zejf18wgt^v2DJv!3k9h_r9Xp>D z7BOW@CS=$%mx4B?Vf{k_n@^Mg?ij%QxETzG`RbLJFLm;y#F!^tlPAIbu*dn~0P-AI zmM25gd9InjAo3hsHBYH5(~?b|MD2$$%@0H587|9{q3Jx=OrV53OQ}35_2V$=7GQP4 zjiTE8J=}N4zS~Ybt1t-D)}U9dS8(?Dh0d&FJC_NxLm*Tk-?MxP>k|J=W7Ym^wul4I zQa4fsfGGvjPe>U3qH_o%x7z1wJo*zglss_kPX3uRjiS%?4^MPLG;DbuS{4oKX(>2L!KbI- zb^`0my|+5Jx2k6t>rQn$VG6AdmjbCX9Hn4?Ea8A99Ik}3f3@X!A3Hd7-Q7v?AfA;@ z4g~tLQo?rEt;~KmXK?J7Aq2i1&$qd0zD>stFzKHG9Ui5@srlO&Z6AIz^49QU$c+EM z1?vE{M~5Q~MGP;UR%epgCv#2l8*OgqI9 z(@t|F^W79jhCJcOkasvT)Y%Xuub&5fKFW|%T3v}D_}!F4Ft1?=%(Lh?_2e4c0Tbgy0PqScH)g-$RFQq*ZpPS zO<7n>;wRz$KlwI$-`a1p_nr7{_C8!iJJH+heJ6gKo!_LeIrm0?BYJs(3)seA9)Cml zqjut|kt^@rH%0(Zh>bx2lv*PLU^4(wdYO~<@jOl^JqIw;3-DLMU!w-`Z-SpH#iZym zCAv(=%xgo97dj&^4V;nvd47jv7duzr`5ld4f_tIinR$5lL#LXq1bzMdC*)@h6 z2alyMuzg6u)Prk%5pg&^Cc~k8`hZ-gdSx;WF9j~W zFqwy+f``9PKJ1_i$aHKn=ea?`P%7XP9KYWHG0Wj*M7Z+7%&Fqomv9AO6+XTD1V8thEO z>zpT8S06ouYe+Ys+dgF|o)4mq?FB90SKjTk^aO9>U`g)#GOEb-GLna0yVi5zVn>s2 zZG8{920wx4{3Km81xeS;(a;{!2Z|NeV~*&2MxZFdl?Tso;t`#>1L;7yc_$fClD+Tt zH_!taKYF{q_8*G>PryFR!+!*i9#rAgop=nv&K%zE zo-8PPcxEFx`-BHwus@LxJv^m_6)z5Dm;%0|)8~8|<+%vusRVQH1E|Hp)seZMh0n0# ziWr3*NA*$Qm7KXL&Uz^yV;NXZV>L-7qaQOU<}$MbxxCT$tR9JQ!8A^nDAV)TW2Zuz z0B)?!znC}Zz#?_}t#F~&dTw>Iy+oA=Zly?bB8?-DmcS%tN9>HrBc+mUvLSqq%shfClB3!WJprs8{S#Cf9r_9!R-%iX zRNb*=5Vp32;^C7~*q##p*3%?J&!-U}5Hcwe5&#H{RybkLaR~#r)RE!>{{l|*Z2Y`uH4gRJyKr>_dgSt`xc{!8^AgAPojaUC+NTp4^L2O^ z)47W2Jc_~lM@+|%FHhfOo7x4@Yz_HxydhuCeBHr}n)Q>EmR$Zk{x}%@GydjA|KG;( ziN&W!bGid^{lwy1i+m07tt8hT#k?_GztZI9bcZ#qmEGoKYjUp%tpK|3S#N`gpHJP> z4Q9?W{sJ13d|ehNQ>Pt%ST^tL!&^Jis_-(4m<&2YGyd%e#ZuwbO43xq&nJ0Od`8#FY(0lwCm(Z@2T?cYpoA(LMo`mb06RvUC z`zOS3frZ53j@%C1KrF7sdP;oruf-%JSFd9Wy|VZ^_Wj8oI#JbL)Qo*7XX9a0EXJ{n zg(?YvmpR<%4x$8lBO&zJe~EgOPFw&WFjrTE06_dzf)D_RzfKSWKyQ7%X=PnZ+2UVi zGH5fzpUk%zB{NxQGp%gfWTD5NkkH>G2?+qi-zEqFfWX2a7~@gnDbnTUPIgdiC>5mHPF)Z@rkUw&hErjcW3J6N|K*&39sMeJ2r!@fH^dcsvktJu-m{Oo z5`B;~QYCr32!)3=$(A0jHBSy^ci7pyJZ0g}JOP6T$7g6RrxHngN0)AwxW@I2i?!Ly zynVX9(Uenb9pT97gtFYrL)}g&i@!WnUw@r>5T##X-~}H_ zVd+xoI2|gJ*mo**Yz1~DhKIOBMEw32uEJ2Fn-Tu6NJjWab^p%S5x>Z@js*Zis0Ga`3BOLe9O8-`gk^!U7vzC)h5u4r2Pmp z+?ADSsfV~B{_e+L48_7Dt=8NkV`}4@yPmKLCpBMcvmSt^0Mcky3D6QM^&{)hHrqj( z6=|u^{q(ghc)|%)H&Oi7te27{z~It-HTX)yTXRVOU2KW=qO1*aIryq+}->y*~hgMHr&`y?rq|VVU5XgJZbTt0%~c znA}TuEoR<1cKST)o0wnx$!+nElE|ocKE>c>SI#1j?3CQB;fw4 zrVOn#5V~k7@0n+_x0VdNWf^c3&;O`5&G47ko)weoXFopH|D4$6L@^z5);Fi!|}! z0WIG-xU^W@Ig4bm^6Zu1n|lkGE@e_c++k>e_aX|2XI+y5DlaIY=79prVgH5wc@_{K z0X`cQDmKt%IrbK?oBz@I%z`AYH+7TT@!9qk*vA1s9J1336gzKaeJSyohgdcPUoCk3 zA+{;Zco{rFzH9(o#*-1V=xR0Y@?^x3S?J*jT;hB3_?`q_)M@U=O%B{eZt+IMU`q;* z(~gy-@OT)b124<8R}gElz&0kerdcJeN-jSKrfKN|8emGbM7;%A z@h5J6v@x^89~25=eA`0s;BMjDD?Upla))V}sXyIHk9A(7 zZuJ3m&2nB;KfCKUm4Aw8Spje*-xMHu79aCiJd~sb$Y}wxKVAXSm6t96s}TiG3Lq_Z zc`2j-xugP6tIPODTQU6e8Goq&%ncI$^U8nlr3UmlPWptns*P}C9>o?Z!7Q58|4wMt-WCMEewM}K-skm#kXJEyjGyi9#+ zW5-LqoC-T$E_P`LsMf!2kLlJ9XYUEjX;cDpc4|vM(dOjL7=@s=d^_o<;PM~7ZGQ^Q zMo$UFpTN!u%g%q$3E1Hq8&L??lf7TlV>I>?Ibe^`xE0L%xQlx;^;{ z`%0qZbMGrcGE<|Srzjv&&CQRtK*HHNEHP5t`=YJz_xf7KTk8olzK-y*gO7sjn7vx1 zkH_OD->&-fe5PJ3Gi`6A8;7w69Zm2J49!D`$ z-Y4H%DLYi{U@*x1c%KIpe$(Helv4d?zCoFZ-VCnt=4HFyZ&03xVKe#+#AR2cZPvSp znj&bT=a>C(7j6`#JUU&8EC zHo%?et7OWJexHsPJx&KRhCg7&51xpKHDM_oZS3q5_|J(SWfBp8XE6g2uVmuHUy~62 zN(ceT*NGpK5dKOC0b#|7zb+yCl@J1&Df3z*-yLh_DV3vXq00{CT2myeQ?4gkzKFFF- z2yn=h+H3a%53&I|ZhMea?5kbt2K3b!uh3UZ*b;+Ide7WmVtVnrP|4Vel>6cob1}KY zeGb|ey2q85#nsk{d8}@2{sT7@b^B14s^c5GSD*0Z6P+K)$thfddLOdj?wiEw$D*rW z=OMgZUDS17a9PpQHNjK^vdpl=rU7biMWv z9jA>;zSNBhol3h(XINN+$)uAniG*j83BbezU}^#|D&`-7^+v3xn$RuDUrwH9Fdga) z(q>oPiLqqILdS_QeBdioc)aZ_=no##qO=1^zk;BCoUiL;l;s~mlz zeVhEMCoAH@2VN;Pdx_jm>Ds<*YA}oPvkEr;EsQxZfp_I6knZ5I+?6suT$rzx3y8of zG6K_em|6#5IKb`dW*N6bDQ9Ujro>zU+@2J{l%8|y4$fX;CemhbL+(P5mT`HHxG+>N zc0XB4JZtbh$`0?UvYhzPpm>LIRBcG#U8-RC9agZ4SCy*Ta_~&Aq=t{dGjZ5BuERd3 z{+q2~ao^wK7aUO!erq<%i-?#HV`GCQ!Pgakfel~)>cO((rsCW;5XuM4_+7)|#OKbu zV`r<(4;zl|#7hMtyPX-k)**j?Dlsx;nwRL~5i%xCY`S2NBvBfNakp{ImcV4~F=mV) zJHoNn&WbXp6!Ak~5PUV}vBSm+oh+Y*9Z*8yX<=?#Wa{MoAj7sDKjL`S<+%8_A`Mt? zKiT0`KAZerM8RErYG6Li&iZh@9`wxEW5P82m?T8Auck8}uD>>!%a=D~!VO{}!MkD! zwmgo{07{kMc_@7dQSvBYqeIYm8p@!#xk42~q8s*y0}DYFeN|N&EG&~XZMo86Os%(< z*f^(#wMUu48HRzTyzud)iwof8jd%^?%dEO!3a?S^IxaP{L~OSe8O%D_7t96Vmv4i9dx%ce)8<3tg$4y zOK{9_owHAq=yyk2ep9|4Aqkj+gHO1NcOjcg+Kkuo96+SQFGrtK$mmXL zHeSH%CekO$iU!Zlb5K#VV6xK9n@?&LH6@-F*7zow?#?%k9!Ux&p>9A4=j8SK4kpf| zgc+SmXWj{*o=dQM#w_aobv$NWxaUN)_gHqbDIy z^X&0-3cAC?EatmZX#(@EmC4>vr3uWtRvrE%tu6sR4K80!En_6;$EVaV_6;Ctb&*tOx4KOICDqvtzz&6;E|+CrImd?zaT#ASV(%aoh7AgSMXsB@VkH$< zStnC?vxg(4vd={>mVY@Dz79h|IfKVkBx=snSc=6_aKS3636fGKpVZ?6kxX{S?6xp8 zW5mI7VPyn85`bR6paTJKt>YVTYF$oicUqyNfUh3mYXnj|KZ@{lH)kgn@BTtv3ygN_ zTNPVAW)f=qN}eI?Ps|LGPrnwr^H8X1CLG>X@kPa?Mu7!US=7O9-#zi)z z&IM1AD|AyE7?PAR#kVk;@}57|mNGQ-)sykV9Ol%)1fxfC5cMz&f_A~2+e}_e!p#+Z z4#~GO{FEk&?ngQ5b4H)G-LWI$=BX5wmK}ZHh*>7@8*$^a=Xs+Em|pvlME!ne>J)p4 z!x5i?Vw~<%P?7@9ulYC&7-9D1Pv`k6Qe`pAm;|c|CWaq;+I0~5W6<1$gs_%66;AzD zdx>uR5K@AJzon;9_FKAld|WHx?5AnD874GG~_^V(AcD{b5XKn{?C-#(3C zwT;hOV`(__WM6v=AkG(&t^q4IK$->}D z-4bOG--B{fMw}ac0`BvmTb00_+JWgkOX4)OK;rSv+=Hk5f%W!Z6Bq*jTCcSrG>uKp zAfE3K*pbH&pp58!GnJq+Xg9oSP{p?*;gAJoS$7P_e~7D`$Ako8MZ7WueQdi0iyah3es z*QpHhCBkK&gp&z+`lGQW7^UNHLa*%T5>zK14AW1=jiA+-{ql^lSWLYC8?Suvj&g{X z|6YLz=n6dfLTBTg+!()W=HEIA=}m2^9Hn~*H&kwjENlWE zrE>S&yg>R%g(1S<@BRo@8F#$J-4w+z3~9rB^jyB~tPO2s`%B!zzf93pO4U^pu65HC zXqALV!b*I|hm1$U8Z1^HLi={(ub?ZKy4XED#>7V}<*~+@;b=HkT31>he;;AtIu!&g zOzRD_-Uu2PEq*wLrOsG57LLaM9Z_(44hDPq@nJcmMax2d~#?=zR zV0y_6VHqEJDW8T7aV01tngT2H?p+~X5_vzn?Z^he802FPtlIfyBuzKKjA7AehTu$L}l%7y}kq$ zGClnh`PS=Y$Zs0?@epwqhKr~5wO7gi>3r>#I^xI`z$=i49aYd4V1aotv^0j1)<-F? z&{5Tosa5$*jPcAbWMZ6}#|KoV=Cd(&gZ!y8b5lEV3QlRcr|}V67;5~fb((ApGb&~m zF;F@Ajej4RiH$2YU7LBEVIsyBg02fZ3zKx~O7a)K9>~SFgOLDos9@tbzrP7>%*Ou(zf+sCF{@@Om#xW+sex|}gB8EJ zeIz@gm_fyiZpmb;f>8;{WKO@)`*!G|zDo;Tq#nX5?cKY&u@@zN{0%S5mYh~EkP z%(umKhx)cH)PePK%F~IqvcmOi&Q5eXJ^BszlYd#dA;iP@HJ^{hv#;<(Q^Y$_U7aoJ zOv9o5E@Le^mWAO6e9yJeHT8&1ySQEd4E7Y1>0tH1u0I1tn(%Gsqjj1e=~FTyKOQH= z>rEab;%^jx*v*nRDxf!3Sx3?_7A6>&*Pyxl19lsa^j{sdpDBknUds!~XsE#P#PMhFj9Dt!2_yMZ>(G znuc?Ku!-TUI-V515}zC|^Y!2t1DL9HV;kA3m@0xd5|X3^zbw^iT$RF6b(dvTEES`d zGb^4(lsRIygq@C6D0$kCl-S=%g~q5|U!E-LK_?~Q1{)()dqPhVi92wNWLlx&xEsk7 zQI<2X_P`=IOyOm8cCE`C^gk&s6Lx6o6Ty~C<>;r7g^835Z9S1-8UkaxK@Ynd9{hRaxxSJI7AiXQ0+# z$(W(zwRh0LHRtVcX#rrUSO5e7f^>oq00_nqgaANDRPK5UAbrR$q6}A~50P#hBSEEr z3x?RVVw9W=2D}vO_q*HOT%mD>+%VKoF$v84;TpsoJysHDi!#!56PJ-j=(3sS%=feq zuXDta}dm#biDQ~iz#Nto=H|BSf`n>%wz z#KsODT{%Xrv()x3;`v&*1n^jggew2-vm_K5kxX8qX`d}9u){D#og*kPEn!MKhm@NA zxu(4&p-L^tHu^i{$6xd)`0k^>codVkThun@T9~!SKg0VGGG-nIfiVoNAyB6Al?1^0 z4JgAXl3mUyioA@`6>Rla;6*l$`kTm&Jwu%39=;h&BNXNm(;hb^^J|Y z6?M&1=$&ddN}$!elGP)uJ0tskXu^&bh&Ez$%u!9FD)7iClXSW& zgSTaxh`>3|VZ?*k3btixfQbgQD}0=~1!!#_n>qv+z4eO9`0)0yk5 z&NzzV>C(lMwNMjYE`rE{@NhZYSF(NU9g85XV0pHhPDK_V9%(|tp~)~nWhbnHL{*m4LoH!Pxm)b}U%AOY&Jupt?`+pzHV?=g9c*$v<%%cl4RFU<3Fm)bSL?=phHk$m)3N4FBVk z5SZLy3JQ~@K29a|b1qJwR{9!6&_2X{{f1KxS#NTH8VNE7;K4=2J zv%oj^tj2RHK{e0cTE1~!H5kb^&Z+Ttwi1ly8{4YESiVuO1?%#SQ%8dJ`NoD(Vrrwr zl*WiDtmCigQ*12Ve?V^WDKWZQuNmt)XyTtyEgp0&7D{FVh*|sXI=~x3t-9xqH}vO zB&q|&Vt|Mah>}Cu1_L5_i2=6Nyu1V8l8>}ZP0rHA&*ThCjjRCk9ncgTK$=?;r3tHw1bId8M~FBy0J)#_dID2sNH1IM}`!zjdKbotQW|wJcE5 z8T6(t>eEeIsZ$x8oI0IBFSY32vb56~tVyji9JX1{`YHr90Gaa6Mk36Oz+sr;IeqI! z{N07Wxrgz?DN;{aq3NdomY{UOdV_jOv09KuO?6N@9g_->T-Odtol2=EMU%4q4p>It zn&`ZKmOF0-AAX)&AL53y1Lc4NToNc_^5T=HwLLEt)iJZ zC7-g!%|yH|n7kfHy~h`^GZ}+q0tqFMAWq&Ay^&)0)0pC9F*CH*6Y<~)aH zS(n8B$Pw-=SOXdEMAtKt>Kq#@bq=dpg3PknH#4Cmtr*`c z4fauS@7D-Ud<@x6hFutIjDjPOVe}Vb&wvtBFq(7@RkMm8ssi5jY z(AaX~Jossr!;p-m3VOe?^=q0Qx)ON@$%(NQf;r(Y;n!^Q2maKsD`+Q;mQ7<>zhHW1 z9YPrwA3_?mVq@2)E1iN*f<2nRu54PiOMJz}~tPtUUf&BwUE2*}eh(4Ce z79)kPvUsBYC1+oJGb`jY101$7f=-2LA1ywCvu`MV4G1wi7dG2W*jNNO=G=*K8RZCZ zUvbc~#@f%3;M=KcPWwE1-1hl&mh_h>Ic^i+fXP$0J-hoOy{8|&7n!!PQw5vC-I&nY z?PmjqY_M7*lv(@$(tcQq?allH%qN&h@EpnobgJ!(=q&NK(7>5xM#&z-4CL|n{fH-1 z5pU*iG{CDa9IFT(GK1{Nd(Nx1?#9B*ewgpr!DJ}NW1+kFF6Ns&HV3MizZ8*<%zQ~x zs~oG`bqa(Se*h`~8*1Z*1RuW}QE^o5Jsre@f~W$)ji?^m_|#K) zG^mHFifE)t?0h3LKPUaNYkdUuf_Z;9ayK-zFHk3s)qzuq?qa&7KDVk+^d|TVb~d^b zZZVgQ-wQYANjY$CGyV|DgY%8?hvC{wlyeP_+R{q=1Qd8#neJhBlQ;6W)_nYSx}7pn zcz8k06dAsSWAWROS8thCqk0Fadc+~IQSN(JL|! zP3S)Uo{muGYnZs&6{W1)TZ!%lJM@#5{(I=JYIrpXho9l}OL$GgYxh<)KKu-)pW#^@ z4?ho)9%g%Tq&je`GI||TH*)70A@r-#CXPw`Y+B+ADsfTsk(oaR@wF=N>@j>GklAJL zE%Sh1TAA?bVI_Ji!qCkt1s)XfdMUh0^cIBWGSXyN69RTs(q#EI@cm|lqJMKOoS?F9 zW?7;bDD1!;K}WLqFdBFavn|G!=R%jJHfgZ_O8=w*3+lu;%o3n|lXek1j(*?|#fxy^ z99D<@lXOm$&dW5RY--dgrcpr-=gfT>M0^=RqC3DGcXp@H<66?=qUC3+_;K)qSJN{Y z9RQ__DL!ZJ!xnhsJRGr<%y3l*$D`O!hZ$v&E_uWeGO~~3|8yekd*QH8bQ38tqHt?E zqaE|7WL$VIbl^3Rn=|Fe+YHWOc7%Z|4$D|i>M~<$Yz9}#w04s^+=@3HOr3n4ABy96 zJ%@D7Tx|1{DGNH=XL7le}c&#BhVG0~mxBA?f#+JWi7)G4s{ zO8PO|(|)W{oI}qGR#=!E)LexG$jjvJ)n<@GN3MO2d=ImW^%5*>%}I}c4AD}(3*vgm zvIZ4m1`zOsfi~taQ#pfPu)>CfQ1K#^tp=e&j8L|89X8Bs;~YaVKFb^0_`X1ACOQkP zH#5-gY6*t9B^f{?Obh7Ym>SjLK?l(pS?whbpJG7IJ1VeCoP8B6aX8DpX5*6>MhOyUZq@y!&S?b^x!MYWu(z9 zS97g$fjyP`6nZ8Ouv)%zTB-8=-igY$qAu4c-?Wr(MGd6tjonF4?U=Ca%G&3!bR8C@OSoK|ccEJ`Ug-eu&$RHMNwB$2A=6_V)G^oo!l zzosKf#Mq>L3ui#ABhr`3%R&8q^afN5rxxtGX=Ua3V2d5S4LUR4pwtf`Jo*{@NS|B* z-O6yh67_SWz>@TN=oVyqK>#40pCAOlS!@PW4^;8asmXH}+*_r-7=-?Wlz8K4pOChR zq=(oxf1G{3An~ND_>pbrmEjj4T(TDc+2fdwA_M?pUxE+-h>H`102qQ8wQ?`a9tt_{ z!5RDrvlSl;98PB2BuHSBZ1fHEz_6akMVjaj>Dg@yk}GQ5QuFZ?MB?|NkE%Q!o_(=4 zQr__&VMjlZhcB${{^I-5`Q9S7hWXZY5q7GAYkhoSN#9w>wDdU#eQE(ddDTImSAb6* zcj&~$LMFJj^OgeVWFJMIw=qwe7x1)-AFz~M!i#WJ*bi3kQ@#PP5F))#*)Iol{Dc>axG1X zXB>R%FQ7a8mt^%Q(g7izq@)RdOr$Fl7Pr;mP<#m?bLkRFijaaPDT#EVi7zQ~5={vu z#g14dkxn$BOj1mOy7DJmQeyeV_Ms?-miHrC+~wuf$WNn$ny%z|;xe766bw7Kn#Qfp zIP0m)w1aD&w*WH4P~)c>B@#{<`$Lolf4=*M5^IT*((Mb9VM? zE#0DIN~9!8u!wbGP`}!aFtNvb9XQ#3V;iSbX%4%T0~-doON{#><1(0d3CDx>IGRD! zj&-n|5r?%Iqrhs%7%;C%1dQA-ftSWioF?Zu(uB?=Ye^0CX(-~P;%n$a;y=Jo8t=z{ z2#m4HcG8;pqSC-N@Lv(U_)AEEcBTO4#`x>NpuORDE1q1G?`Aj_N^0G%{p+I$fq8gx z@s9xDK!oI(sY*sB>r4zCQCqMx^T+ke{xA04JI<==Y9HU{+&YyxbEnhGz-5M^3j4QV~;f&OY9O8H5yCQm_&^wvBYRJCdR10=Xv%% z_nraboA>*E-rwi@$9I%{*IIk+wbx#|o?R_DCQWlMQa(l^nE9hZmI^G^iB7V(o3y4m zX!n^O9Bt>19k+0=&c3eBG;bRXZQ&?I`rG)Jl89ZL7Nk~q*nC{jL1D&U7qfjzocEk_ zzXSUsDpBl|!H$;knAulAYy4D1d`givDwR!F#LxKPhz7rAzfN(%a5CFomkRSkr z14DuU5Dp3n0zf!8BnSZEkdPn%gykVY00@VM1OXr%77_%2aCk@%0KyR=K>!H3kRSkr zBSV4!5RM870zkk99cz67p|N>Cj=^`%NhlM261o@z>nlr;d3d#NUHevUi%QJTosG#S z&9;{$a0D_$O7R7AHxTRt(643$#fHzB+&N^!ki0lv08{C5_?!tJKerBUTyR`)=PZ;- z&SB-|5a4EEoG?!<;^jc%3>gJYK2(n98M z#Jo)0L8Wc;KZc!8+04#S1D8e(ToyGA=27#eiRb>z(C*7X!a-746!!||UZ;HA)P)O$iaT;|kkt{fTO2t& z963l}S#|^<@RdiIa4C?ad>V-Y7fCRRKPrk6KyNaN3IwePN;-0Xuu+JJUEpC90P;}; zQKq0`L8c^{WwS7kpfpAEES~!t=83+CE=87n_kStx|2tW&79h-O<^!`DIe;>N>d=M@1Xvni_BPaHT!I1E z^1$B6tWxE(k4kCHqb;22+#ReF1tPb^$)`v@p?+myQ7q?0RkkShaaIia=&A&ih>Aiv z3E;^hVQV!ipY*Fl0SWaZY8i1OXr%6A}cJ5A4HnDYS=R{(;+le)-7|3l&TF+{RwJ=AOe>d0NfuNl=n7r%<4RFC4rMk5bKl>nLgil#R z@1BP?VWv*Km>0NxI_|(TZ^h_o*RCG43XGx5#b9r+4P)Sy^e* zx>exDud!X?jD0D%%};`B!9VBP4?7PVGI%C9zcJd>9IQ4!3j;oXc5ko^ih)jGWFb zrcHGdgt8K!p!RajSod)-Gd{DA$B*(NY4%4vr!y~ft0itBL&-_zcd1pnJ1`lrB zQ?kkII1Wd#p(CkdaJa7q1FP&{#6GHq*Z9nVHn@k8_Z)=fSZ{ zQ1;;20_H-gy+&c;SWI>jFH0A-Ri%p-l_nvM87uDM<{D{)8!H@c2XUpbkc(EWz{}wh zf~2C{CCsl;ch@0qzl#RQmC#HvoVK7w7c5oQEcT>Zpgb%LC*Q zMG<7imYUaKPxJ)&{v5X#Jq}W(v2zOcj*%|vpYn5YsG!)gcT*W%LJ+~FLX>MdT1kiJ zrvUse#vKi7xssHf=L&<_=?}%rIS?1jQWb(!&4z5SD&q(_uSL;b#rpOMTBT-xg2^p& zmfAiUEs_*Qj~;kSTIKrz>~rZ40hK-<73gVK6oP!2rf9w9VerI2sCPag=q;Sm1(IVz z&!7nq$AHNkq0w({9#^)loNMWAC0fSIWNiNCT48{Nu|-(9a|9$7pRZcr!$rr9*)$9r zly+o`@S8?!RKp631uq&kDBDb7`}L))#T7H`RyRw4Sgb9ax!v}f-|CpN`kE0aL>N!- zY?SL#!fOR_^N6L`<}ZsEA(KsibyY9ceGW@Uy!%}KB)Tu)4=Tik{9ScETpQM3bzUB3 zRj0oSwg3>;hXes2FswKPfItBv2mpaGiy#05>L7vu5U34fyD0P!0K&x~K>!Fp2nivO zUB<6PJfj|N_@4mFVq`s;BkRI0{|*|1eKl+s&h>xW9)I$0VUK^zY+?UB$FBJjUD)+R zMY#W-LuU8$-`jsrxu^^{|L6AKYmm&H`V@)%_x#yp|NXxSBQcJDJ*M7M7!EW0FM&C^ zo&Ig$yg9RTI~3k-%#Y}@IsWE$14Vsc+*}1+&Q@J#xR#i^zR)7NzR+I%kb4GUMjfBR z8{e47O&$%K``EHcIQKNY78lv8yRe1B?@}x~)31qI3CC?W*sQxNh!KBm{rMHL1s5YQ zi1XOKz_SBoJj#JS^kiORuHJnATlG!q@(B!3$~4||H!g;^FxZYdd|;_Goy;AJDB3u* z!hNUqvWx6gG;?J|Hl%(0I}Yp+Fj_1TvB~78pqabZ9XGfq!@J$N>n$YXTDp+TopH(B z(GbPq8Fm@qKYcm45dh=pm!Ewlwa0)5BM{2e5b@aKO~4T zxJ`o9o6kc08FbwLETvMp7%;pHVgak)N!(fU0n2`(djpa}Yh110ME5mJ8p|^3I`1>m zcmm~{M`N?-d$Ds8C)KfjgspUb7egf>49iETIFyAGCV-hQ9LF{NBFu!YYvI{V$B%XW zkT4y<*Ab?Jt23|1Pt#dp5X96kH!w}MXI)% zS$X4A*g-T73&VJ=65kqVg!SiFWp9HuMwP@Iz_+U* zESEE_0sSl&F0J)q*4%jm+{XA;_}NZ~t{q>pViydoI@h2TI{`Y#6G~w^vlkOgU0{+Y zn3(a96tg8jD2^#aG8`|s+&~^2{L^p4>Kh%Z--gvUIaI$5t8aFwej8Tb;!yoItp1Th z^$UY#&t;aj`nm5QB}cD8OM)Vdx{=^{O8xn(sH$cY{4SQ{wweAaCee{tqT5E}00i0m zE|zMI`n!cUc9Ato7A~{<&X0^}pZ~-**~X0ms6V@xX7nOI%loc)`7(ba#__WpQ`lUD z(IngI`yQlWQ@9jWeX#jqv(uFUW;yzir0Kz!=zNuxy+9h}H6bL6TJ{!3XVai=J(m3e zDERpK349mY=T%!L$!kmgt#;;YlTgi^ljv!8>%7)j(%jn63i7*H`NJqiMWP6OS}S^U zZb_{2z~&a$CU{_ynzv0yYjpJ#>@S&^wKgiP^s^auGB&Z8p{W6;A(hH=bE&m%_(4R$ zTJ9*r$dj73&5}s%G?<7zD`emuDWO#2nu;sPC8^04FDn-9e2n*i=ug!j!~9B{%2o`l zd)cj<3Gr=X;h5sBvG^uTRE=$Y(%kOky8T&w@v*AfyI*!Cix6VL-e5za03w7ajIMebW<%N+bXAxHk3WHTA`S)>uIYt8Jq{d7b$ zs8<;c>(<>ggqp(GLYr+I^(x!))$$(ku-Vi+aV)~eY#8!dpP#oEyQ?Pu>oEoj;mzKq*mE!s^`G{)s<1TiBXvlR(cPTOUF#Ly?WqK1u8w0cA# z)&+SpE_mm)*3y>R73@P*DA{=QC`51@YpQw~ORMu;Y?f%n-_D3(NAB<18^8RE3fex@ z$-VVZuwz8>P-hfui)UGm$``+i^@08>+9Rwkw1X?-JY$7Iuu0#9me;;k<+^m+rDg9# z(X@MYvUdUOR=x9oKrsbFYwy zzB6V}1nu2qel|amRGhSvuJ}O6=9ejx%23=r#w?86`6Aqa#JOQ;WYDYzu?Tx{EV@Pz z;~ghEpN$BJ~$WhxzU7WsuNPn!N-+Dna8xwElU$>c?}esTjmJQ4__# z276DtI%fu)(ZhbZria}z_cXQluqU=W?1XE2)c2wc#tc62tsZXX_7V7pv$*)&#HWXw zxJ`6FMik#bkLx$l{e*t)TQ}VsiPUue3_of^G1B`l((Xdd0LlRCP18v&eWYiCL9U9!gDr-MbjsV}@{i1A6YQLgdBP1=NG(3n|HneGvi3g_!nT?7=h(Gm zE@WBh+ESLH$=y;OVzyC5tKevrSkHIb4jLN*ZAse;<&($Tw`BvBXsNRc`R$v8Y#xu} zp5v`&^hz9wZMN6FitapZbZiX#E|yrFCUrCQIK632dp3-2=c!VgO>}2mQNUD_rsh!$ zxabhLZE{$8bWas!O431zov9DkWW$+yJhol55cBgqaubv;bVqM8<>AbHc{np)uD%No z4@$3~&t?inXXg8S%glV?4E>$Fc6Q6<6fZoeiHg)Zm0wIys93T+=LSbDvIxmw`LiOZ zR4T2iRoF5WxK&9@;Wh46)|xfgNLg*c=nIC((4O{8eYi8HA!rzK^AjVsnm7$xYrcnW z1+N9#^!Lr(2Nj&bEz*Je*y|)9=(h;(xgOYV2UnRouFTqj3>PfK5_8Wj^{?!2Hv!?< z1{>AZ*iNIU2D+#QMx(Mw2Oin$Z=)KtD5!Vw;1YNm2dXj}h+!X};}FK_$(=e}HMO*^ zU!cfMet>Q38W1ysalySa$q>A=S78gxP`~R*@MVVKb-kerGL0^dil|Z+>BtPXDh*#0 zG%n1H2uAo_KSxk(Q615YhKFz_8{qqa(6ZKekj2x279kxmatlFbq>ExCp8DG~1tV?J z>>GeeM$l#h7t=oo$q_ z@#95kKD1{*4(_DPK7;Hjspb{6TUq|1^?H`%K38`cboN5FEXq zNp14jTwqu`6j#j2jjvBxxt6>>nVSW!raV{EoLH_M6xsCa7$=Ar=iddDeWCsCZx1~T=gP1gB*?0zP3XO;Q|NV z0(40jAMShUv=O3R$8H>KJW!rs6IUYp5`s7HibYlKPsh(r_D9L6LE*8Pj@=-N9eYGr zZ_A48dTVJqQidktl%QA%_@_PTEoiQBF=Q?geo z>_%dV442F>6<+@>BGFe;q)VzrdWqB_0;^^IeZXX;UEM;VJQiA`o5XM%PyPl~O~o}$ zbE?$jae`)Qk6OL87`mr;*!cxSp?_pgY=x}V1n+l?gGhRmg`b6xbRG?jRtIhOM= zwU)z24mtsnwTTlC+QpkE_+6A2#B~#867&19TpWD$3p@C_L9t#tEz-ReT1MtYKx`d# z!xCe);cW~yXl@P%vx>(>jIXIAPP=yY!%|cCiwqRYmZD7hT|{EJ{-E1(8#n!+|79%u zezpuOov*_|DIg>FKMo~p!-|~}SQW=q@YRT_=?HveX~z2+MjY#Yi7~{xe~lmZBt$jQ zEC2*~aOPP+t3SxhKo9%@BEqq~&O4Cm?pG)xyN27oW8E)P0QX$BLbuChTl(klr4P;M z+p0^}u+&R6I^VG>lP8(O900Z&E=P*(l|iJ&j>gVSKlfvJ4Y%p`O>HPUmi-IE=tuh4|&4pL-Yny2&J# z`%?%`SQRVK{RsU4$3GGJIevl@c6R(k9KYyTgOYqqafJK?C-igtL>xas+yB`8ZZWeP z^|Q8`iiF`N;i$zdjL|#7;gEk1YTya(_O?Ruf4P}K?rvI(OWC+OrwXIbA&wT<1j6xMiK!d6amN?!c8A}}cZCL%jL-jk|?_$hx>|$kf7_uqCJZ^1r3~X{G@6br}9M0u=3=nLFK3xJWrNTuWeZp8VRIwjiPfDqw`Y4sj_yLeMf|&+=0=1HLVMRGg7_K~l6!@cavTMhu6_fVmhR}`k0frY5cavjng(ZXo(I2%$sAmWcNPxMh3EY+ z2(l;sczQ3gZI2suQ-xi88Ei$#&wp5Tv~y4!LhSjNq)s&^bv7;~I2AeJh{tp72}d3< z%bSOLLPkvtN*Z(TA;U2^d>=nJkVOo99Pf^v-I-tt!09MrY98gt7(xF5M!?XVKlm~) z(EzwNcTf@z?}HLqDkxr*ds}h23YI$sk)-5i@ts$kiv#D@Jk`tGN%Ey@eSJXOx1z~} zQtXPc5I3}x+3{#OwADzp+e}2s0!1u`~d-GqI1XK6>jdiE^I%Py`)( zRKB(0y*UA)56?(0i@T$h0aC6rlEK70A0vq8e#_wsjsvh&Xjn3;lJ@42r=W774nj8P z`E@Lk&)d;E_j~e`=pYIhovF#Tr!QJ`-TI)X71oF%M?( ze5e(dyO)-zMj7ixsKKNIjsxLrO)aF>=HAT*;!(R^feM681O15_INRHV*cpvFlvPW% zr*Blw=afSp>S%fTfu~=T z=btvNsGR=b=^u^jA0bac&H(TXi1PdkJeb8mNxTD^rNa3PdnQj`yy^CTe2MFf4vd90 zAgnM8RAG28oo_H)H8a^J#Fi~YbBDGmZf4`V1miT<=A(hbfX)^}`_q)jwSW}M4Z>hf zWjv7^DFV1Gp`+CD#G^dT;ECr7JUAG!pu~#LVB9zb-YI^Y0iFh!=LixZ$O4n*8&-c!Ped4qTdQ4CPwvv#oO>7i~lf`IxheLBo z8$BQvCXY0gphRvA7?Zg%AjBiA1EDD`VQG$a99fr%*V(fa_PiGMOynlR56?{}7nYP; z-DiIU`-ky;i#cf@8&ia7Q+v{ML1IB!(K2T>WP;3<#5_nE-`|McQLytbWe=^TQud@R zo=cA~1jz;1q4XaZCHjy#to}e3>*Fu)+o`uO6KU%BqJCugL_HTA(

LAGPxOHwCd)!2IdEY;K|`YmOVY@lLxCpOt5<%fY+sv1nvWj!jD zHo&BIJ*KrwBTTJes%*3?@0G*tuQNhrW94uS4s4cUcAHfo7-6$?M9`R%@kfMtJ0i^6 z5w$jNM_^1bhf0iq#Jt&p5s~ybSm|L=7@?-o7KN;eLX#0?a#cHOaPJ?N4Cz5nv>OIkcig``7>c=9}_FW_(Sit+}o|9<=F^xy*!MLav<6 zX&V^Zf;QI|wEiyI(%>jFjcJ>mt%8Z2kFnlO3bwMqQGu;oSVK-+PYiv8o_}6YH-yUa-z=G*Hf#Azb1H;7Dhpmvwp^zC7Av2-VH2j+x z5dtij(Obw?5;7@;0R&7o&6;dhFiT5Vu6=I~QT7fst^Hhg<#YHzB zGTZaLS|w=vNDgfe*6oAst&c`At*<)dXRv~+P}sx{P}PZ`S{Kc$q)Z#C!*!?xwn_|G zGO8k+eko7pilACkc>>QZpsS%ST#f6%Tag^4X{eRV#=*m3R*NQ{QfHrq>Q$7j05w9u zI!q-foW%;qP)>@5JgtxEHgsQE~#Zhky7Z+I9kUvTdibP^~euJc1uVNex z&@ZjJnT%8s#}jJ#8aWrmqw!_?zz)`aCAeCpFeU_?ALs@py@CV`!igPx4q*d1XT^pW z)VcCoBPsRKX6HxKfD4h7ep@85O(F@9cbFwgrQ1(O9keBgbIsxYs95J%)O6gPZ7-?H z4FyJo<3J`?2rhz4=0-YX9eqYPgnPwvgB{Z7e%F$S?fS{4wS&qItT)RwnYnP#l24DA zy1b+Mh$TIo)U-34T-Th7M*Mn|<=Ap8AD1ElCCNeDIk$Z5q*Q8P#dr26jxw`+Y&Mk| zKy+Zm^0EC=sRqIg%f|+(R2{*(mi+?yoXO&$xz(EGik>sE zA3zPw#0mi6!;l~Vgg=J_0U&%75(I$omyjR;gpWgl01!S22?D|+H&|BqD?D;PN0sFL zA4FogUl0quo+1L<&_?s|djo9L*&p^PPDYO+<*GnRMh_(AYD9?~OUl)e63;d8Cz0!i z9~-4k-tj8JP8`lF?xq%YF^qO`hbU{Hk$p9Z>jzjaI+V*rg+r7hAm4J?bEhNqCJ~l}ZIc?FqanZ;1E2^p6s6JkR6Cjb_iBkligc8WEzoHhipe=l0&8t!G$Lh-A-h@ zLv|s88Gc4Z}sn~FvxDy zZ6;Y(je+}h^+hn0zY1Lq;53?Z92}ejgzc_=xndj=7(xxP0B|sv2m(N$Jwy-y0!=4^ z01#*-5d?t1+z~+l2+Sc71c1O?5!HMJ`n_f!0Zq~00=a+2m(N$ zjYSXu0?jLe01#+d5d?t191=kQ2+Rf%1b{$Giy#05mIV<6fWQ(Vf&dU$E<_Lj0!xPo z0&G9?7RvXH99JqA^}hY&@3YKXd@tm(0~Z0*BnnmZ4oX~-qiGmiQ^nlP zQiQu~CyCwRPyckQTHm&xVHqAYQzg5J4c9}MRly~exNf0a-a*{@Sz$Jlv%6EPhzvy( zRdXuZ@9f@=3yq;{)UbLk4KUG$Z1w#ne;Il;$!U$%Hha~Fa*o|MeUbi~Xp^HbhtwAv z&h)#6NGz!zdzNxJ`1m*En{Q4$v1dC7=b@4rJ=+5s)B}&69RLlS(X%6dR@13n(6bYM zhSc8kt4TdOlbUxH_Ur;&QwJFGMe0_)SF%B{3A2ny;A?{ViAwB&! zY`5@`{eg0a#Srs2J@+q84!Z6_-z;3sGO@(&Ke``sZf5@ZU3-I?y$n`I%9w@8^?1!W zmAjS2+IpS_VfYYi?4m}s3%dDJ1D0FBQj%(Uq4RbDmOFPF5Nt8CqH;fy7$K<*E;gI7 zp}da9Qb|mo%~FxQQUR!xV^gf_bJv5ec0m>CYn-NJIs6XNaSPKSBgd5~M=@J@z9pY! z*s{r)O)Tg#D{cs#T~;*$H+>YJ8_V4UE#h;1yaaaz^|a63 z*9y^0F!s1ISG5jgH|5>{KCA2T&=u7N>uiN|Y&F6irV7vFtY-C`*avT9YkIDmhG^af zhhu7FBx{ozoabe!!0xphAzoT-=0k(!7&|&dO2KY5R%aZp;_7Dh>bzdlpwvw0Rqn2V zvg)bHSk`tNhI`EKZxJt5{=G`IPFd``E2!kuw^HF#NCpn(Tt(H&ouUzKCT`P9ng6cf zL@3yb#J$hwA|j=8;&j`oKL)Svw$6ac^O|6g;;&~+{gut9T^EQt6-vjDe-seE9soJvctbWGf?S0W-J{v+X# z>7<7Ru9x)Lw{B{sFrTsIbdv}oJ_YT2701mBU06_i6}tZ;D?xpikXmeR26e8swHspc!aCLQA5`AvZC4r z+s2Ru3H+Ode`u7=q*6+D<=!>L9Q*WAq_;Ph#Z=!)Cp`-ZF0jiE>D-IoBB3_}Z$Wm{ zJG%j_TXS2bFv6<8lj*YyR zqG6sh9e9|O!z<3h+0hG|u+57g8+*GaIAsSYwxuiZ+L9V!v-3N7Hg^VVGq#fYGcl{@ zaT2t~X^`C(kzI+oNEcOz*QKn?5HC%tz^~>A7K+T6v8ZzzLT0DK!K!}E#p&9M$CkrM z*Ihg|R@dC8wz-s4i+PcoEH&#aVb)p=g+W9RFH*0+DNEgd%~HQbmIl>Xbj7NE|2AK& zcdz0X%{JTnvcBVPT3+A7x*Um+hZG8RE0P{RjK3D$O$`T(ix5&DS^_}WCnN|6NAd7j z9C`=<`@&C9 zxNk#wk98dZVyr6%*WQSXqRXOFR#X$~IuulAAG<@qlAL)hNjA&Gac9+RD0gL1?G|_} z$(cPGj8`StV0ByIv7}xK*w}DimJ3#rs<}8-dvQmq?&6M80Qdz(^&ySYYfQdrO{;0O z_1)KdD>&a2RG}@~52+kA(*BmL-VRu4N(M={6*0iK?%&v3JR65-_^%V# zI*rG;OYyv%@-M!@LA8kx!U8YAn(iYJAzq#fJ0Yb#-wCN;%(dUfkU-R>aT20jmVE?i z=w`XG=e80W?_)!M(D^ugig7a!Mzq;`0gsyQjEsJa#!hx0MYqcSSXwvDi|6C%kEVNn z{GjRPPjdy{#BD4QL&^r>m_5#OQRXg|;kjLu*TNK2%H)&b5z1H~8L_!GmhpZ0>K>VF zL{i7<(LCMxwDfTTs}yDPaEFEg8QQ_lM@q%!;!W|!Vui5@Y`PErhk-kun7bh{x9f0# z7?)fQkkoQWVTOa52_(oL`2UmF`D?#N3z)6~1ebXeBds_T|V8AWUcK ze4R3R5UhO1KF?GXWh&~$goOxA+GHO_Ak5ur3=bFcvvMs?7}e3xpD=%;f6;K{3;&TP z3=^e=GD0~~*H~bg!@t1h`7wShm8ebSs$QKP0l@*4I(g<^qLV1Mw7wW^` zFrM%?5FSrn58*XflD5-JnRvf5St`)Ws)Xk*0S~Wxu3vx|KdTWM8Pj~2 z-%#I)F=}z+bGJfbb|%2?LnymngQMS;r!NQ8P}+}g-uDYb-JbVVsDVXcusiY|4A!r7 zU=a>;C7XA|7EL$LMF`(!tbw^pp&u}{+xl+bl4t%iCw%=nlDKi#QTjI6XN@gpune`q zbIRH0kf8MiLhYu6I!jR1+z`r5x86f(yK9I-^+QRjMR?{(BrA)f7>ip`y;$lcT{SzD zUDSF59>No@`` z7^QHIKelY6WYvJ+rphv`bmR1Yed|*}Y2COczp}Wtvcxu3=m1z2(TS)?3R%4?DD9(h zV{vlw@hFkF6XqUjU+yQReK!lXZ@avtl()Scjlc`b=LdaS>@0Dn0=qApr{X0qc;R3` zko^@>Y%@HlNUCuS0y}r26X8Lh9A~BMXy5I`s&9QLywtp|^%^_^#%Oek(8{f;kyOod zRhH{;m?p2BZ*4DMu2&YOwj4`cFBVQb7FgU=C?mBWA2v+ww?*VxgH+wX|Y+1V5 z!vbc2Zk8Ok4vIzZ(_w|~PLcl14GUO$CziuSELw*zAUH%?+<>+36S?-yzBjHl`8u?T zI1u_a0^`seYOwtr8$BZy-p(_`n4WAKo+c;oP{Gl0tdu^9N^qY6gSsaNIExwX@5h9_ z`3d3(FN)!N44;(7%5ZlIzu|afNUH~Jb$F`*5kzJ->?Iuyq6Tqy;r*fvUV*UJHmQws z3C5nCg%F1a3899Lr)E;9sha;RNu?(yQl+f7ZZ}WFNUaZX-o!V{py$0Dhm@cxk_}Uv zO5`S_QL!SGX%%C8We1**Wtt|I#jRIbWl|$|xskwy16U$^8r}=>Xq|rDOTr-k(vkJsVV@EP`8h|{Z-?Fz#y6#( zeG@GSUk!cSrmV6&Ks_*UvI&t6zuD($GJo)bI+}-a#y88ETs95F{$3 z78L9X`8^`dy-W>4Kjq=8j!v(gH(50aYCc&G=R-Z%i`V=I`ZMn0`#ckPK zfQNz$8oTmqi?d^2P>6w|TsW(%;|ELAM3e!R1zDzmF&CiH|3VqMJ8F_%rKOieT-oTw z4SN?1n9mnl(V6=QD|?yc!w>zI*{nFhTE};fTl1H`{zB*N)C%p2UuBQ;?xjb_W3!@H zK3ZXSuphwXb?%LICwjBzcP+E-0YuBMKdYodk8ZG;Wf9zTOntT_SA{SXE}ei#dAW;h zG`&(V9@qL5OgSDGFctW9G4Z3(TpB;97dNg*igNR0cx}^C8^AJJ2F?0#&P`V(bB@3_ z*i~(?o{IZZSSUFI^8#zF+BNpp#Fp4rl9z!BZMtK{ndtFtkaa^bg0TD!q%H!pFCs9T z|L0kFcU1Gw28N4MFMtW{t4#GR4TXL0*tQveqZI1AJ9M4_ovVx0OXBKd>YkcdR0G8c zfP^ckzp0_;ppb#vvZS*7C&H)mNigEKk^p&Ft3@QJ%rM4-ZyAwf2HIygn6&a??az7vi@7vai zqG3vfEw5cGG5pcov;a&P9~}||fN)Gm5CFolAwd8L$Ats|ARHeO1aQCc4zLmb!dq8P z1c#sHnA`6nY?B&O8Z5=8EZpfq9=kSSw{7rg4@5+AQ*piiuWc%>#Q+^E=|?uL#rx42 zW+~nWYm{}61@4h6J9t~|I4}Y%#9y!@`yY-s(68$cV@$F|%)MDSP4`-AWasUc*))@@ zvA@*@fw&cH<)t^#Ly6ZOA`JE0kK^k>`B&+-S9vwgcQMzp)L0USZZXl8^l|)zB664(E?#(MKUBf)lYk>#5KgG5GYP&8(#ult+4VN& z?M{ZLk9AuH$BwPMl7JT@&#ISi|dLFdlEN85_P69j_gaB^Abn zi5PmLamHK>p#WEjAr)7-X zS0DpTCoKAnP$d&hZ0=O2Ns!teQT?<8zj3auuxr)ZDr6v9%0GXwTc!8o7U z(?o&OW+R7ZJ?-g3?LCae$b#nGtTZf2<&(%m)j~Frr_!u)jna&wyBINLQiK>u{`60x z_2!g|M?VW}Y$eDhSV#SM-0)7(N0G*OF;Z0$-ufEH^;lawg>05v`{OEyEh(gF3dW5m zt}(HPd5%QuBkV|f+EXr#W##df;>wuj!f+c~If@xkPJWd(SC_}@gl;7?+4%~7Prz#a zr0>JTP7i#$g6i~eNN>XoM;u6k;>e_$f#R_P7YXnh#zLI20C&;gyv@YnF-)pZd?pPD zcf=^FS3!vJMpFW8`NBDsMEk*gD0vZ+As@8l@viG zkf~Eq3n}&XU>Rq5@JQ!bhm09v<7^%XHY`IV@zx>kkH90KAp>5qrc&sOs89O=Fx%=L zKSBYE#Kh{ji+;3nz8f`6&N23V<;na{I0EE**f&dV{7ZL=3aC%4(0Kyp|K>!Hr zLV^Gg&I}0xKsYNT2ms;ikRSkr?}r2dAe<8t1b}dENDu(Rc_Bdn2kc1;3x5o5sVug- z;nmn6ok0szmYoHG!^N&wws4Cy4V=G|tJO57rcMZE;Xpl^Z8K_ZVfDU@_(q0Knjgl{I<`CV>aU(v`J>anVDKo+{%<<&^)%MGqtYEK1!CnPp;e)AQtd#P+x3Mr7rm@m679MY$1DnEtv`Gp!Nn2y# zHT1j(ZfOcVs&`eXnmDe!#zGSg3kzC7+M>P79ben7VR38<0c3=e4Yp9oh;I`z(aQ&J z`n{_HtFA_Yah*=Q`x+qnc>JXMT7sxcBxy5d_YVQFMv|fmC;$YqiXZ?4ak55+K^O@> zZ50%c4+7JH4fIzryx&M6YKqyQ!Fw$(M@@pGN^BT5c53Q zpR&h_b>9Fo>h_KNS#=X!n@lDFeWcY`00`HI1OXs0u+k&|1d0(sK>5Hb%Ar&d1vIR{ zh6OGK>l+yR2lb9ir73)f3)0uPjlqi5qI(IR(zZl>Y3UkZ-+zVWcEr>@DB?;e6 zn)mrPd=%>V?AW)!N3XoRJRiQ%YHHMBY_7qULu{@=FFvaMZ#39)il{-Y?Xs|(tEtgg z_suMGD0}+l9t8c5bp~wwOY+_Tdc<$maJ{Q z&v)hbe{(OxsfgnjC|ltGHNQooG#&0?@YL?Av6Q3Q(_AZRI^4p*OPFh5-I7%2{wQDA zZ=Beqe7j0V+h8Kj?$hShTv!Ry4F@1lxW5AP90vC+uszx%+7db0DBJ&Dbh=2Jo{A*b z&2y$DUHKl)Yqnm8Mq<_;JI?al&b(5@c}(l*v7;x9-KrIXFz&cJ4DMYR@eW;W%ph#S zIP&{|_gJ~&kRuN2B**ucdgfzn%p1Db9;WAD&tODjhHkgl4%^TV_&!5{&pIr(l+5_^ zjj5P_#fFhZyQ|!T zs!sFIRn&H5cTsoJ>>&4%ZpwVIoBDiyBHgh)bpO>up6%Droxg^Z zedSI#necXS$Cw>Yp|qDzp@cunO`rP0s-&5ADtUe@_r}u+C(fYT_Y7)l&Ln)o+0U2I zhSriSBWsYmSu+Wxf*A99cVKDQKf}9}kx%&C0M=K2o#IR(hsb$`u(TNLh>riUcgr3CD1Zq$H?y}d^yvC7oj4oGAm4t{5HsM1!j>p zK(qT;Nld31?9ocUfL{P?h&W#dHVD{oVIKioX}Zmrh|H7BWRF_MV@$&-W~w+VfL#i# zUD#0hoo06OieaTz)X{2KbAMqog?-;F^O)~*fhF*|=MjowDX`n{4q2yS=!#9k{juxK ziIVv}U_SwNrdI@+mm!8~+|d66ao(W#t})k%^C4i50`xDXyTd(`~h zW4@mXKhAr6CC>B2xzT(r>?&ax!=NZtn45vEG`}=uej&%6GnGE2JS8d5nJS;<>}7>} z&eZwT>@A1&la!Bu9c*4OGlc!qVLJ&cNzm^Vv%6&W2WHG~&3^K01C{``zp&ka9cErP z2MOC3*h=%JIXc8aj;h5gZ-rPv<^X3PiX z68SwVzYok0g}n{zVDm5Y6JZ|#+XjuxDA;j<#)97Vl3HZH)CNzOBc=k^f<`cy}!J975Sckxl6=r*27kjh3lZ5Rdzn#1bgmnPh z+3ez7s@RvLT9W&C^StZiw;X|+vclSgo#BlUHV0T5b-zv6J_wgE=XleEEeCeKcZs*Vu;YQPG?#b_;)NW$ z%-dI(ExVU_OX94zKfoFPgt^S)`GE>^FT%ZHHh70i%FBx3T8}TJRG4=W`&4s-ccQS5 zrOPAUgG!MpV*B}&w^4rez!JcIq4bRcX3VcVEGacAmn$>V2yCt}kLfyz2c;G298vnAd?(&nJK-fPEe>MXvm@i0$qN zUY`X0{wgVd_A&~#5WS;0SQ^K_O`2FNpChWU@qp%?*wES9s zWRg%7MR*nj++OR_JP|f zcN)tW{toc$%0Ix}t@2&C`&N?wm`ZB+-O3NJEHp9G$L!rR zJyY-P-7`n-E^_ygdxYGR;D(&%XQqJjD!I4IeGG2g{3b&U-_LA=BK~=1d$`FeQifJd z0X)8nF;1_l2fSNVA&vVBKB8)8(2tXQswn5ny;1JtRZP*Fa=($B7aGb?V1D0F1NXy* z2Dtxf7zVehFWnZoyU5*N?kc%w_U(f<=X|)Za6iVlu3tC!H^3ci?&(M0C*X!D{Z0RF zfA5|@$bC=lr*i)(*Bj97k26yS{0{ES0dKSk!8B9tvHxC`k-sc#(Ck2i0JyHKtTRX;k0wxD@5<(}}2aaPdj~z#? zrie0o9OIoQcR#tu%6D?>U68qB>jQA3GUvBGo{!7Qw^m|)&FlGjD<$_G&)5gcr5)z= z%pcFvd-!;2ezNEn$h~?z`ESJT1LnwtlxIrYwuW0RcR(BE3~!SS+n7`Ba;<#|IlD*C z{0Wt2kDkSH4}v?d=iZ4-^^+4B<0})H>fcYKw7-fTZLbDy#TZA(J$NhftlEk(o+8-V z{L`%{XY8a?(_vXXeG+xPNbWUqZ zAD>l_GiEl^HE}k};Vi*>$ek~Dk=z619zL6~uyzFI-Px4c&yai7 z4wP)mj4ee!7X8s3n9|?M{akM4j--s1yQAC#t;IVzj4)a$4o&R7$DgSP{ zKLaJeL5Ys?zzkbL`t&9HmSY?{oYrfUyWC|CZeB z{^V@i|H<;O1pI;djY53{if8^QIKH%`5Be#&BbHLD znM-Rx*>mXtxQD|H%vnoEz`bB;3n=>@z<3Xn`@#X#=eKg-k^7P8b}X@I*|U8@-Hu)M zZlAq-*2rBa_hPvl;D$UuU-kibo`>rh+j{?Q8RPnsD4#E*Zt(+Y)r{O>a>pE)PKFYe z9TcnByXUV(bPo}HwA|C=o+tNuxwp!_U+!aapOpKo+*jnjBliorJxR(eJ(zAkxx?g+ zlG`eGy4>C5cEI(_%7ba2@5#MH?)3*V6%WdNN$wxy{#|Zx2z{I6PCA4s{q#^uNE}AD zM($9#6Xec1jQo2ZM$Vrfz6WBoUkATFyb$llf}`<%bvQ$n96|Tr#oi#_VRA>yohElj zxmLG%f{&8hCHGvpKRRM(Z=AXLs7lP9-!1p2M{y?oS-HQJ`=01u%dKBQ-{uwMp9a@6 zN3B?gv>dnMT)3yKVEI3L#YKQGT5&1dD_1aeXDwyfxE5hObGt&_yMlID)k$B=W8Hf@ zQ-NoG-8m5MYn{X3zS&s_`(EcrP(JNsEOwk`$8wYwm`N)+>ey@LCE!^IH)%fI>e7m& z$*sHr@G{Xymyax4BaxhwQ!*!Ms9%_cML<#IEG&+J07zy=!---#?-JQn|;- zjrL97J(d=}>{!aVS+4ErY_DhgMBD4xe)IlgpNGt+#QB?JkzV&D`^V#-hlc$sp0DgZ zj1*I9UZO!9V8Lvm~ z%(K26l<`)aWd>)wtItZned(-XxaDVWGkESG&PuGUTU=TV2}|=>J+LG5*dVO#JSuEs z(E+7R_$v8@u*Zu!OY4EX;QUU4U&6fR{LX=2!n`ePZTia6vB>`qg`JYVv$PG^-<;pZ z(#cqR`pRLil}-be9BlBnHvKXD(x%*Dsj_Ln?BB-3fU;_X$uj+IOpGdP16C)_3(eHB zSy)4yD(pP7PuY&9)Ep`7oVx3}_so=;n}lsNlu~ByaTukPna6~!HTRcIHs$77hdo)g z7}#qLd#P+0*1`Vhu=l|km`@${cSs4$Hx`q1EAx8Rmmi8%vD6R}X!%u`1F94Du1CKb zbGh|PUsQgosW(4#*lp$OfZgh_pTn=g+~cs{!mq(R?6AMUudjL1VX;2zfc?s0wSAf} zuluUQvVH1-{lQ_A`;5iP?fVYfwoe zXsRt{&hB%r8D!cVc3q!pGsG-&*uBCo6n3)N*yj@Xy>l#3cs-?>#(Qc zH`a`E*lQJl&18ptUeN|@mc^t?tJ%x>9U6?q8`S$c?6{x}*ntlFZg8p@Z;o)-`d}Tf zV;y!Y{MyWk4torKZRRwKDTWE=5@8z+(>KA~?=YsFGs*nhnD8o}!+iIX`EVbbc9WG6 z*QU>|Jk`uLV;y#hut^TPu5vQ`W;pEL%4xuMaM)9oUz%;qJcqqf>3Q3jeJp0)sZ4v@ znvWdzugYqirH>D%F7JBOWqb3Q!%~@Q+!_6uFx%SfWXea7b8Wh`dN*$;Gr(a3g^hOD z1Yy%1wui8t9JX9ohr`xZ?*S?MIc$A(2e2-O{Ro^poAVuZfAv_**fh4UF$HG z@?9`zWHn=d%Kzk9rjW6cYyuOVP4Hx?Aw0UVKp^vz+Q1!bIl>%T=Ryo zQ_>S^4hQz0^J}kp*vvDZIBfTtCxHFaVasY(c)R0PWUI@{nqz^LIP7GE+rwlWb~VE7 zVfs1jv6@q{nmtU|De1Rr)&XmAezDq9&0c1L^BY#X4%l?(w{7iYv$vV!usv$00o%=C z``3=e-6ZoJc2sQ}u>BmirncMbFb6yA{MwU%9p$j=5N?4v-eC_T+yZlw!(N5oLUX#q zK8N2zbDqO8b%%J1%q0#RRChSAYaG^6H`(lCZg$wTx@o|EY%#M-U5B@?dC*}?>#DI@ z|Fb-Hn#a94Sj|$qdxN*cVH>>{>u>e;&tsq0Kj0mZ$NYw8yhDVsj+HjN>>V1x-tvyf zV+{=-dPnB5kqw@=B9Bc5rfoN%Y)ov|@R^78Q2lL8><#RgJa$0Czr5q}*y@I)e?o|r zozpPcbeTWd6scwCGPjJR_uBN;ed+gOhuzY58n6e2y<5a^tISi*@1DL{f0cPb*oEmQ z`nCf5jl+J|cOtMq*l-?W?=~OXaOQ7)r})@R)WrBUdQ9yaGu2^C?a5}b!06McZl}`bEm`J>~}b@ z2ORcsztjEo=5dD=^*_YRM{ulU{ znhzazB(TfOrw%(F*yYA+p`I6-lYw1f(hfTd*p;TjVTl1Z`B#}?qb+AJ;4c4a^S~I3 z^&fD*e~meAti^^6c-;S?X&z^>mI2TB*PHzuHg3SL{hQ2-!f2Nd{F}|et>m;;y3O2U zF|%Pn8+LR&;INwqeBs}2mbQu0+&f?$?xj4(Vb1`&(>(03H-X({{^GFDf&JJFm|(+| z4E)-^+q62YYG4ApICd6h$6)uF1JspmG#rE7XI`1caBIwffyJ@=&D+z7*|8f>l<{w4 zV$8ry?5AdIJF#~?VjIoH!fc9gx10VpmhCxkZ0uQcrS(hiE9`oQ9XYTKez!a9n#k_e#&WwFvdK|WV z$b#61W~}#{uVb={^XTCOPJB*{XZ_Gsw zyAyujm@6Ij&`_K?@~(H-Gee&QcDut~gP-T!>#+CX=XsAh><^ky-C8>roS4to7dl);jog%(}3+@!+G_Mb@2h-&el&U8tm<9 z{S5sEdxu8+hIyS9Gut&zGsCqdB-&3UH-&%7;V|#q0cjZpR&M|j4?iwHEz2UG&8~2L0c>d1flxAb{Hv2>4vbe>< zu?;VF=SYWRo8#gW^4RC~r^ct|F~4Dbd|R(NB6E({KaX7-pX2Q$?85Y}!*7Xi@9ple zgNEM;Y@y{eJ=k`*gZCX_8x6lncJxkh7{6C`^*-K(+N?1b4!#cl((hc`wT z^Y+>JUfyDhrN11$o43e2&|wuLP6L*6SmTJ@ynVc59X0`e`*=MLLeQf&_R?#N?b#t-+NwOIP25f7W3_p-x^vQGee!(qd+51S*s zKRIj){EqZKaoFzgJIedQVawrnl;`ix6s=8j486iDb{NOdE4+-bjfPrxdgB~Mtyg;U zEhqA!B5|~Ljtf^YvOaOF_XA<4qz8{22yBD%YaKZ}ah!Lf^V@FZ7+`lgzhyO(6UTe^ zJ8Ykk?Z6&$oGV9e3+!p<$Clv)??vawmf-~NccI@%jA_01o!<{f?&fuQe|6ZsBTobN zrNf?v-zqP*2h)B^`cLp%<&_Fsi{lPEC%V0dg&S8IUng(pJ z!`Nb;>5X(4Tg)@PR*S*b7bnj0<~hHK&DSK(^%gj6$L1BlmO5;4^9_mfyyXr%s`*x6 zoen#t`Bd!u>T=jc&Fg@j;xK->UEr+?!{ICI0`CHgsSUZ%yWaUd(>&H(=-uY9x0~C5 z-RrO~n|Jdr%9rxws7DePc~9o0Jej!Id&hAeGU`;b-utt|P8hWg*yj#A1AdoyUps6) z{4ViQ9oB+3!0%G8kHa2--=$ui!=8oTW!@l%y$Qd|ypay0%`W%GIgB>D+?y(FBMxpp zlDNXV*7~VjUm2#MEZefqY{+A6Ezc#c_HMP|igsw3Y_7@sEpB-^QNWI9`CS1^tZsQb zajkcUjlryLX*1V{;Sy)IRGS;TN32Zm2Q42YZtx!a|CoCZ_$rF;|9f_}-83MCKmq{* zh=Q~Lp#%suKtOu$5JD&tNJv5ny@wKdZ;BKF0YL?^pn@PpKtM$hP*9MfsHi9?sL$t| znIsn@e*OKv|Nrwm`0|tUK4*4jc6N7mX7292nl^!6$WHlMg;23Io8AL$Gv3oF&s6xq z-fkRGC14){oEMD;D(0bmc*%(AN-cQEL;LWu(Loc{`W2&xCaU!-#y~}==T&=`;pxWP z399EFV}d5C%N}F3CaTM8#%8AJqI1Py@w#Dkr|qVSq>7QCG)*%>Zx|mlQU6)YdDAd^ zP)ee5&VHksA`h)L9WbIb(Q4BHqlu>9Dn>d7jaHiSRf+<2*7SI#C_J6tTT|Ui(V&5v zXe4*YNY>N|u|r0>rv8=cIfso&nub?u44S2BD)KyHEY!3F+Z{1hDMGD-#ZhCQBJpjd z&d$;7W8@Rj*Eya|B|)dMsZm6<_&A$7fX-yokccSpNj8l^EQjWSFf;DSZRS}Qks;0* z^EAB}kqKI^h->z#u`Qd5IiDK-ytJX(`jQc@NSuzC;Cx|JWI80M)?XU6G*PXu8BH`% zt-m(fX`)(xWAxHQwZ3Hx)*%jJma&TV6-+75d=-}%XStPi!zRL{K18F=}qyr#94GeOlfy@c3( zBU;nDh}}1uFdg#H{O^I$QWMQB9vB@p(cI#J(MuE6?02KTCaT%*Mv^9)o&8~?F-`Y; zg!29{>ck2BJ0z&qe;At+6wzG9kWKq5qOrau+b~TRS1PZ@SNm+xbhq+4ywLdC07^Ms z7*)37Yl=JrnfOQt$i+;DczzThcMsw`Jye%`@^wwLNBQJ_O|(b(5N;e}VE#rsYaONCX{&n+$M4$Ug>h+S6pR^%yNHA9q>12k2vnh8qQR0FZ{a+IdJ zh?SRMec z9IUp(*;ChTE@v=ZGbq+lMvTp=Sv%QCk*8H;2HrM#N>kU!Oi%|+{UReod)Y(Nu*gVI zf~N72`$PvhMAQ7p_dp{wtwXG%9It5?VjX3MCb~OylJhjt-KmpY&UDB)gc3T-m6}dr zyDoCIN{Kyc=602zWYb4xPkEW?pzyDT)m~X<9POVT>q~3ABAN~Mm42FN9@k$MWKzdy zP<9IjSL^KNP>E_Ijil^Y#cBiHxhxgUtEISUGCZ3`y2EA3Y#Qf|l#ekj z5N)eXbw|q>9ZRaV+#Mr7V_GD}S9{JKC%@J-tJ)@aynJi|?ZYCm2(bxrRyMupPLu~V zt*W-mog`x>A|X=lthUdcCPz(DbhO$rcZNKt>C9GFeg^Q=6j>3%go&vUX*hDtfB+9z_o ztTIE9Sv|g7DU#tKQJ_rre)RVV<|; zZB1QK>wPkO9;I9=lB$0q56C{6#)1yY#Y~IDoa)Uz@5z4iRi4X0hh^9TB0B3L#ZlQ< zk!Mr&2)xnPj_DBh?C;BtnyB}FU-nSMD@yOn6dj|!{Ft1hiTd(ma=A`Pt4+t{K~2;{ ze<1H^qBXKpvdu!Oi@L9zmdlx_X6-#6%O@96Y^mqZ>Q&@9S%FE_?3|3yL^V4nYbxTJ zos*u$Do-l?Q+Zqym3~1ETtYD_p||HVxmb~hK6$+)S8JkAUN6awn&=bT%W}IW`o#9K zd{tAW8Us9E$hS4sVmichh({M+$V-~2UA~YvG|_$YOLlEqPkgyEQUF z7n!aZl;^jy(z2{p3Kq9zqio6q^~$Cr_78GmHVyOqB)4SK7|$>AJkwOq?=|WUEV)Tj ziJHOUf!wK53R*XPApcyc+LP8z|CAxC6w$h=VV2QE>!y}jo{8FXp2snd>lm%<`I<9U ztL>;S&ttY;qlo(Q{AM>M+AdfGn|-}v!R8RJSco~CX$q$dF(+qJq#0t)&ZbqKP;*H( zt@9KypJkfvdAlao4$V!PKB$ScLvyF5&k-wTzNYCr#EO~wHT{8Dar3CAJW(@1A8INV z)!GO*&uglPSh#srk)ZZ0VFo=zd#m=Zgjqz9=jEsj#7b#89+e3yujyLU4o^ulQq$e2 z-Jobqo?3f7rOd{fiq+Z=YNaW%R%_!ivy-MqweXgo*;^6UrL;L#$J!xfY4d#@>s2dQ zls2zr(_v3(GvL{rT9-A+rqL7aQ4STVIn0wo`)Zx{l+R9iq}CUn3fc5gtsguQ+4Nbh zyPnF~^i8clJoLUYmk{u4ttkG60YyHwTl4#ziVD|`@QRh;Sb47JH6KMaG^t$bDKe*%URO?9dmL{ro4Kv?bD&d+Bl~B`cqsX9rsA*o+MEg+NjChVy8nh2}%({wvsGiYg zGaaKniZ&COri+?&qD4LPfu_cFc6;iZiR&nr>7qlO)_5ni{uV{U>g4rlU~br^Xhxml zK26LAnpW4T;PaH}`x3|a3TSJ_WK%t#w&o^9d_QV$?$GpE9gG0YJxuBz(B6Dg6ZHk{ z&3ARm8+D?P^0=mZsC9cY=4C2xlJG>&F*}%>Um;STjC3@2X`;JDC-b%@>S?=}Yj>%X zbg$}Wn!AbU3aIDP-7MfmJpVw5cE}n=ocWCN} z*hF)Wrk;pRH1}yrKx~qEMAHz&CYh%dp(XnGOg3*bsX5RzGx2rRF5~J&iCJcvrup@v zLE|*7M{Kq^P19?L%{J$1I)PZGxm42?#4^oiHT{a%9CMSVy!El#Ywl!P>M32nikxfi z(GZ%*vWl>tlV_tfgso{V6_6%to3v)}LW4 zHCr$p67t&g?EOy0+J5!D+k@OjZJb5K!igS9@d zm@N(wsq6L)^NJ?AZr?V)W>TNhylei%q}JfyHA4@p?dY05VAf<(cgjO%{cPIfbI9z( zbj_eE{D?UsJC@HrYEI3j0Oy!l_z2g`bGX5IpAXEEnm%c88T6#49~)c)RbV>gp&9K5 zW;IPTqy50FuZh-aPnt6{(K_uZbGas3Yd&pmR>Ui_r_FvxxpdGipO4KnrbE0=`-wT} zeYLl=p8Sb9PZO;tpEaLhnl9{yKl+?Aw`s};`qbR3Q_}kGc{BK!%7xZ(?zj{ z_k1pz^G>Q5tvp{c*D@^?6&p(5%jRu>}pTpiUOMOZ;qq_9;y=T^EQltC(W(!U9 zeB>YI`RtT<{@S{lO#^)mYwh{0T*mtPTJ*H*ig&*u1c#&hCv_=sk)Jj$) zCN)~&8)|LNrssT%Smi(Clwy9P7krCZ%bC>LXi4i?O*GaoX|2~p>xw0zp6HenUcDz8%VETp_uNfXUN%3D=6QC-Sg z)iu#rqr4TZiJm|yZ`IdC^Of>eBPO*nTi)uTVmu2eZ&{aA&1e=<$r`JPW+9cWTy*OwM$(q z;wwcowrODPVxo4*6pgI6RE+2SG1h)XK5sXQ5;4|6O|(J~W1ZG1sU>2pbBcIfIL5l7 ziR#(Zx}%Be8EZveQ>D`$HMf>CO%g{Nz3uyy)$2ONrh7`nobqjH_19EA<~%4#(^E06 zjaJr3O>r?ZKogmkdPc@nk*%!^P4i=_gXXD}VoS_dzHO}6G`$mZ%eSp{ThoUzcYNDh zEpAZh*9=-s>u7CYnl3KHj5In~cQhG||M2Z>Mcky6cNnhKp{Zq)K7J#tnm?$N-I@&YOSdj-if@wYH`Y4-qlzVgCRp2kQj`vwY)!qR zXc}mmwdiM}LxS36hP7N1waW}^pC)RTxz=S()GqTZ`3r4_C+1P>g_f_TZK(A^D@fDp zh%K^;XgY}4BI_|l;$)N7#$qc{)0rlt{T5s4iqN{jVu>|LZzr41@>^of)RedBJkUZ- zVTdiYR%$AX*ivh~rs_>Q`Yp4zYHHN9F=&^jHi#{^_G;>a*mCPVO??nsVV%@81hEy? zc|}~amDX<$k-W<-f!JZsN-J+Rt@L}wDxOU(eb!nLiiBNkrQdpMgQj&&Tl#FYdfek& z#MY(}VzZT?>2;dhNc-B`Efs-(D;EK^9&0d)s>AcSXgq-9D>_rgE{j{ob|4FsXaM0c(jOPmS0N zall%mi9X>tU~SYyZ&4huwriqKMh;lJnbfBr2dq7s=+lqG*5^9qfY>PUzI98H7!?}~ zYV!xxY=M{>Yxuu!^<$cjm5gX{+}fyVW~^$5zBfi<8z_P3vOw z`=7FIWmAa%hgO$Asf6ibQ*2THkF4EHYNUF`dRN8x%sOM8QRF#_dY-X9({u_YoUyKH zI*ZsR)_0mNBld}PR}trOmV2G=BX--msA)T5KUh~a9Y^d3i@qU{O85q`AFZD? z`L@gi{h_IB%M9_8<>2jSN*RmTPk8Q8(E!BmScNoAN9>Lju4yA;KU-xqy@}Y*R%K16 z5&Ol8(sUiMU#y0jes9^!|E|?sQ&6jZp!S-|w(8}7&+4wJK4SN*ev0^v{MAZiS}Lx$ z9_Ih6H45*AQZMyK>uLUmeHrg#5(T%J=5N~<@$D%@36RDR5Jsb~fYuz$nbpcESj z3bgU1gCOcPR{96q1(~LL7PfiLzo1=A(}p%HK~HF+Cj$!El{C?l0fp?En&`=Z5WBu6 zdNLryZpNh6vqJ5bnrOTmYIoB_K2S$7lo?ZlA>4^OTZCfTiqniuh^e(spsYUyqnUW4FicGEB7Zd;FiU z>#G>g=F8eUnI;L}wlDaWx69Le@ECc7x83g_Vduj;z(i%*p75_`-_}&K?K%INHUju} z$iCfnn5T9&{o2+EsGCIrzU}e{G|Hxsb|D~Nyx*&iL$HXkiz@QOwZmxCF0Co0T_mWY zrYY?*L}R>8Tdg4){knbf-q?d&r21ztFs^sYiXdwGGJR%&k_%cc$i?QKu6Dv$1Jo$Y*@=-t51 zcBm%*4pE|uT|!f6hiK4~njY_vA-dXCG}Z2q397BB4PxEwMw${3>t?smG#at)b_Y$f z5bJLD)U*<@9(IDJ7ZB@V57qPrVm<82KSGxa9@CnfSC_fJv<{J#8P;e<0SoQ!n%?O=AJk9NC!Gfwi|j;AS2_;?4QDzeZg-9n zi|x6Z9&}zBu-M+rv{aZ~Rs}4v$A(comwNJd*%+|QKBcJ`XoX#-Xx2Ww9How z(9hc~H8t+m+Sp`w*VMjShS+4sYohhRP4+BJy}Rubo9%^~(z{{CV6W6P6WeXJ*J*mL zTPA3mCVE?Zi+xzr>)k#H*kXUI=_vBtVqesBrQ3TTU;2?f^n>&!`3rV_P4p)D3wW#YDRvKLqTuZ|PXq9=`_cwg-lDO9)zX z++&~9l-46syk_?+sbUj*)bn}W-m7VL44;^q|Ko+}A6XRwV@X#8azwtfrz& zvoy`iJI6d~Z_re^XQp`H{!mk!@IO4q>>HYD_w?jBVV8eg<=L@kzC0)GHkwBC#Jg z?ywi^flpFOb%(uR52&c>@=dSUJQwZpn&>^nOFUx9nh{;rL^GnL0bgd*FQKjTT*)SS z@8z03QRRZV#OJwgZ&Bpw(tD6`(|$=)U#8bJCH9UIH|_mQOFiRz56W}XKB8$=?w-SvN5A-=={$`)x7#+kxo(*F;8CzBcr|7o97#82Kz=TdgcU?H9B+4Nc->6q0x7takmCgyScG~MZw2`ZpT z#AOH{Crp!nTqdZrB0iUVohsQBjo(3R!E{K_T9=rPTq#je5OOj=J-W2Z^uVdVZ?en`87R`SRbdbrYeZ_aY|{bn}9K`Q%+N}glJHtCVC&J zuTw`8y${saX{?CPg=&qwPUXAErs-m4vr_2Ro0q zQLRMJ0t|5~YNBTWhB!4e)#@K5hC1~$#rBT|#cJx*|90Lar;Vn;{eJ;<)ikkxgh+Pc zG%e^K33^)7y8f+=VNQysUHxZ(#%MZ(Sc)@6(|N>FoJ>vMA(rYa*7N|eRA-GQ-vMXs zG-soxkO7~8UR1>GIovs-V@(ESh~dsDO}z$Xfk z5F6uE*VGHKF-|>ABM=+wG}W{Sv9V4YO*;`A=XB9@9IBi6m&_GS}jW4sD zWKHyqFSDFVOtiV*XiPc$`3iUeKKL}%6l=ej03vlckFHPM;1 z(7C6H&a8!w(LuEtomq<N`@sud>ii59Y;(O|)zC=YeT}U~Q?-i$vB5^(CeNeKdTgYXXQ?n~?Cw@&i zm2a1`NfUk+JKw9$RZV$Pzs&cVGpL(N8J7BWzBin)nx0I(lkY9(NOu*B0_}GW_Egj~ zwYBk{b2*!S@Vw_-?X6-R5If{l@5|(wmYN|BIdwHHNX-N_)wBk&!%k~W8xcF~bWy}D zc*N8B_>Ef!QJLD6GrT?0=! z%Qclx8yNVJ6Ww3Ms-`6ee(WS_a#F_!o^$4FicXsz_^C5xfJ)gsEkay!?hVYM4S|=O zgds$jp`^{pd)YxJ$`lX!(#d2}XWdn21CttGUv*ABL|2&9^Xylh+nVS}lB>?|n&|nE zs}6p!2qmaB|ErFviB=h}I{u0TJtJ||N!COw@?SY2NxYq)QP4FfQxiSie#7}e6Fpb* zjgv1~rKIOdzIDPi(Q_rYol;C{AAWSoWm8L^ADxVb9(dWhY zoEJ1LN{a%0mPOTw@(rWXr;Ak_E2?Qc$I5Hkoc2cGJ!c}*Qn4fLVBl}g$C~yvJstSF zQy_(MSt@2#yAb%NQ%BQhO)mrrw}qx%X;%XccZa45#ZCvB?nO;+q}|5vnYK+;xtt9= z9q4g;YucZ7I?&fm*0dR=`@8Qd!spXh1M|AKHT?t%bc>~NE*=?sAu!0Tr70-(_rL;f z*KBh07j#Eu)78Kb_jyglW8M6P-H)^BYG9aKYq-iYf0w}g#oU3Kih;u26`IP$7Rg`I zeVOTypf$%*?p{r_9{HI2v!>H&5$0oV$q|&NI<}9wPiE6$&tq;h(^7FhtyKOpZnBDr zt2jnw-BX&rWvV!ma}mEV)n;1iDHmHle_6MOB7D{png2=m{ZTpPMYta-@q#G#{}@_X$nwhBwb&&8?*AmEmnbH5H*h8|JC*&S5&_p(nYb-1#~sy|EJI zF4r-7M>!Qc5gG` zS%49DJ$2n4qiJu|bLsWm_m8DCR(o+j!Gn!B4d zQD4x)-KB~8g4S-ku{p=DtvgVWNE@-zzpYzf9LL1y5l`oD=hh#uXzGZO`8&FgO;EII z#FYG9+))!1y)j~b{vPgSO$SD-$=}D_GD*eGjM$pLpZkWU+n@pNUPU+#ujYT+J*LPL zHgaG7!R|+zDvo>=bdgCty_o2VDV(S0=Ew|@#E=qlrGdPIX&oqR*~V-Hw_D;j7Qm+@6}Ij*0~J z*YxbDC^6g}s_CUs(V&r<4j?wdouKIqVk6ucn&>%!k?wp=^qjy*cZDW;zF?I5oF;m{ zV3hlUCVJK(-F;aTJ?oI}zNv|xFBt6}&_vG{jCPM}qGvM3xF2hxXEMgPpJ}>2>TLe8 z?pKBh~(V#yyRZfp|#=GuRb;KH_M}hJw;_<`;cW^c(`%G}> zGpT3fr?`zWcsrz=?#yueDDr%t{(b)0?m$h}=sTccn&=xwGu?De^bJ;-?qp5$4OVm9 zS(@k@tme3jnADjy*WIIHD6gK+0{4_6@#N?~^DlDq%~WS{bI=y|jagYWs}S^#`=cTc z&8zmiziFa*)qdBUt@fSX$9vcH(?sv%z3UdxG-x!QJaWS{O&pDNcDJ-9dROnDTS3z@ zq&(=>XHqLJ2i-*~hFVt(I_&OdQr}T<)O|}6J&ADCJ*0`AM0nr*KodQQ@V0Qlps@?(drD35FA{ok{zCh`%@Ogqueb^@<<3 zA&U69(GT1+ny7a>?OxVI&og}FK0P<9tylVg;-)JS{l`4#f7YGEq()t5-Kmu2sq zny7ER?4Hv^Be^f#I`g{ng<(4d$!E=#4D#`esA)Oj3T4wYgJ+v{1C z|3$V*rP%4^f0;dd#z}l9*Bk8rfHk-OpG)_So=0v{e8KsA&H4WZH3hxrZiq0b6!Z?d zDax{^Dtl_PryHfDj)Ck|F>-q%Ed38v6g^JQHJeGY||c@f@+K3 zQu&L=64CJ3g0{+vs&jx^0N<_7+cx27j>iz*c1MmX_4a$)y^u!gIt=9W-ff~hDV$~; z)D$x~jdu?JxfE0Ub3MK5kW&_Z>w(YGzqX7ap5gjz;`;36`gqq_*{9h5C_T?PT;w!l zAp;`Vg*rrfXm7aP4b?uv?7^0SVg43%jx(3?~SzEDoV;#UsQ7O`( zrWnbd(X49Q7bemb`XYN4Pok9Tpr&{MYKfPjws;Hbh$EAvaK%ZeM|=#AkG^LAcUwK& zh7$Y!DRP$LGIGYR?LeilCsR!dKrJy3J&7$In~a|^7m@Jb*Ir;t(F$scPVDK$o_Mys z^B*{YQl_$hnucn`6$n;@EGDPjvj^I6whuN7dZBCb{ivoSX9dOriYoGl?jXu5nBENRRTd;-)cuQ8if+6u zey9g_0;frWT4F5wz5BgsoMs`Xp*xEu=+0t`_3$`??k}#szx>;j9_}Z7bU*pm9x|&B zQGL|EznA5-XYL;L?~V~&agNx<`w}#@6!Ks3s4U%MS0|G3i=is{8kP; z_$4g1m9}MDsk%Sr8z+RQPR1mw!&2)#UALxWvP17H7og=HN|S~)zwHl_t;zYY>yhx zyomnF70*wn@yr&Kn>C(!)EuEL%96r+4zdkfN%1litqrxrUZ|~SPy0A}f}`i5_{}Ev zJSx5SvB+(I!8v@*`uF#4b)WUVgFM{-KkB~laGy{0yv_Bz12x4xsKsMooBLQts4=k2 zpp>LJS9+EQzm3IFQYoJJi*1TZ>`{L2k+2%^=GLb;A3XGp`t*caqCe-5#Qv;)hDyic z9ZDPnHN|+SB_=`Dctg#0O`*o&b2;TwPDwdfJchKzYIq#6j<@n2nS0w?c-t2_&A+i} zmMz6DPOrxEw2zWUhNhl(#+g4+EJ<3&AG3uW+-uCWW z9yPkohdiYy1vNzls3qtd+3@SJtTP{xTSG*pXr|KS>OKB>)UA3C>QAy}?rn1AlRM33 zJ}#tEs98XcZHhje!(Tm?7~qw&I?8J9Kz)(PeGz`K7xzsmhR&cnRPNbC3UbJrP5kxx z&048=)b;)-|6lX@yK%d^W=W+O&wDY4YqHR5k8<~2kMiVPQ>LIfuO(J;J`JKNf4XYu zYNZySzS-t5MGh}<4!bx9b^h;RTV20YTa)MM7S}ebpMO+T z?aMz!9kHMDr|U(E6Kt!tQfI|KpRp?Hy{)%RNAv&0z2IZ7TID{D-s25?$qbGl9lM9e zA>_vqRDBC;?tK1@C+F%m1>M>IxA)Ueu}4^wgsOZjJ(If0d-^@=&#Y=rWX+_q!ualA zlKTg>Rv8Gt6roU4l$c59;s2>ouJ`?&X0H~{ShMElWl@$CRiUP+i_$I80&44(ld@c^ zs$8qTMjalLyLz?cQT+gwD7nOk#}8^ImAjXq)rPEDygFNQW+?c5Pma8J z)a91s=#!j770#g+G^?%tr?Z=eyzPH;e^mYC!+j}Tt!VyIbniCzUf1=$bJ5DJC1@1-@MtH;Z}S=JJhW!(o%8?uwyJ+a?6q1C zw?tFewrByRxhJhlbcF5E>w&rVSKYJzZ~J?q4u98csTRxKljrv2?k984{!~9X7-dO8 z_rAXyYh`@~O)W-iS(ZrQy3xodt0x%^k0t2SVOwNyRILxtT;9~5bgQ$A{HC7cd*`f1 z4vV=aYoI0{5%htuZ9Q`MH)o6Yr*%8AttDQEs?YH;uVFiPK5EqAJzJ!jV|4e3^tp4$ z?NN8D-1jE$yV74rbpJQ!kKV2QF1O6TS$oetM)J;wJ}Izxwci#Wa$7xWg;32wyzgAO zTTFQ_aXx?T{r;|x?ZrLV6{I)$vk6Ol58DO!Sni6vWk4AF@Ft=OaLuRb$XX}Yq%H!Imv^kGeeIa+&uU3^)ueFFY?#KZcq@c|PYf zs?StCt@0>4cVBvibGXGhJZe?e`)v7{^Z#!~L~8u$eZ8nLXYSceUi?OZ&39qvku#$r zNFzl!)D(|H4UyZE)8?iqk2LDeZi`B=9sRt)Kc#ti4Di3nA*&QM2Up_?b>>8(4tQFL zTh+S`wYi?T@5niRTeL(PLp-Y8`tshX8RdUUL*wTmT$53pr}`w_`?&wJtGVfAijZ(EIs zO3tG^y+2L(Z`K)d<~ycPYo0kJX6>E#>@RmT$KyR;^KPX_*;)DjHHU{sEL1v1DOkmN zR6bed7Uo$h<@V1hAI_h)`seh9P$R3qwpG@;aZZT_Ukmv35XZ>mtH2T!VB4bVJbDJK zzB+b%wm<3&RDSOfwfaQHd$mU$ar%VC6i18ubo=Fc4~`L@HpZ!)D^VC=@GQT z=_78!<12oG`U!Ks5dMPJJOc!+dFB!R@Z=Q*q4`8nXrL$!%`YlJgG3axfT%xTieM27 zEht*TgZc0O59-hkHNlg*+*drR4GkVetEVsC;(1VCu7B?I-k#i7iuaY3`v`ikLgc>g z{{2<+NUG!-F68&SvT3cCkly+jwI zkC-9i;EzMP{y1!j@Q;T*T@;YB5T7F=UI5 z?JcY?vA)i_pYW`T-g(euV~8y`Yt$k@y{TvZKUjO-Xm9Nl%ox-jp;b zHa@5U^q`DF%9cJ+;wSk1dD{ZeqW%R$c-oSn0%GWdH9`JjeUT`%&-~c!uoq2u1-fj) zfuK14rrys`aCB3m4B?eD6gQIwlq6Ga4S{Uzd81H)nBYMhI zm)ZxvpAOw(_=~BreS^bb2a7OnlQ7X?N-*jlG&K{Rj#KXhmlyF($v-lUP{HU zyN8K`Qx61%aqD$OO{NsYw-F+TI$Tx^YYX9j}E6KK#I@f|qYLn|GZ9=uft zt#ovH@V0@*=;?mg>+w)(hr^yYI_`zy^!ZR6=Rlm8Jbjl8G*%%E-hl}$UciTcp>PoD z7HJMMVlp~~4B|E)#BDx^+kB9q<2#7+3^d}?5<&uv-p~f(oeVmH2UriY9%HRs>=T@6 z^h$Mv>)#UoxQ6(r0a05=I>H9l+NLH1!CaA_j~f* z)nU61+lg#Pat`>m2DAXaLjmV!qK=Y{Z-&6xORXI((x6+6NIrsz>`&xv$MVq`%iE6S zZO3wStd3GW$8uRwqBxF7Cg(Gj^BF5%npM<)CZAmkcpn$@R*N}@)tquMr(7(eW`7Z~ z7@lacn9muq>B^-yc75;`Z)Loy+RJ}gu?_6s!1-+8`fT93ZQwjta9P`srl|iePPvzL z8?M}H#kb+g?O2@r(P9_pu#0n`G|^%&d-k%Y4twhGQP{;f?`7S^b=%8&kkcPz|3U4c zc0R}@ehe+@e^Kku33*F=EN;#XE)m09g&MS9bS@1mah20wW&c&q?K$3yt6ch3u8&7d z6h#dWzVE3dbcT2Wir+ki&KH%Ti$!(lYL2eu=mz$07WLq-Y0y@64BD!`LFr=*^2Zv_ zNsnk@JP#dfj5PhlL}RQe#U0~_<&WR2yXkmvyDx!jyuLXT8e`6d#+r*SeK%3Gh+LS)oru1nx)#^C=FLIh& zthd>7hg06;G!Ja5xp1iFmeU=1dYl{n9^vnN3(e>J2rb~;g@!l}pka;?fD&CQH_@eX zlU*t|&7~4Yxs=;j*U9SEWZ`$q&1ZXQYXv;3)(<#uEmO^^}0N@H`G}<0%L2fZyHp zh%TN8*gZVepnW{Gp#41cpaVTI&_qu&XtJjj^p+3R=e7^k=Z+86=bjJMr-v{3`}mT- zpYPZCD~eKLW66r5D(e^#U8X5B|P_ zzp?nc3x6>@61(xY0RFxz8U{5DY7x{WXmHT*pbbH<2OSMM9dst>LeOtP`3e*%P@zEA z0uu^+RN!2Js|CI<@N)rAaNgj;!H)+=1-A+w68wDdYr$^?9}4y>Sh8T}g7F0h793u1 zR>748w-$V};Gu$_7kp4q7V;|;Sm^OWl?pX1)Ui-vp;3jV6q;S=#X{c~`nga_)NQig}9X zDPFgDZ1L8`dlp|&d~@+viq{Np7v4KOAv`5~WcY;ex#3H~cZDAe{~-KK_~+qQ!@mwM zTB2Er&Lw)67+fN~#H4+W(-`>;6%|CXs3?Xbr*z~r7Gt%^I7_F9NHGn$W{T=!A;z7HMJ=&R zM2nRu;aS}C){DmCd5l4~<2>4d(sqkh;&stlye-;@cST!#CqQR$45gkF-NZT3TYQdE zzY=}LO`OGF;~x91NDy~0M!koc+{eB9cbwPsBi4>FM0kv3;cKLb;>K`M+87}oH%5xG z#wbzFNEa22(dbjhi`vFS^rw^1n@$#8jj5uWf$y9%W{5r*PVh8PP) zlCfB%7)!-yW0{y{EEk!^3bDahDK;9b#1><<*lMg1+l^<%OU8QfsUCiI1J zw5RI06f94BTDClG^;3EBiwdNEtc6+CwpZBxrovt1@Sp;f6;Sba*xr8SQD@rom0CDL zyjF=)s@6MRsVzKb+4DvOm7>~NwQx`s@`SUhW2%mnimKyPfuqV+QI%4q*;$3k+E?WY zN>Od1+Ou_4%DDrp+Uw7&(*EA4O8fpD`!7dQn(L9|xgAOE{|BquqnE3bUzO`!VqgtA zf4u$bdQ{hD;~I$=?6hF@-V2q(r!^?g%QdLnCu&m5Z2yHt$L4Hb!pp`?AgY;lXZ7}@*iY9!+M?d*ZS0|1sagP)Ucqh5bIZaP<`^@ofZSQtgJ%GB#z0bExji|P&eN=9J z8wdNLO&U|%PHRlHJ>O(9JY8JU(M^{?r?6%=CC?Jp6|5~{>8Po5PxagCoZKEurMwYa z3WKhjY~Ny4cZ$xfcwbm&vTk5~iS-ccg;tb`?dbgx%jmO&+4-n!^JF4NA?WmNWSk+lEoR4^~_N|a+KzoWN zv#NdX*pceot0Vc7SSPY(vMy)c)RA(2jrDj(x)VA|%t9}Pzcj$Kv`bIz6_6X~M+T5P3BUw8nP*mL!R4@HT z>?LfKyCv22`}hD#U&i-$q=^_n`yM@jYWoyxch*CZbQdT;n98cp+LpEFU`n6DI)imF z>t@#dte>)88%%lj8$#)a4sr=rtZ%V?nM`dp%6CM*tP#k!$^TTkGmLV6 zROvw+4P!0MT9vf{YfDyD!}e^au+Cv!&zg`z$Ea^A)qGGYwOA`||Fl#Luf_IMs@rbX z)2X5GDBC-|y88@B`_FfQgTpC}O0Vu;9}K4wFS33;ymS7nG0eZYr_>*L6zMyrQw;~Q zj$!rg2WF;I>#a?vQeI?LJ-q5+RR5!T7}ZDZO}~mfk8#RR(`gJ4I{G(wyvIvw+^Ft= zuZ*VB)qU^~+ur?5-7yqxK8EU$yU+3N!&Q&%J-VZ-hTgw4G54{d^a+~{+lA8mk@QwNM(~F@fSq9+ZaXnpo?j94YFtHb80k z3=t|ZYkC6O3?)d+*UG{F6jX{9n2#BlPgQ{39&<8@SzKjkN6g9a%o1i~5;LnB&@Pzo z8JN>yWm$AX$r7ss(eU(O?S(R>=*ij}YoIjmZvamm=5Ge(VWj;qhm)9(ktSd+XJ9_o z6!rkr3(ps^K8<=w%+E*%qh5wcgi0|4b3Hsg#hQ%yo)k%}!%%BOq_C!;)_8&)YKRf2 zwZtrwbR=qx_adPZbI$ItN3)JaeetFw>m1A(rI?5M(h5Z!>;1;9Th$k~y z*P?cYc#idXnnj9@tea3rLu`ghu?4lmJBCn+&pd`fkDy*s97T-`@jg^ywmK4e95upw zPpE|yABb_#lVSq&6h0#{#A&D$A7XZFh>xIBe2iH#-g*-m(9gt7=;wH-8lNdcrMN8S z!2S~ZfhQbTuVX(9aRZ8PEx;Zam<=z2{he3>{a!4C-WDsM_rxkhe}&>{ZLtRSeW(-< zF#k3%Uncz%`z^&EtOB!FLl~?kX0dq24T@_Avsqk6tR91Yx6KEN>jkr0De_}}Ylt8y z-WxJ@K+71kT2vN_?>#VRrKmD%Rbw|iRiK8bX6%6-$=bkp9iE0zDH<7X!j55WV!Q=U zW7ej|JMhP{wlwy`-vVj~{6-<{R;+D|_h7d*4#VFLiu2z%3cCXo=f80b+Q~QpPiH93 zf8!+Vu27uS#%b7nS^F6u!4uEg-#7#R04UxqHO|5w#5&mc6rQJ96O9Y-4`EF5z_<>33{+w*_a^LdtP_oIU{5l>g@3Z~ zJ#>ok13Xh%=Ndo3o@e|F|9s;v>; zz(1^KkUnpiSo__`y3?@Xc?l}T+lCAK9Vk|Y4IkM1p%N<`ez4zzO8nYD0PMq1Tpb4e zZr=MwAnc=1LmW4PU>{>WVFbhez$gSgYlK428AXuhQz+g@GKxYk7{%ea2*q__lz@J2 zl!9J0O2hvZ6yG9(RdGXHhe~nFC=2^r*6)pS@O;O5+o%Bl4^UhYMkVO4SVhMbVN``* z%4)C;R#Vo1$6|G46#O>S5FS|@w#(`xqv7#|O3^^pgEo{6pp9fB_?yVaup6_skWFE? zl+B>6@jYz@03YiHROb{E+m+EsQ$v>Oz?vFr@(A-h8RO8O_pa~G7ffWNIwlK#dJ9Yb_P_688Qj>OsEvI zRsm&4&-07d^PN5WpjxeC%^mRE0`i7hbeN!%g?v;z6Z^RJjcH3D%Qx1w0?Ho|3EJ zKMh5XD%ZgNi1mVe7M}C07v*#Cf5v)Au803~s3E?P8)08&{Zej%=L+jratr)dS+B{h z@Lz{YaYJs0eG`i32jmXe-#~GW$(LY%&-#OW1)kfiKg!+k{{+P+GI9^>pP^FxB43Bz zm2X0W&9|Th&3B-M%>B?1^8iwYvKBVqgI&Zt41bt;6n1s<80>1SHOv$6)PzbAWuAmx z3o1oz^EB)_P$`<2A3>X&XP{4+XQ3_3PZ4bi#d&C6fOarHgLX78K|7gWKs%dPpk2(b zpk2-D(EjF4=m7H@=s@#Z=pgfZXp;E@a!Y1SF@J(*7;CEeGyG{#DVCUbVK0SBvCRAx z_Hw8ctIhkc*RVco{tnMGtZU6b;eQT_bICL$z9oruqiITO%KEry^42I_d>t|*m_&;a8Y=**r35vU|Sp@bMtXIsU z@LYvT@s(K|_BGZUW(jz%v)(jI!T&YuEweQI-#`uVo%sapZ&|-L%ffS;^+&TD{6Db% zWLALx4pfSt%}TI;f#M7?E5p7AMSo>hh5Z}r1G5@D_gQ~8Yry{pREj^%DA>Xxl~!$d z3|7;MhR1?R5n$DWorg7_)c~HntbtY|`13=h2(lVO3s_Cz35MeQw3I%D-)g94#R!`XV zq3Bnw-mn`&(XU!@uw$U;SFL#1O;}^C1bCXVHnRr6-yDkb+!_SCr8O9K3)WWF5O`X% zwzZPrZ^PQ&8V0+Al?v@>4Ttu%Mj~ZAYl4*yPd_N`{?-`S{aFWE3|I@4~ z)+G2-p}6B)Q(zB=;*M`kgFTWp-O7Mx6cqP#YbNZ8tdp(T@JxZCm$v4>p2nJC&4Xt; z>kMlF?3vagL}x*zm~AbAW?IYOnQN_pJ%@FkwF>rpYYqGht!H5`U|nQA2hU>}A$Q*vp|(tgtr0Udg)J+5*oi)-~2v_@9Ad{9tW|y_R*IwF92#Sl3%G!M}lZ zzx4|I$E@AZrnKx)&bZzp|}dH_h8?H z;wrEXLw~c5!gC*rajbO=_V29u>=W?hWev1X!k-_C^VvQPy8smZt^E<~f>89g_8HhA ztcC5f@Px7!u|I`B42pT5eF0kB{tWtAuvW5f z!c&no!u|&S%21sD_P4OBvR1RdhbNM?y8Q$EHK3RY+CRaLVy$EU3{P#=X!|bwb)mRY z>|bHmXKiTTho=E+Bl~ywV_2Kmf5P7wiZQcoU>4kzwV7?2xKg0FQfwP`3)WV)3r|bd z*0vA)ZCKmce(<-2V)SAMz;4gl(asA`C)O@@ApD(KyV^nUcY|W|Vh6+S0mUrRE(E(5 zYn&YlPai0*HM;bHU>=N({WPRE$1^-~yA$Do_6QPDkvY&uG zlr`Bd3(qjtRJ$DfDXeLB1^94W6;AgSAs`a9#G0nP+y9%m9XuQLUj&zXkw zPdFK{ABP&^NoOYPvaIEt+3=KSt?0~wzXEF|XCC|!P$?=q3t(4);u|EKMX)1Tt2;~J zsRqRz$5{ru25XeF0-jn>Twl&A*mYRzI&0vGX07Ku3x9pqhR$>FH-O^$a@NCc#M;=| z2u~B%SZ5RbO<7wyTi|a6m7=w?6?Pjat|MnV>~>I$ubdsQyRvq7UV^6^YY*oY_u%v# zp(`m$VD+suR@%y96|5|tODKyKu(DWHi^2+4U96Bb!wOV0tR!{7>QE1?W%b6B3S+Q7 zGX~GMj=>8TbMR!s3api^#FJPnu}-o=JOf=X)`<Nh+wp{~H+LH!3M^sCrqXk1Lfh<3v(HXNRqn2^?` zV!y;h(IGuKpja#cXIOGrhoqETW}YC>vSnWdo?0qR4#Xe__RSI;?huf`?R>U1SHdSX`M{YR4+&0r%^f4Dj_Z@B@~4O5ch`XvvHOHF8#^8d8=J~479SDs%~vB*ratJ$n_q~Yt{eGFr)~=5p@=s>Oi+?X( zym;~A#f!-P!P6qojZT*?-W>M#2cvMOIUaTn?he{RLu3?gwtMYiXX~xC{&s0F*1Ze& zNMv|~-CBDv-gSb8o8SKU`k?uo#EjdM)_A4Wf>G1hlDV_p@3s->C`=q%$f1lvWXS1+G-JG4x;f~!tFZN6t9{UJ-D!_@;o@PZ)#>dh zQp|!xW6SwodpK?%tPF=u@l$WB`MB*Pd8^&o*&Q>vyR8Rpk~_UL+Ixfkey^2ck-;-% zsD$~xZ$o08eK2hHM%(@2-otSRnGk0ZUDJ%uJ-*ZFecXRC`ndBPo-_3K+N};Fo@S+w z$u+7Gzm{SG#Z1mt{+S0QBOBI>ITc)Vt+gNR?`RV3-fDN5M3FJQyLXTlomi#uenxv^ zf6udISz+YO{c{f39}N0Kq?l-)lU5)4I38RY^P_Lq`cB^&$ZkAo4kS@C+eehIA8avo zH3c4yVDr_E4_nySe-vv@{N&@{(iFsleVU0?uFZ(9zst9R(+a&j)yS|D36S(4@g6*q`|${>4VzCgeX6kKbLIpuQl7wHwsI^tEaoQJ?> zi70{w&>n^L91oLAcOgY15*zLD7&3U@F2^1w44HT?d<`D1m5KN*AuOJ7F_j0m;6j^Z zNy5ZAUluZ}h{K({#!QN!LKJ9-!u`%pr)8SOEzm`+$T$)d+peK94Es+@D@Q@!)QzyN z^=@)<+<7_+%Ho)C7iUNM+iWPIW-GtX)dCu>?Y6f*o@~Z>StAs*+9&#($`m%*-`R%| zI?e9--eA8wDs?c*g}X!8*Q8kHiyTfl9D-YKP(#TAm$t!dM zs9Ki60{?ees~@*j$0)qN+irK2?kJa5k~m;iHs^|}ioQaY#*(ld6uw*SfEp8SNcp2W znCBMysZ;hnn^SMVuu>AQ#Cl@iooh!yYTW)PcRNnzk~$MKl4;noc<@>Znuke1nwZRl z{r>*QamySXT%jv*mX*KkqO)A>%mqbAced`K_!J_Xt|u%D=Gq%=p`LUeg^j031&*s- zDK$N`KWaWg7+vq}?*&`-v|O*XyX_q*w(m8&`!-&oSbR3OJ18DubAQwx7C2f@Ct&O3 z8a`Ul$78@)ID{@vwp_Xer+m za5|@TYC5lhSNA*JR$3o?;0tOHAC8OY-JUC?_l9UTTO#bub}88tL90ZG99#_(9h$-%bCPletE?1p zx3dD8GqK;?s#qHkfIT)x&F;&w*R<`eMLP?rj8u8 zg`K*h(tf8oWcnA4P;t|YFl;}mVJ~WmF79Jn>g!5uPT^Ggnw1fGsu1PLx|)x$>z`uK z2c5n4#<)FL>A{z@DIUGnHH(eZcjz_1ZWOFN`kC6TwvcOotR-`E6NO>CEB$vxwjwk$ z+iGld*#-#uezP|ot+km0(U7EOv=YyPp$0}XhbbzZt+;^y=SbE)=>ReQu5>BQE7Y0+ zieNij+aHbldq{08L)dDP>0|SW%oUl3!{(!Ga?&8jfpIMeflTQ^-|Z|W=}QH3<{RDS z4nn(Q-F(p8fgN(++(@?BDs@*hH%1wE#``Yi_gSQEzv3;jAl!X|MJsIXcE&e`s*Rn} z=GIn=z0_drYXALatApNVP?H*NoO!Sd3+`gu0iiPX6Oyi)I4Soa1Z$qQV(V+heCs3E zxFWU1Q|qJ2F>q+iIGmMwt0_IOGEByv?cq*)R1CE#f zR|U#(WzK4-kF&B&fRwAuk2Yw^Hw9EqA1x(&NU#ZZQQ`zhxrz;f$-Yulsb&&-4*#jb zPfMRFKfwW0@m{e+JqDo5Lw0WwWIpVk$6UGrO;y3!kt@b3(#<-+oWok`NtDIqKO3j!~cb+qq z)<1(qFQ^1*Hm50W3_bA8E z-})az@0HQh-WFugv51B9+OXPYHICV?_gXO|YgA!?xykmT{Uk4W_t`FTT9M`FvBTOeJ4FZg%^Rn%yd`lz$fdKEscZfSr9D zjS>!Gf+A|`u^M}~Oi0yR0mM_23amPKjP(oz(Vsi)8RBAFXeFgXu#&FgP&SSq3y9bm zc1E^vZ|+##C30D{S%6(DqE5`%?Q%0t+ZhQnN*D?=3K-n;m#|xBpPWw85Q5Hb9uR+7 z$a#YxdUL18UJvC|l(8=4VJhQ00koz~2qdD!F^Sq_$XW{LuaC%sQrsJ1oMBQ*Kfd3W zp$X;dW+^Olp!R4wDPe;d*7{@L6q&BPIqK|aM}R$nO`E>h?R>kroJn|tl` z9(iJjY~B8o_V6|bi75Zry>hs@wY6`0aA8AwXvU2Dw>Gf)Vci_JsT5-tID134i>fm0 zVNoTpD2J;VBe0s&Fo=wIiAeE7jPv068~TT;{8lSf23XWEP-8796TLHx;y;OTkTT0ctPd8WyQ#~YGQD@OO$}HbpTXpowOcfFWjPTcZ2((p2u#+bl`936xcD76-8#4B4kv=jYbs+HkWo zgY8F|?{k9R-)C9YhCQsB3qy;;D(q6S%>CLDHjXoLCC=Dj>dTz+so1eMwb&n4 ziYoPbsbwXX<4WfQ*N{_N^GrVlE0F2R(Drx2B* zCM;!^sJh8)4*UJFS$uSmlftaikMPCadR-+EerKY9zO^1l#(Hx*p5P)3CQNousOi3ZZrum zAIjX_-UdIIe9UM~WK>6P&aOj!dQOr`l@AqS3o0=KtlVt$r`lHbS@7pHI-}-UrHl33 zHxaDpg`Kl-&yXk>O^Ak3vEMH;3j35VD{K{jQ6sIusZpcFBv3hLwV}+j;InEjmLqto z+yhlI0aAH^X4Rdt&r0K%?*Vp1d2Z@^16=?G+fH!eekg9x?zi{)Y>2DeFrR+TJfRUaJTR{+`NCo@fU zr{b7HCChQ0NEN36A!-WjpV9$pY=hHYpLwZKjTpLBbZYX{B7U>%cn}iW1$J@CDF6}O zGHT3;)L6`JGPEd@pgWN&9Q{PkIyqWmdECVn5l7*YEA1$_T7s%n)b8m)mQ$)4!G_`XTW8?&AgA6F*DkWtcry&YGHU~}5?ctbB1C}Z;YSai#L#Oh_ zI;L`$;N|^*%6r@pQL$3ANS!Jk0n->&ATd{|N)JZ(CThNI{LMPenOjr|G5w@!%oK}Q z`nZi#fjn9ZirmD|VhQp%xZCSKoy_o1jtV#?sF-!n0oCl55Y_(3ZSVqTl?d8#TZL`7 zN-!`mkf@Wk@giIbr*GFm-AkGQXJQ!c(QSHGS6#ZN?NlkIbL}Uc7T&Dv)p|Sn-Ys0G z{oE3Jgu7GAaJ3>|8aYJW==Pg#tlQk~b_TzX$E@~%p19U&?)CAq-hb5UJhtl$oSFM2 zh`flDtPfDrjVU^CSC1-bacCk5PL9eyA8}Xpq5gIMKxd<;IATG z`)Z5jicJquQ&t}5$Q1Oday1nL6&3r@@U&DZwvE|)ChsZMI@{YCQtCnh!d%(kL&WrL zx!1yFw6=go;X&WxeBE!$6`TblSRxR%Z}Ifn7M{rQ<()vue$|VvAFJ!VxO5Ku_DYPk zbeRKIZ0blwhdFAU^|%zX`yK|j_EJSfCeKhwRJSWzXNi1HLfFoEfc>4LW|rG{Hox2P zjiOXOa+agM|MNA}NE3rXH|r>3*Br5qR4P<5gv`Ug;+-u)+~K91XH_O`cj^x2+161M9*N4Y+wjA>n3MmJp*aLrM4n?Mx2>q zA7|Nn5;ndw9ACQ3qGr~7yvhfoP8UrWFAXmAJm|YIEnQYJF|zV#)bC>6mT}Ag(#6%< z$_^JcJa{<>n1psE0o01a$Mze+T}Cm9v@c1qH?+wknW8V`1im|4@+T&0LLr^N-JFPX zI`{!6yLQrD!a4k{0Hq*A19c|ycWX(LBa zK|!Onwp@#H%mC956`GM^Dp6iqRh30lPmZvPdK<_#63n=1xm@h$Wh|BsSoA2 zNLIvMa+KrM^lL`#BK?|?yoj$&q_1&Dr$D&~ua@A~O5rsGYsp^_CqcIW6@79NKWYx2 z%A$i8={1QmxVhEd(ak?pCBrH1&rF;b)u{KgQ_B6!gPjmIfO4!(wW}JZp~|~fAf!yC zs8ZKQNR&=XLSV8uGIoskn2l!zrOA>bWO1fKY9ZDmS(2!^p6M!w+5JJv5|0m!XntnS zw9gzbwCy5Pszv}NQJe;f-Ozo5IArCbm10Gaa(1s}B_0y2ro)2xy%wtXwqhMnNyjfm zuOH}or>6ocwDz|OCEl~d3LHO~u%*)!1MhqEBqaR?5i638Qtod1(Mqi0Ud&qU zd@m|#lJoKobVZ#maIdYrb%@Hk#t%u;emHP>Y;&a)SDFdmC@{Hhq9YoeL*+72u*a)8 zJm~k7hy0${g#5rn!v_}rriH(0;cr>^TNZxb!taL<{m^p|U$j>fnA8hfS;Z0oABG`c^mBVvRO0V_0x4)YgDy zP7$RPt+`UI43jYBgD)pAQO;?o@^T1aSm|5w>tL(g`WB`M%Z$}zgVWWjDitTC$P6dS zYxQy4FuR<1c%#i31@PXE@6lLk{7x$TpTj!9*y(W&6L()W4J3o^v^fOj5MgVdV`uJ> zr_m@2;v@-}Af-vV)zPL84Py-_;L>@uUFz}_-EY+uFPA~LnR%rqMWP9isCR7=5#^f# zDrX@r5`xM)4YgXQFt=)_pkD8c{uJA}+^Nh#Xqt)Q)S6?q2wyV^#26Wu$1x&TiD2a$ z?4+!h$7zB9tTuL675&wm4s87~NT~}bp|&x+ z!(Osu4xyYNHFbBrWL$$M(EA_9Yjm#0YEA?*xA`ewF80_TRiMmZ*x&ASrF_HU&Pi^N zGv!JH#_-R)H*W)_waO&E zF9)$o(see3C#(9_b8cNY5(6W7^oMd7>uNoRoKOm-UO89wue}q zCcvXG1(>GBL>8xn^O$BE+!Hy@Vr<-5|f z3wb;+Xtshk5N~~elBcMu98nWgS4v5dqH!uHnvb>Jqj~}Lt(@<&y%oI-m?OEF+=Tam zN>niC+rWAv_rq}8Ow#G%oX3J|!8Z`8y9`#~?hy)7G}LfCNte-N(drL28Dl3cVNB6T zXICbPKJ2mcdsnxCby^D`dwddJOEzo5*ALvY&AVl_-|c0yr8idsY~nMnrwv?+L>rKE zw-_OLvnY%o)qVUN3=G((p;g zFIHlF1!6s}#$q+-rR6*kiiV1g6d!uH-Pty4n_&5+AK7O84y~=_u^bn{sPH){RGLy? zAKlZ{)|ib>Z+x*-YAWqh%3b=Da+fFvsVeP|eG){jEq5LAb=O|N$cUC;8fngnW(|+c zy4gu8weq|H^1Gv-lKiQq-LCZ9(rz{67J0z{!m|QU{bfLAipiWg;W;H7ml;(#7KN`> zW+tQAG>@tNvM%e{3bs>v^2(axJY{}v;-{2!?4MK8dyo>RxYNh*QJ!?`x#A8*+{Wga^Tej7)?Wlzcg+1-lc|fmH z5lekiXE#T-TQ59FuvPC!S8@F+@9V869Fm#!a=p00egjl(l5jMKo@E~D?;|1K|W0_{NmDyvmlXH zHnF@~tR%UN)m#Q>z&VI@?J?D(TvNc9vr>P|Sb=Hua(h#?0I1}a-enJfp;vVt_c=yI zJBcBb5*n~KuGIL3hogO=9J!ZD3ZEF^U@&FL$vG(FduFa7IpFeI|1H z;^XtyEGM>tmg9zvAL<%eMA#zT%RA3xDyT@3I7!A>y;Hz)&N6}2NXlG>D?hSzl6J~I z1DxqL(dm`EDa|MsJz8B~S2~b9I1}3wtLfsYed=2Q2`+|lW{04uk+!J1LsIdW6Rn$hkxIey5D*yThnuOzk+ z*EU}X@^mG<-s5pOk3|F{a=FTA0A1m-MLNqGCfC&R^5$0U){G}mVh!oxl+w!{P*nTI z87cd{4v*e(|3!u@kd&Lp1G~~{lg7aER^ehSMzA7}O*naVjhkJ}oG2U~e$XFMU$W-r zoh^=}s4Kc|=CGE$l=PmCu;%8o9sotF<4#KMF@8fiNy~I| zSWWtNXN=~SEW;5ibdmICmMzrQgxjUcac3b@KT25H>?rTM4Oit&vSuRl46t(R>atT_ zvE*}XDKp0>rsN^2=G0c%M@sl%Gl?Tyz?C266OFAfg_rM)RHel16xC54NVQdtE8Rz- z#N5g>1ys)Le?7(YD)RhPm5nM~xunhQS?~g@>1k0QH=U+(u-okUq=L^)R7pGk%KMC=1&AzO};CtWGN>nDL(xaY)VxO=cXTpD(05x5UgC$)H2WN0v2NnCKs+r|^O*FsEuw`~vdW&=?4 zglNlI@crg+52ph38BWKISO|bNhj~x^?Av}CK-95fw!wcyVvh`QK%A#)}tH1L_(5jlNs=K zlzYU8HRZC6nOB`n5~Zj{ZtCIVNg^ndlUlRMLxO1>HfY3nAxD@ukzU@8nL`04Y|BuQ zzy~C4#bVKv*%NaNizpsR6~~A>Ph*kkxnJ7W;oU+@k?3x~n=-Fe*`$&;AyCa?JuyzI z!gY_`d#TYhcD-z$td*BptbYy9Ie{}hnKb^mll$DcwDhpgyK<@qC`qFtk1?}Hm7x@^ z<}D?}D_?BBSOjq`WlZB`N;(BNXw;sEj1gX z?t`Sobz>lR#eCC3G?BZG*RSpuF{LHhp$6?-Sy`rl%BhWEMn<_R0Odd|mJn2yDnxmF zc`vY5u1T2k#oo~wi)YTfQ9Pf{k69EEU2x);S$Ka}1@aGs z=wUvN;BTO}N3h}afJb+5l?gXlPm*1qT~jz6L0r;?Kb8Z#jS_19s-v4gO^Py^2Ivv4Q6o^&CVT*!U)q=&mY}3d4j{# zRHwvYv*6-2d!D=8UuB*G=A0`BSoAlHFD+AyE4`pVi8QKhW`as+nVcq@ip);QSd>g^ zhDD55u_(w~MWTS``VyVXBarDZD{-o1X@sTp=dH+P~Ig@J(P8P&g(f0xDHiz!8 zugH_i%*+sRpdzEpNoiJUKgZ;@DqV}4%p%$r-HhdY1iYx^jSoN(SGuY#qpm!Yuu{I% zp;ER4Qm$L2ZYoPTu5=@Ao}+YDnWlg_XQW8Z6ysAJ)%HCiEje82P>d%m%NR{HY=ATj zL;n>fGx<(SSgWrjR85#fS(gOm5c@L4dD>bFgp>#FaOrBoFg*^)^4}dd^IL(eo;(uP zcB2dLt~7adG#NHAJH)PV4XvO6)qdRJhBiML5?e3QVm+hGEMjN5_80qpe=pLC+bG*3 zi59gHE}}~1+M`TSIk_CS(vuQ95y|R$USb~Y(WEd;0OdeqaN?=195JjCF_n@@sT6*Z zqeNUKS0P@yJVstc8KOMbOQWJ3<+##UZJ?CmA;EZVQs(IAjhZt5nk=fN7|W@lQw^Vz ztkTBLqau^@g9^@0u@)0IS^X*E_BAVo2|`9s~D-TX}817f5Ntw7# z&R;{PqJL8~n%&Kf)GJOg;&tN9@ss{NuD9~Y70XG!o-#7XEzWn$)ltccU{&SCR3iCi zT)K`dpgTNFC$U|fs2j+7k8OWD7Y8E09hQ!#Cg-o0;@oG(TC&+4GkPH@A7iiw(S(;6@QF(ZbjxRwFWm z8*MJ?r2Adv-BY?H>sxj==^U`#b(a}?rR$AqtXYX(VQ1VNZtc1=4DJ_Oy5<>U5xEj# zu>s$fa{JQype?1s;^P!n4-i@g(|3X^%xyeeN|ZyM!j{DX_Mvf=*v6rDv$xHNLAUMb zilUMjA~4Z=VGrMw=>zLayq+ni+f{QY=JGGkKx@=7O0!b!2JF2bhrNF54S${PR)5&} zE{gMY+{yK8XZO~^cBgd^+WLTlwELh6Z-!AbWMBYPZA?#$CYYjq;}tt_(<%9-^oJY! z?$m4%n~QCHpmA@$HteIq={>D`yp=JU1(CC{GolJgASn z`=Ff{%_~a_>Q z0McxI%ykET#{@rne~&|+VWpcDYWpB2`3`z2Fj0o`VHIzv6}zG;^&?arW$DIf_+_N}_eOdgdGnzTd;H)8Z}x zliDvGvEbm5vQoyxnQ02_OegT_?A#Twaz|w^c3Ra|AaG z_7lnLtyOIu%Gg)&tYQ?~GSQV-mWkzVKkC2~a0-C@5I1so7rjUAwZ4o3Gt1JmbLm8~ zjZ%68L;ecI@qT`zq5xNN%ZO{P1sj;5FuG6Il0g$$H#xiNwbMkjh!KsONk$5@VwG67 z92W`}&m}~sDx{phn!@g>_`P1WwNZ|zw=&w>@kb2o^_aa!-KRY9u8Z_CMXih}@<=bj ztgtvKaVjCz6W`ph1MU7`qdk0Vk2>7k@3e|qu(7r-f71uWHkjpYSD)#(ImYAt?$ zX!!AT(zX8JDULq;qTCds9E0hu`gDTqJk8$ISqbR2J7|*9@}`qHA=zTRpPl%iGcNZj z5=E!oz5WQLYUIc1J5oH0s?EB~_H{>xOQ@>V=SzerLov*>bbz79T#iP;QBhrd_ry9l z?mXghE5E6m2}2vRe_TE2w-fc#iPE0hL3VleAA_K`qJvR4bon*D3tQ&m^EeE`wjQG5 zQL3T81;v{QMKe$A7ph@{H!hPd@g1;;`k8sx+=+yr-Si2~34ii{s;pJ#4rJr^n(zu( zR6B>~xJ%@8j=?eEBi6+g`=s^!jPq9VlJiUb4^nNZpzQ>mc+k!pSqr`P6RB72uwDHP zo6z^)(cJSF0dnPb!*nZ4Q0!&A8jya)Y%c`{+(WekHt(B`--8a1pK8HgDT1qkvm08s z!x>KH5vF?YF|dI9&+z1S%Rd1z0kmyiu08C9?}R&7F7f{||KA9AE)l*=_zlAP#b&)x zMGVMgrSks`<={UrS2e?3{6uC`U;Bo<=}k96UdB+hac+K7ZQJY zLS!~i>Gs2JhrImygO901ErO=U9eFz`^0&9;I?5$d^lv@09rl{zaPaiI2t)Q0SMLqw zG%x2HzY}N${bA?PKmUV^Z@&4~o7XSB`TC_BSKfa8%G;OLUSGYky88NCYj50m>x~;X z)-Jxe`iFK{p*e29A46p&S-FYLhAOx0$JBKwssYoc`gfqsYp*#sTs(N|;>C+^ef=A+ z^Td{mVE>(QNW;kq$EOaoclXi-RqEn$9yNKE>AEh5xcBv?KWxQE+5CHz>5zYwFb5GI z_BwwUjEAt*cnCvb^k5Va-+CTJ6kfNVXT+-$yA|2%7 z^oZqogo%USN7iAmt=0@+)WnTxG@vma$A+S5AwuMta+a1k6M^GxT80qll&%^@`gl;#QW?{v$1+0(cezmWxb$x9NeM^ZJvgU5xpx3jU4~KjPYL z+4YdU{N8DN?vypDcyb*bnNa>#d)U|Vsy7*d5Qk6M2T)L0 z-s8hVl{cV#W?hUk>{9%`%)CB`BFWYuu4UoW5rfeoV`OA;e_Ama!a~wPbn?e_AUM)7 zYtjs*GpVVhBg|dZM{Ej#9xQlyC4R#=Zpn$?tKr+WJW45x1IR%Ry=D2eKmmjh4umPm zF27sDQ@vq5vIZ|T9ZpGI&v*HD!YuI)L(Rd zeO>bY$WV8Od1;-rh^Y?wEfbyyfm9FId*e%QMa|f_IrzYtv2ft}70q}+I|A&!q0Q?j z@z>6yxo;HO;VB+IgAS(wL1&)WkRS8x-0D+Jgn}F652)Q?>)jp}LIEL490zrD^Ktk# zJiyPN@v*Aq$4t>_Cl!zy6x=P!U9?eA&3YIYB9J7pSW-%S#VqnW80|d6G{(4 z$8_p;7nDss#3CV@aeYja5m!RZfBP`bcJr)cYabu)_a^;iKNAF7cJj=;k@&w~ zI>XLKX2x$OlaUDN9F3_J1vQ~~NY?C!=A(d<{Z{kQR^U|`yq;MHIjrM+NJ>K34%-() z`(oI>6nH3DhMrCk zKQ~&8u-v3`4%5J$L-F7C0M8wF{F$({Iu`;*=XE+~Ft*Klb%OeSF}3685qd$g6|c|8 z8giKdPFJN?WB^kfy8yVyDYzmtOUklZ&XN~^mCGzqyg0rR^Xa^&V>eGYPxUIY?8?88s2{pc9Fo#*e4JVg!`=Y%X|*)a{v_Ef$jPF?7f!R`;GYI zSt4MH?O_A!l1t^;i}KkD7eaVb|2ySAjbwZYqW;^55IATyj`oc0{_At>+#1{eiS|?wqdn~ zFY?3^;bP1V0_HvPT?t_maZPO+Nm1e+?Qqad-Yq_t!)-#3Xt&A#r^H1~!NoC-sdz(U zyKJ~_@i{Qu)MG~Jq$tx9-tD{4S$){1HT6+rs&c%k5mx#8HNt&b`!>0d_{7xTJzy%Q zvDvmZ_Xr8YJ;S`rqo+c6_OI5-whXcwie)Nt$2!A1lu}nToIPNwpVgs4unU%FF9?ytdq&k%r3!5UK~h)~vg~=!oDSmrp*5TM zMQC|9#Q&;IeNFk4>hu&XoWJ_k^}CGq1);E{Ij-)1459{k={hZFe4fH-tCWJfUcE+4 z-0%E04Brgl3lG4hV`X=&7k9vUL~YZ#zZJs64Qljp*aEBa7>ZYX2>vN~oPUJ%a%>S3 zCM|hS#1&h#D(udOIo$mI(`!|4cc8Io^_+U|rk);P~7Ut^>{vHo=`uwWp`f6A_ z_SI0QlBJ`M>c^?1KL674v9n9(md>4N9R4+pJ^Pt8@$6^EPAr{USPo0)j#J&zxjLE2 zq`)x(OXn6BzDnXLVvW}t%ZinVLc@;cw1>OrS_(E=q?{GK_y~>L2D`1CZ(Gi{l{62@=GBWUd{E-6lpt_h zAhONRo&EeGXr5^tg~ly#J+pkg@s%8F{MK0wmc_pUts7(Yk}g9~57!7BojH4!?|G%! z*dG3XnjnHQ)=zx4@w!6v=ADx#KGXQ#e4yjRzISptq_n`m2L_%t7~Kc_Ykcn%Re#ST z>fbxozjqcx3EPuj%{A1ifsVZc1@CFV&Mw_sx+h}XGh*C35$5KpO#QyMa7Oh0G9UFo z@0QLlT_Snu5h`)&~I%_DVB5U&}=1(sl*T_>)X_~B! zaf~o=4u7KAa`+SVxAE+g#+pr=XP=w~qsE$X#?{8NKZfpgDmf{Ua0Dlw(Of$GNdwAz zp2$P>`sw8wME={x)q36jFQ06Dr5yjQv!FiT_==|RzZQLj)$tIB(FiyQXx%to7jP~J z%iRXUQ1n8h_#q_vP-#~UcR_?ZjHFsMz%}Q3NsGfDSf(`s>aR@<>Vrw0cbPJCu_s24 zV4puQVjTWJ!=v$QJp0L+VC--ntXoUx0h|<}u8PlXNUoZYxmS;K!lH-4sP%(|6HCwj z^d&LtRRWTKpmLR#i22z5sRm7D9J09d?8nv_+BQ^6EanQJ}{xH`~x>*kmvH<(e9}n|$ z^QTXQV|<<#PyAEB?4N=9bi(XzDQ2;*MS2*Uzc<} zvveuKFV!s>GP}?v*;_d;)-~w``7{P1kXU$ET)Qhms1*&h6b-x1MSR*@%HoUgUIo-?jKw#W0z=eo?ei)hh9IS>|bEIIv#&WG36&^6&EfZ5{E4RS<*&jvf)zyWM zVg$lKs*m*f?2qj86GPS}Ze!7g;XK0WoY%(XKQc1fCuJEmB);%I{0PBdBD_us zReE$WiN<;sjrAne>ehLxJ})V7(k53TE{wGZam5PEDM3%?6;v^3ig-W#V|6K9s*lt^+w(p*B;Q=ohl)fyM*d=!k6ZZ~c->ckp^fXwULyZr&G0>`#h)1ux}Hx2Mmqf2tD(+VEU-%IgAqj*y%MTbi>ZHM zWAf}5#=5^SCj5o!T;${EPc(4}6M8An*hQ&INf;_)=dqdkVRrS!9l zCl!Us(KG4SPgL1oAZIKKaa4rEzaZaOGIDIffZ*KxSsNMn^e7NAjy(zzp<`9^!&jE; z(E8aAZ3;{B3GJUd+CQhNrAxx>*$2BD{~?O#{F3Qbi2&-L&2OiNn0lU71-0=jXW;~JJX*Bb^S9!nvuBS7da}qm zM)Q)8FcC8Wb@A|T4aLL1HHLSnR6{CPqW&MRt1LA7T3uxSTI1O-UXiqrG>GeK5&+9g ztH#kXliX;wOqlUM`r5hW6N@IfuG%M?og~LTLX<6pcM#QVcn*JNJDw;*Kc8y-5j|Nt zdVBuFDUtc;Yrq>n{?ysVGY`glbjOZsT&<5hipMjxNm$LI9%8~UKW51m3E zSaUJ*p?7qFRBQM{XvLg8Ge?iU6!<50IT}duJkJLUqvBl~>GQ}7?Z)^#gNEoK|Ad)> z^1->%4ShvmH8Lv#a3HowAb{gy!AcTCC<2IDGKpQ;L&0XYeNqIz7cz~bU40y|9bP(T z%%QFUh0!F$4y@F{8R|p@IG`^7$Ihr6b!mTeASt4Jb^9=8?Jk}B%<>8LK}X%3Vu2H% zsau0c1Ln7gao{uVSwriBRxt}{EwGS*wOm+CtAYh2|8qLpT8=PB2rKR(MSR|31bCBgHaGJc4gE)i9Q|vJ`1ft7zwhJzeH-BKYZM1@E)6hUGzK>526fpE zd;$_iCCXt%<{E>>5yW0PCt^`UjCtQJA?q50q<##N(!r1|9ii&L*`GKvpBOTqEc_kw zQ!@5za0)_1qV#L8FMkdqnM^Y^#AKkFj)CHfE&ie;6p1D?$)b9e_7`Bsa|<=r%vueJ z#Wt08=1$d)HJ<&{RtVRh&n=#;EkLstRi3UL_pSBOpEO#HaV?3YWN@iTL#Q{thiqzK?xKeHIXG2A%=7oz_ZMGXJ_8F? z|D36vt^yXq+{-VYs@0Y*A;%dOYC^e>%R-oc`Q?|-)|L`MroNTc$aX?(vvlrDwO902 z{Pn#>iYwRorAuqI*B4_|N{PC5!b>0wI?AZIZmFI<<*>3E@n68VSOxyurDy*=1A>xO z193PrU=xH8Dz3lBp%RK`?W9*=2rJJy@+1Y2VyoF^^dMM#n!`n6OrR%T?>Gm&;ysRZERQH*1l{{93 zS>x*UrCL2oELKC~F&K_ff(NwweC_qxtDr>)jGp~HyV1t8|DzfMd*N@N(vg>*{TT?= z>>ESra(Fd-u2xq%RtI`dw`1BB*wd?}`ga$$XJX z&e8%m-d?O7$Bv@ZdSmTnFqW4{Ay&dyY9~B{wRjke z*eVc5*b|SdfG>k|p(c8p`9fd-O0@Zg@quZ=XT9e8in{Se{WG;ij2zCasVp<_m~~9^ z9IK(#b>8u8H6WWh9oa+Smtmb4WmxJ=j7$3a64M^SS{Ozn%O!CbVne~je^h(b8}U!) zvod7q+&i^@RGKZGMtk`moC1f%|J02|jQow)$cf$J?^s2c8%yVYyLPs5_!%0tzvT(Y z+VLS-58?L4A;S!B!B;V)_I|VWvbcc^nj4Nxtmo8RIKFm$_2JDBFmIebeHH<7T7q$r zD0zu4o`Bf=`C`#k1dZwv&PrkTY%`HbTZ2?4h$y6ykf1&PvZ!s1^ToIvuPahttexa5 z{y7dOC0q6w89G;gHM~-*xiI`CldsiieXe$@h(BYCYRr57bG4Tum`M*iI~1}Vo1bU< zw*Zb3bT%1(b5g>IK8uU=ck%NGO7L=kAr`SaAx2tU{8FufaY3CD_N9NZ41JfJvMP{0 zj8m-3d-&zrQXIe7h>}GYi!Lty^V)Bv1dR=FtZ5no8*r=2D^${=60AekB-JniBEoA3 z74kL?zrS>z?^Gi}#ptJyhhW6gUrUgw=(CZ$;uHNf%;Jn$d{tvup2|N!Z-c_Jj;_?c zoP-HXM(M`knt%O?F^Vda^sz6LlAotgmpb`-^x%~^9~G0hMHK0L$`*NMzJxOJd_i*< zL#Tf>4xcgm>kZ8hgwDmNn!SYCZ~vTF}@Waj+(AkHYELE)YQ%AkB|X zs(rB*lLE5>6=H{|*I%x&@8nxqYPGaFh0oMfGBzPDQB=Bx88Yh3+1hEc9Dbsj&~Vg0 z7Cv?+{FANYGpe_UIuP{Ks!%@s1QAfHy_A+*>squ@oWyF+-Q_*bpbZ183_d^@BhFZ~LHcu^bt?lsByi*K&-JB0=W30V!=ObbrJgUuPc=1XyHxvfDxbbpu+%~U zR>&l4aqV-~lRQtDr<#X0pY2kiub#~I0AK1;<{xQ)FSLHfJO&kU1%jQB$&bT7XP;o(|NjhOW^yO?!Eq87 zQ^X?)?J4X}!}+B@r)t(iL7x4~+Bz7rMby59s`+Sqz5>BsAnN2%VL*RG$=qZjP5~~3 z4nIO(x@0u*=;N+&P+LFJ|Hb+jqz8N?pw5kvkwP+XuNqmeo+6p_*>cMIbkZE9?szWCh`LqEyj-#@)BuQLp=Y612 zpp|*J)&bW1fqizFa>DkYj&S#FHQR>2(B9!M_3>Bwz^2Wzrc(TD*4y0n1~0ofk2Aui^ZqdnxjN81~rT+r_Y`}i{QtI0G{JGEFy`G zOYKywBn_8y-$47hqaO-Lwe<$Xvp;dYGh~!_x^~i5W;MUa>2M99jxt4F33uY`ufJCN zf>*AV_(NXwT21_@>NS>uN-O|4Q#%FxkCX7lT#GC(18fb8y|8g(tx@%omuI!7TA+Rl zF3yG8r3)AJ7tgr4@LKb&OIO~$eEG`j7cYPP((6~YT5rGpjn>8H>uLP?+=>; zo)gZVqdZ96e=;(p@BCdIeHgnd|Nj;L*UlabYZzkhZ>(+H{NKL(-~DX$e^~qX|Mc)z zpZgF0&F`zgwcq~m5zl??e%QCy7582rJ??$T<*DAsA9g#u=*82+qYo335w)o}UgjU( z=eHiYnUvF}I&@*sdKALngHQT%`W)fq6r1=~TK>aZ62rA__l{np+#7B2i{0%DEgbjt z=T~0|%kNm|#m5T@{QsWc_|M!wv7@ zwYkaX^>Clidbk_jCBDw*4Z`~K?-u^|{|6HzA^q1M|NdQ%=u|68stDj~jsJ7hDsRXe z_*Tl#cO4%|d6DYRYgS6$g7R|2Yo71qe`*=RPZo53GzU&&^F)+?<#bJdhoGCI*Xi#S z{3)RU{rx;}c_!}h*FDAYnGAP;a18=H!O)zck3Q}On<5vanJ!=FL*%Qj+PCp3$Kfi{Hq-B_1AXN7m7sbU({|1UHw@P8+~ zLL2vJLp&kpY~DJ{HHQlAm!to4!k4Du4UI*${N#vCj>p?pCi&>^!L3~=w#-baj^t!H zwfExB3ktlTzzYhzpuh_Xyr94f3cR4e3ktlTz&`*AoH-Wc8n^sA{{Z^>qKhvm@PYy_ jDDZ*;FDUSW0xu}=f&won@PYy_DDZ*;FDUR2lmh=R!-sE7 literal 208896 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 literal 36864 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 C5`I_! delta 3493 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 F^FKq>m}39{ diff --git a/libraries/ModifiedBulletX/ModifiedBulletX/Collision/CollisionShapes/HeightfieldTerrainShape.cs b/libraries/ModifiedBulletX/ModifiedBulletX/Collision/CollisionShapes/HeightfieldTerrainShape.cs new file mode 100644 index 0000000000..0f30f1f2e8 --- /dev/null +++ b/libraries/ModifiedBulletX/ModifiedBulletX/Collision/CollisionShapes/HeightfieldTerrainShape.cs @@ -0,0 +1,360 @@ +/* + * WARNING!: this class is not in the original BulletX + * By the way it's based on the Bullet btHeightfieldTerrainShape: + * http://www.continuousphysics.com/Bullet/BulletFull/classbtHeightfieldTerrainShape.html + ***************************************************************************************** + * 3RD PARTY LICENSE. The next it's the original 3rd party lincense of Bullet: + * ---------------------------------------------------------------------------- +Bullet Continuous Collision Detection and Physics Library +Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/ + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + * ------------------------------------------------------------------------------ +*/ +using System; +using System.Collections.Generic; +using System.Text; +using MonoXnaCompactMaths; + +namespace XnaDevRu.BulletX +{ + public class HeightfieldTerrainShape : ConcaveShape + { + private Vector3 _localAabbMin; + private Vector3 _localAabbMax; + private Vector3 _localScaling = new Vector3(1f,1f,1f); + private int _width; + private int _length; + private float[] _heightfieldData; + private float _maxHeight; + private int _upAxis; + private bool _useFloatData; + private bool _flipQuadEdges; + private bool _useDiamondSubdivision = false; + private float _defaultCollisionMargin = 0.6f; + + public HeightfieldTerrainShape(int width, int length, float[] heightfieldData, float maxHeight, + int upAxis, bool useFloatData, bool flipQuadEdges) + { + _width = width; + _length = length; + _heightfieldData = heightfieldData; + _maxHeight = maxHeight; + _upAxis = upAxis; + _useFloatData = useFloatData; + _flipQuadEdges = flipQuadEdges; + this.Margin = _defaultCollisionMargin; + + float quantizationMargin = 1f; + + //enlarge the AABB to avoid division by zero when initializing the quantization value + Vector3 clampValue = new Vector3(quantizationMargin, quantizationMargin, quantizationMargin); + Vector3 halfExtents = new Vector3(0, 0, 0); + + switch (_upAxis) + { + case 0: + halfExtents.X = _maxHeight; + halfExtents.Y = _width; + halfExtents.Z = _length; + break; + case 1: + halfExtents.X = _width; + halfExtents.Y = _maxHeight; + halfExtents.Z = _length; + break; + case 2: + halfExtents.X = _width; + halfExtents.Y = _length; + halfExtents.Z = _maxHeight; + break; + default: + //need to get valid _upAxis + //btAssert(0); + throw new Exception("HeightfieldTerrainShape: need to get valid _upAxis"); + } + + halfExtents *= 0.5f; + + _localAabbMin = -halfExtents - clampValue; + _localAabbMax = halfExtents + clampValue; + //Vector3 aabbSize = new Vector3(); + //aabbSize = m_localAabbMax - m_localAabbMin; + + } + + protected Vector3 LocalAabbMin + { get { return _localAabbMin; } set { _localAabbMin = value; } } + protected Vector3 LocalAabbMax + { get { return _localAabbMax; } set { _localAabbMax = value; } } + public override string Name + { + get + { + return "HeightfieldTerrain"; + } + } + public override Vector3 LocalScaling + { + get + { + return _localScaling; + } + set + { + _localScaling = value; + } + } + public override float Margin + { + get + { + return base.Margin; + } + set + { + base.Margin = value; + } + } + public override BroadphaseNativeTypes ShapeType + { + get { return BroadphaseNativeTypes.Terrain; } + } + public Vector3 HalfExtents + { + get + { + Vector3 halfExtents = new Vector3(); + switch (_upAxis) + { + case 0: + halfExtents.X = 2f;//_maxHeight; + halfExtents.Y = _width; + halfExtents.Z = _length; + break; + case 1: + halfExtents.X = _width; + halfExtents.Y = 2f;// _maxHeight; + halfExtents.Z = _length; + break; + case 2: + halfExtents.X = _width; + halfExtents.Y = _length; + halfExtents.Z = 2f;// _maxHeight; + break; + default: + //need to get valid m_upAxis + //btAssert(0); + throw new Exception("HeightfieldTerrainShape: need to get valid _upAxis"); + //break; + } + halfExtents *= 0.5f; + return halfExtents; + } + } + + public override void ProcessAllTriangles(ITriangleCallback callback, Vector3 aabbMin, Vector3 aabbMax) + { + //(void)callback; + //(void)aabbMax; + //(void)aabbMin; + + //quantize the aabbMin and aabbMax, and adjust the start/end ranges + + int[] quantizedAabbMin = new int[3]; + int[] quantizedAabbMax = new int[3]; + + Vector3 localAabbMin = aabbMin * new Vector3(1f/_localScaling.X,1f/_localScaling.Y,1f/_localScaling.Z ); + Vector3 localAabbMax = aabbMax * new Vector3(1f/_localScaling.X,1f/_localScaling.Y,1f/_localScaling.Z); + + quantizeWithClamp(ref quantizedAabbMin, localAabbMin); + quantizeWithClamp(ref quantizedAabbMax, localAabbMax); + + + + int startX=0; + int endX=_width-1; + int startJ=0; + int endJ=_length-1; + + switch(_upAxis) + { + case 0: + quantizedAabbMin[1]+=_width/2-1; + quantizedAabbMax[1]+=_width/2+1; + quantizedAabbMin[2]+=_length/2-1; + quantizedAabbMax[2]+=_length/2+1; + + if (quantizedAabbMin[1]>startX) + startX = quantizedAabbMin[1]; + if (quantizedAabbMax[1]startJ) + startJ = quantizedAabbMin[2]; + if (quantizedAabbMax[2]startX) + startX = quantizedAabbMin[0]; + if (quantizedAabbMax[0]startJ) + startJ = quantizedAabbMin[2]; + if (quantizedAabbMax[2]startX) + startX = quantizedAabbMin[0]; + if (quantizedAabbMax[0]startJ) + startJ = quantizedAabbMin[1]; + if (quantizedAabbMax[1] 0))) + { + //first triangle + getVertex(x,j,ref vertices[0]); + getVertex(x+1,j,ref vertices[1]); + getVertex(x+1,j+1,ref vertices[2]); + //callback->processTriangle(vertices,x,j); + callback.ProcessTriangle(vertices,x,j); + + //second triangle + getVertex(x,j,ref vertices[0]); + getVertex(x+1,j+1,ref vertices[1]); + getVertex(x,j+1,ref vertices[2]); + //callback->processTriangle(vertices,x,j); + callback.ProcessTriangle(vertices, x, j); + } + else + { + //first triangle + getVertex(x,j,ref vertices[0]); + getVertex(x,j+1,ref vertices[1]); + getVertex(x+1,j,ref vertices[2]); + //callback->processTriangle(vertices,x,j); + callback.ProcessTriangle(vertices,x,j); + + //second triangle + getVertex(x+1,j,ref vertices[0]); + getVertex(x,j+1,ref vertices[1]); + getVertex(x+1,j+1,ref vertices[2]); + //callback->processTriangle(vertices,x,j); + callback.ProcessTriangle(vertices,x,j); + } + } + } + } + public override void GetAabb(Matrix t, out Vector3 aabbMin, out Vector3 aabbMax) + { + //aabbMin = new Vector3(-1e30f, -1e30f, -1e30f); + //aabbMax = new Vector3(1e30f, 1e30f, 1e30f); + + Vector3 halfExtents = (_localAabbMax - _localAabbMin) * _localScaling * 0.5f; + + Vector3 center = t.Translation; + Vector3 extent = new Vector3(Math.Abs(halfExtents.X), Math.Abs(halfExtents.Y), Math.Abs(halfExtents.Z)); + extent += new Vector3(Margin, Margin, Margin); + + aabbMin = center - extent; + aabbMax = center + extent; + } + public override void CalculateLocalInertia(float mass, out Vector3 inertia) + { + //moving concave objects not supported + inertia = new Vector3(); + } + public float getHeightFieldValue(int x,int y) + { + float val = 0f; + if (_useFloatData) + { + val = _heightfieldData[(y * _width) + x]; + } + else + { + //assume unsigned short int + int heightFieldValue = (int)_heightfieldData[(y * _width) + x]; + val = heightFieldValue * _maxHeight/65535f; + } + return val; + } + public void getVertex(int x,int y,ref Vector3 vertex) + { + if (x < 0) x = 0; + if (y < 0) y = 0; + if (x >= _width) x = _width - 1; + if (y >= _length) y = _length - 1; + float height = getHeightFieldValue(x,y); + switch(_upAxis) + { + case 0: + vertex.X = height; + vertex.Y = (- _width/2 ) + x; + vertex.Z = (- _length/2 ) + y; + break; + case 1: + vertex.X = (- _width/2 ) + x; + vertex.Y = height; + vertex.Z = (- _length/2 ) + y; + break; + case 2: + vertex.X = (- _width/2 ) + x; + vertex.Y = (- _length/2 ) + y; + vertex.Z = height; + break; + default: + //need to get valid m_upAxis + throw new Exception("HeightfieldTerrainShape: need to get valid _upAxis"); + //break; + } + vertex *= _localScaling; + } + public void quantizeWithClamp(ref int[] _out,Vector3 point) + { + Vector3 clampedPoint = point; + MathHelper.SetMax(ref clampedPoint,_localAabbMin); + MathHelper.SetMin(ref clampedPoint, _localAabbMax); + Vector3 v = clampedPoint; + + _out[0] = (int)(v.X); + _out[1] = (int)(v.Y); + _out[2] = (int)(v.Z); + //correct for + } + } +} diff --git a/libraries/ModifiedBulletX/ModifiedBulletX/Modified.XnaDevRu.BulletX.csproj b/libraries/ModifiedBulletX/ModifiedBulletX/Modified.XnaDevRu.BulletX.csproj index 06b98bce58..3aead7015f 100644 --- a/libraries/ModifiedBulletX/ModifiedBulletX/Modified.XnaDevRu.BulletX.csproj +++ b/libraries/ModifiedBulletX/ModifiedBulletX/Modified.XnaDevRu.BulletX.csproj @@ -78,6 +78,7 @@ + diff --git a/libraries/ModifiedBulletX/MonoXnaCompactMaths/Matrix.cs b/libraries/ModifiedBulletX/MonoXnaCompactMaths/Matrix.cs index 22842ca4ee..9b88ab3a04 100644 --- a/libraries/ModifiedBulletX/MonoXnaCompactMaths/Matrix.cs +++ b/libraries/ModifiedBulletX/MonoXnaCompactMaths/Matrix.cs @@ -573,7 +573,11 @@ namespace MonoXnaCompactMaths public static Matrix operator /(Matrix matrix1, float divider) { - throw new NotImplementedException(); + return new Matrix( + matrix1.M11 / divider, matrix1.M12 / divider, matrix1.M13 / divider, matrix1.M14 / divider, + matrix1.M21 / divider, matrix1.M22 / divider, matrix1.M23 / divider, matrix1.M24 / divider, + matrix1.M31 / divider, matrix1.M32 / divider, matrix1.M33 / divider, matrix1.M34 / divider, + matrix1.M41 / divider, matrix1.M42 / divider, matrix1.M43 / divider, matrix1.M44 / divider); } @@ -658,7 +662,10 @@ namespace MonoXnaCompactMaths public override string ToString() { - throw new NotImplementedException(); + return "[(" + this.M11 + ", " + this.M12 + ", " + this.M13 + ", " + this.M14 + ")\n (" + + this.M21 + ", " + this.M22 + ", " + this.M23 + ", " + this.M24 + ")\n (" + + this.M31 + ", " + this.M32 + ", " + this.M33 + ", " + this.M34 + ")\n (" + + this.M41 + ", " + this.M42 + ", " + this.M43 + ", " + this.M44 + ")]"; } diff --git a/libraries/ModifiedBulletX/MonoXnaCompactMaths/Quaternion.cs b/libraries/ModifiedBulletX/MonoXnaCompactMaths/Quaternion.cs index b4f187321d..b6d9d343cd 100644 --- a/libraries/ModifiedBulletX/MonoXnaCompactMaths/Quaternion.cs +++ b/libraries/ModifiedBulletX/MonoXnaCompactMaths/Quaternion.cs @@ -90,7 +90,91 @@ namespace MonoXnaCompactMaths public static Quaternion CreateFromRotationMatrix(Matrix matrix) { - throw new NotImplementedException(); + float Omega2 = matrix.M44; + if (!isAprox(Omega2, 1f)) + { + //"Normalize" the Rotation matrix. Norma = M44 = Omega2 + matrix = matrix / Omega2; + } + //Deducted from: public static Matrix CreateFromQuaternion(Quaternion quaternion) + float lambda1pos, lambda2pos, lambda3pos, lambda1neg, lambda2neg, lambda3neg; + lambda1pos = (1f - matrix.M11 + matrix.M23 + matrix.M32) / 2f; + lambda2pos = (1f - matrix.M22 + matrix.M13 + matrix.M31) / 2f; + lambda3pos = (1f - matrix.M33 + matrix.M12 + matrix.M21) / 2f; + lambda1neg = (1f - matrix.M11 - matrix.M23 - matrix.M32) / 2f; + lambda2neg = (1f - matrix.M22 - matrix.M13 - matrix.M31) / 2f; + lambda3neg = (1f - matrix.M33 - matrix.M12 - matrix.M21) / 2f; + + //lambadIS = (qJ + s*qK)^2 + //q0 = w | q1 = x | q2 = y, q3 = z + //Every value of qI (I=1,2,3) has 4 possible values cause the sqrt + float[] x = new float[4]; float[] y = new float[4]; float[] z = new float[4]; + float[] sig1 = {1f, 1f, -1f, -1f}; + float[] sig2 = {1f, -1f, 1f, -1f}; + for (int i = 0; i < 4; i++) + { + x[i] = (sig1[i] * (float)Math.Sqrt(lambda1pos) + sig2[i] * (float)Math.Sqrt(lambda1neg)) / 2f; + y[i] = (sig1[i] * (float)Math.Sqrt(lambda2pos) + sig2[i] * (float)Math.Sqrt(lambda2neg)) / 2f; + z[i] = (sig1[i] * (float)Math.Sqrt(lambda3pos) + sig2[i] * (float)Math.Sqrt(lambda3neg)) / 2f; + } + + //Only a set of x, y, z are the corrects values. So it requires testing + int li_i=0, li_j=0, li_k=0; + bool lb_testL1P, lb_testL2P, lb_testL3P, lb_testL1N, lb_testL2N, lb_testL3N; + bool lb_superLambda = false; + while((li_i<4)&&(!lb_superLambda)) + { + while ((li_j < 4) && (!lb_superLambda)) + { + while ((li_k < 4) && (!lb_superLambda)) + { + lb_testL1P = isAprox((float)( + Math.Pow((double)(y[li_j] + z[li_k]), 2.0)), lambda1pos); + lb_testL2P = isAprox((float)( + Math.Pow((double)(x[li_i] + z[li_k]), 2.0)), lambda2pos); + lb_testL3P = isAprox((float)( + Math.Pow((double)(x[li_i] + y[li_j]), 2.0)), lambda3pos); + lb_testL1N = isAprox((float)( + Math.Pow((double)(y[li_j] - z[li_k]), 2.0)), lambda1neg); + lb_testL2N = isAprox((float)( + Math.Pow((double)(x[li_i] - z[li_k]), 2.0)), lambda2neg); + lb_testL3N = isAprox((float)( + Math.Pow((double)(x[li_i] - y[li_j]), 2.0)), lambda3neg); + + lb_superLambda = (lb_testL1P && lb_testL2P && lb_testL3P + && lb_testL1N && lb_testL2N && lb_testL3N); + + if (!lb_superLambda) li_k++; + } + if (!lb_superLambda) li_j++; + } + if (!lb_superLambda) li_i++; + } + + Quaternion q = new Quaternion(); + + if (lb_superLambda) + { + q.X = x[li_i]; q.Y = y[li_j]; q.Z = z[li_k]; + q.W = (matrix.M12 - 2f * q.X * q.Y) / (2f * q.Z); + + if (!isAprox(Omega2, 1f)) + { + if (Omega2 < 0) throw new Exception("Quaternion.CreateFromRotationMatrix: Omega2 is negative!"); + q = q * (float)Math.Sqrt(Omega2);//2 possibles values (+/-). For now only 1. + } + } + else + { + q = Quaternion.identity; + } + + return q; + } + private static float floatError = 0.000001f; + private static bool isAprox(float test, float realValue) + { + return (((realValue * (1f - floatError)) <= test) && (test <= (realValue * (1f + floatError)))); } @@ -317,7 +401,8 @@ namespace MonoXnaCompactMaths public static Quaternion operator *(Quaternion quaternion1, float scaleFactor) { - throw new NotImplementedException(); + return new Quaternion(quaternion1.X / scaleFactor, quaternion1.Y / scaleFactor, + quaternion1.Z / scaleFactor, quaternion1.W / scaleFactor); } @@ -335,7 +420,7 @@ namespace MonoXnaCompactMaths public override string ToString() { - throw new NotImplementedException(); + return "(" + this.X + ", " + this.Y + ", " + this.Z + ", " + this.W + ")"; } private static void Conjugate(ref Quaternion quaternion, out Quaternion result)